繁体   English   中英

Matplotlib:如何将图形保存为全屏图像,同时以常规尺寸在屏幕上显示?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM