首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >savefig返回空白图像

savefig返回空白图像
EN

Stack Overflow用户
提问于 2020-05-27 09:09:46
回答 1查看 873关注 0票数 0

我正在尝试使用pandas绘图函数绘制pandas数据帧(result_m),但是当我尝试使用savefig保存图形时,它返回一个空白的pdf。它在notebook窗口中打印正常。不知道我做错了什么

代码语言:javascript
复制
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'))
EN

回答 1

Stack Overflow用户

发布于 2020-05-27 10:31:09

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

代码语言:javascript
复制
ax = result_m.plot( kind='line',  figsize=(20, 10),fontsize=15)

因为您没有提供轴(ax)参数,所以pandas会创建一个新的图形。请参阅plotting to specific subplots上的熊猫文档。

您可以通过跳过图形创建步骤,然后从axis对象获取pandas创建的图形来修复此问题:

代码语言:javascript
复制
ax = result_m.plot( kind='line',  figsize=(20, 10),fontsize=15)
fig = ax.figure

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

代码语言:javascript
复制
fig = plt.figure(size=(20, 10))
ax = fig.add_subplot(111)
ax = result_m.plot( kind='line',  fontsize=15, ax=ax)

请注意,在此选项中,在创建图形时定义图形的size属性,而不是将figsize传递给DataFrame.plot

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62033877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档