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

2024-05-07

有人知道我应该如何解决这个问题吗? 我知道有一个保存按钮,我可以手动执行此操作,但我正在绘制 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()

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

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

Below is what I got after plt.show() from above command, Full Windows Mode for my Figure

plt.savefig result that I got: enter image description here

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

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

EDIT: 如何使 pylab.savefig() 保存“最大化”窗口的图像而不是默认大小 https://stackoverflow.com/questions/10041627/how-to-make-pylab-savefig-save-image-for-maximized-window-instead-of-default- 这里的大多数答案是指以完整窗口形式显示图形,但是当涉及到自动保存最大窗口时(它仍然以正常大小保存)......你可以看到问题的作者提出了问题在评论区全部有答案但没有得到解答。


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

See here https://github.com/matplotlib/matplotlib/issues/8805 and here https://github.com/matplotlib/matplotlib/issues/8736.

似乎有一个相当简单的代码更改可以解决这个问题here https://github.com/tacaswell/matplotlib/commit/28b37c15148791ac90d3a466867f8f594f065362,但您必须自己应用它,因为它尚未包含在任何已发布的版本中(计划用于 2.1.1 2.2)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐