16 python numpy data-visualization matplotlib pandas
我正在使用Pandas和MatPlotLib构建一个小图形实用程序来解析数据并从工作中的机器输出图形.
当我使用输出图表
plt.show()
Run Code Online (Sandbox Code Playgroud)
我最终得到的图像不清晰,传说和标签彼此挤在一起.
但是,将窗口扩展为全屏可以解决我的问题,以允许图形可见的方式重新定位所有内容.
然后我将图形保存为类似的.png
plt.savefig('sampleFileName.png')
Run Code Online (Sandbox Code Playgroud)
但是当它保存到图像时,不会保存图表的全屏正确版本,而是保存错误的默认版本.
如何将绘图的全屏plt.show()保存为.png?
我希望我不会太困惑.
谢谢您的帮助!
gtl*_*ert 36
用于最大化窗口大小的方法取决于您使用的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')
Run Code Online (Sandbox Code Playgroud)
您可以使用该命令确定要使用的后端matplotlib.get_backend().保存图形的最大化版本时,它将根据需要保存更大的图像.
作为另一种选择,我认为也值得研究
plt.savefig('filename.png', bbox_inches='tight')
Run Code Online (Sandbox Code Playgroud)
如果您的subplots轴标签看起来很杂乱,这将特别有用。
小智 5
对于使用上述解决方案未能以全屏方式保存情节的每个人,以下是对我真正有用的内容:
figure = plt.gcf() # get current figure
figure.set_size_inches(32, 18) # set figure's size manually to your full screen (32x18)
plt.savefig('filename.png', bbox_inches='tight') # bbox_inches removes extra white spaces
Run Code Online (Sandbox Code Playgroud)
您可能还想使用 dpi(每英寸点数的分辨率)
plt.savefig('filename.png', bbox_inches='tight', dpi=100)
Run Code Online (Sandbox Code Playgroud)