将pandas DataFrame图插入matplotlib子图

时间:2014-07-08 11:50:21

标签: python matplotlib pandas subplot

我创建了一个包含4个子图的图,每个子图将在某些次声数据上显示不同类型的分析。这是我用来创建子图的代码:

gs = gridspec.GridSpec(2, 2, width_ratios=[1,1], height_ratios=[1,1])

ax1 = plt.subplot(gs[0])
ax2 = plt.subplot(gs[1])
ax3 = plt.subplot(gs[2])
ax4 = plt.subplot(gs[3])

到目前为止,我已经能够将我想要的内容输入到子图中,但我希望能够将一个pandas DataFrame图输入到ax3中,而我似乎无法做到这一点。我已经编写了pandas程序,只是将它插入到更大的脚本中,因此它显示在子图中。

这是用于绘制pandas DataFrame图的代码行:

df.plot(subplots=True, sharey=True, ylim=(0,(y_max*1.5)))

1 个答案:

答案 0 :(得分:3)

使用pandas.Dataframe.plot绘图时,您可以使用关键字参数Axes选择要绘制到的ax对象,如下所示:

gs = gridspec.GridSpec(2, 2, width_ratios=[1,1], height_ratios=[1,1])

ax1 = plt.subplot(gs[0])
ax2 = plt.subplot(gs[1])
ax3 = plt.subplot(gs[2])
ax4 = plt.subplot(gs[3])

# ...some other code that defines df...

df.plot(ax=ax3)

这会将您的数据添加到ax3对象。请注意,这会将所有列绘制到该子图中,如果您需要一个特定列,则可以执行df['my_col_name'].plot(ax=ax3)