与熊猫的子图

时间:2016-04-05 18:01:33

标签: python pandas

我想在熊猫中创建一个包含六个子图的图形,即3x3。我正在根据数据框中的列进行绘图。

我正在尝试这样的事情:

fig=plt.figure()
ax1=fig.add_subplot(3,3,1)
ax2=fig.add_subplot(3,3,2)
ax3=fig.add_subplot(3,3,3)
ax4=fig.add_subplot(3,3,4)
ax5=fig.add_subplot(3,3,5)
ax6=fig.add_subplot(3,3,6)

ax1=df.plot(x='bnw_Value', y='bnw_Percent', title='BNW', kind='bar')
ax1.set_xlabel('Value')
ax1.set_ylabel('Percent')
ax1.legend_.remove()
ax1.set_yticks([0,5,10,20,25])
ax2=df.plot(x='php_Value', y='php_Percent', title='PHP', kind='bar')
ax2.set_xlabel('Value')
ax2.set_ylabel('Percent')
ax2.legend_.remove()
ax2.set_yticks([0,5,10,20,25])

然后我为其他四个图表执行此操作,并使用不同的x和y值。

但这实际上并没有绘制到我的子图中,而是绘制到单个图上。我如何实际绘制到我在开始时创建的子图?

1 个答案:

答案 0 :(得分:3)

您需要告诉df.plot()您要使用哪个子图:

df.plot(x='bnw_Value', y='bnw_Percent', title='BNW', kind='bar', ax=ax1)
df.plot(x='php_Value', y='php_Percent', title='PHP', kind='bar', ax=ax2)

无需分配,因为您已经有了对返回的子图对象的引用。