[英]How to save a matplotlib.pypot figure as an image with required pixel size?
[英]Matplotlib: How to save a figure as a full screen image while displaying it onscreen as regular size?
我正在编写一个脚本来生成各种绘图并自动将它们保存为图像文件,同时还在屏幕上显示绘图。 我希望文件保存为全屏图像,而弹出图显示为“正常”大小。
我所做的几次尝试之一的示例(注意:当我从实际代码中删除详细信息时,我不确定我是否破坏了这个示例):
plt.figure("Example figure")
plt.plot([1, 2, 3, 4, 5], [5, 4, 3, 2, 1])
# Enlarge plot to full screen for saving....
mng = plt.get_current_fig_manager()
mng.window.showMaximized()
plt.savefig('example.png')
# Resize plot to default size for showing....
plt.figure("Example figure", figsize=[6.4, 4.8])
plt.show()
但是,这只会导致图形在保存的文件和显示的 plot 中都显示为全屏。 我如何将其恢复为正常的 window 以进行“表演”?
您用于最大化 window 大小的方法取决于您使用的 matplotlib 后端。 请参阅以下示例以了解 3 个最常见的后端:
import matplotlib.pyplot as plt
plt.figure()
plt.plot([1,2], [1,2])
# Option 1
# QT backend
manager = plt.get_current_fig_manager()
manager.window.showMaximized()
# Option 2
# TkAgg backend
manager = plt.get_current_fig_manager()
manager.resize(*manager.window.maxsize())
# Option 3
# WX backend
manager = plt.get_current_fig_manager()
manager.frame.Maximize(True)
plt.show()
plt.savefig('sampleFileName.png')
您可以使用命令matplotlib.get_backend()
确定您正在使用哪个后端。 当您保存图形的最大化版本时,它将根据需要保存更大的图像。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.