如何在max windows窗体中保存matplotlib图而不是默认大小?

时间:2017-08-24 16:45:52

标签: python matplotlib

任何人都知道我应该如何解决这个问题? 我知道有保存按钮,我可以手动完成,但我正在绘制100多个图形,所以我希望有一种方法可以自动完成它?

我正在使用' TkAgg'后端,我寻找任何可能的解决方案。通过在我的绘图功能结束时使用以下内容。

manager = plt.get_current_fig_manager() 
manager.resize(*manager.window.maxsize()) 
plt.savefig(r'C:\Users\310293649\Desktop\PlotFigure\TESTING.png')
plt.show()

编辑: 尝试了这一点,但我仍然能够以我想要的方式plt.show()这个数字,这是完整的窗口大小。但它仍会自动保存我的所有数字,以最小化默认形式。

wm = plt.get_current_fig_manager()
wm.window.state('zoomed')
plt.savefig(r'C:\Users\310293649\Desktop\PlotFigure\TESTING.png')
plt.show()

以下是我从上面的命令获取plt.show()后得到的, Full Windows Mode for my Figure

我得到的plt.savefig结果: enter image description here

正如您所看到的代码设法以最大窗口大小显示图,但它仍然自动保存默认大小的图所以我想知道它是否可行或是否有任何解决方案可以保存最大窗口尺寸自动的matplotlib图?或者我无法做到这一点?

下面的图片是当我使用matplotlib中的保存图形按钮手动完成时的图:

enter image description here

编辑: How to make pylab.savefig() save image for 'maximized' window instead of default size - 这里的大部分答案都是以完整的窗体形式显示图形,但是当它自动保存最大窗口时(它仍然保存在正常情况下)大小)...你可以看到问题的作者在所有答案的评论部分提出了问题,但没有得到答复。

1 个答案:

答案 0 :(得分:0)

显然,这是Matplotlib 2.0(1月和17日)中引入的错误。

请参阅herehere

似乎有一个相当简单的代码更改来修复此here,但您必须自己应用它,因为它尚未包含在任何已发布的版本中(它'计划用于 2.1.1 2.2)。