【发布时间】:2017-07-02 02:23:13
【问题描述】:
我正在尝试使用 pandas 数据框的 plot 方法的便利性,同时调整生成的图形的大小。 (我将这些数字保存到文件中,并在 Jupyter 笔记本中内联显示它们)。我发现下面的方法大部分时间都是成功的,除非我在同一个图表上绘制两条线 - 然后图形回到默认大小。
我怀疑这可能是由于系列图和数据帧图之间的差异。
设置示例代码:
data = {
'A': 90 + np.random.randn(366),
'B': 85 + np.random.randn(366)
}
date_range = pd.date_range('2016-01-01', '2016-12-31')
index = pd.Index(date_range, name='Date')
df = pd.DataFrame(data=data, index=index)
控制 - 此代码产生预期结果(宽图):
fig = plt.figure(figsize=(10,4))
df['A'].plot()
plt.savefig("plot1.png")
plt.show()
结果:
绘制两条线 - 图形大小不是 (10,4)
fig = plt.figure(figsize=(10,4))
df[['A', 'B']].plot()
plt.savefig("plot2.png")
plt.show()
结果:
这样做的正确方法是什么,以便无论选择的系列数量如何,图形大小都是一致的?
【问题讨论】:
-
我想我现在找到了一个很好的解决方案:
df[['A', 'B']].plot(figsize=(10,4))但是,我仍然很好奇为什么上述方法会产生不一致的结果。 -
您需要创建坐标轴和图形,然后将坐标轴传递给
plot方法:fig, ax = plt.subplots(figsize=(10,4)); df[['A', 'B']].plot(ax=ax)
标签: python pandas matplotlib plot