0

我正在尝试使用 pandas 绘图功能绘制一个 pandas 数据框(result_m),但是当我尝试使用 savefig 保存图形时,它返回一个空白 pdf。它在笔记本窗口中绘制得很好。不知道我做错了什么

fig = plt.figure()

ax = result_m.plot( kind='line',  figsize=(20, 10),fontsize=15)
ax.set_title('Harkins Slough Diversions',fontsize= 20) 
ax.set_xlabel( "Date",fontsize=18)
ax.set_ylabel("cubic meters",fontsize=18)
plt.legend(fontsize=15)

fig.savefig(os.path.join(outPath4,'plot_fig.pdf'))
4

1 回答 1

0

问题是您创建的图不在您创建(并保存)的图形上。在第二行:

ax = result_m.plot( kind='line',  figsize=(20, 10),fontsize=15)

pandas 创建一个新图形,因为您没有提供轴 ( ax) 参数。请参阅有关绘制特定子图的 pandas 文档。

您可以通过跳过图形创建步骤,然后从轴对象获取熊猫创建的图形来解决此问题:

ax = result_m.plot( kind='line',  figsize=(20, 10),fontsize=15)
fig = ax.figure

或将绘图添加到您创建的图形中,首先创建一个子图:

fig = plt.figure(size=(20, 10))
ax = fig.add_subplot(111)
ax = result_m.plot( kind='line',  fontsize=15, ax=ax)

请注意,在此选项中,在size创建图窗时定义图窗的属性,而不是通过传递figsizeDataFrame.plot.

于 2020-05-27T02:31:09.097 回答