Python 来自df.hist()的覆盖图

Python 来自df.hist()的覆盖图,python,pandas,matplotlib,Python,Pandas,Matplotlib,我正在尝试使用以下方法覆盖数据帧中的绘图: data[target==0].hist(color='b') data[target==1].hist(color='r') plt.show() dataframe每个列有15个列,它生成30个绘图,而不是15个,每个列有2个绘图 我怎样才能让它在第一套15件的基础上过度地抽签第二套15件呢 我可以通过循环和使用子绘图来完成,但我希望有一个更简单的解决方案。您需要将正确数量的轴对象传递给pandasplot(),否则,它将被迫创建一个新图形以适应

我正在尝试使用以下方法覆盖数据帧中的绘图:

data[target==0].hist(color='b')
data[target==1].hist(color='r')
plt.show()
dataframe每个列有15个列,它生成30个绘图,而不是15个,每个列有2个绘图

我怎样才能让它在第一套15件的基础上过度地抽签第二套15件呢


我可以通过循环和使用子绘图来完成,但我希望有一个更简单的解决方案。

您需要将正确数量的轴对象传递给pandas
plot()
,否则,它将被迫创建一个新图形以适应您请求的绘图

如果要自己指定轴的几何图形,请执行以下操作:

df1 = pd.DataFrame(np.random.normal(loc=0, size=(100,20)))
df2 = pd.DataFrame(np.random.normal(loc=1, size=(100,20)))

fig, axs = plt.subplots(4,5)
df1.hist(ax=axs)
df2.hist(ax=axs)

否则,如果您希望自己创建初始子地块集,请执行以下操作:

df1.hist(color='b')
df2.hist(color='r', ax=plt.gcf().axes)

您的第二个选项给了我一个错误:
ValueError:传递的轴的数量必须是15,与输出图的数量相同
(我编辑了我的问题,我有15列)@user7867665:在第二种情况下尝试以下操作:
ax=df1.hist(color='b')
然后
df2.hist(color='r',ax=ax并查看它是否有效。我怀疑though@user7867665这可能是因为您的数据不同。不幸的是,我们没有你的数据。好的,第一种方法对我来说很简单。虽然第二个选项对我不起作用,但我还是同意它是正确的答案