如何以最大窗口形式而不是默认大小保存 matplotlib 图?

Sac*_*reD 5 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()
Run Code Online (Sandbox Code Playgroud)

编辑:也 尝试过这个,但我仍然能够以我喜欢的理想方式 plt.show() 图形,这是完整的窗口大小。但它仍然会自动以最小化默认形式保存我的所有图形。

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

下面是我从上面的命令 plt.show() 之后得到的, 我的图的完整 Windows 模式

我得到的 plt.savefig 结果: 在此处输入图片说明

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

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

在此处输入图片说明

编辑: 如何使 pylab.savefig() 为“最大化”窗口保存图像而不是默认大小- 这里的大部分答案是指以全窗口形式显示图形,但在自动保存最大窗口时(它仍然保存它在正常大小)......你可以看到问题的作者在所有答案的评论部分提出了这个问题,但没有得到回答。

Ome*_*erB 0

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

请参阅此处此处

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