最大化窗口大小的方法取决于您使用的matplotlib后端。请参阅以下示例,了解三个最常见的后端:
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()
来确定正在使用哪个后端。当您保存最大化的版本时,它将保存所需的更大图像。
plt.show()
plt.tight_layout()
plt.savefig('sampleFileName.png')
,使绘图占用最大化窗口的更多空间。 - gtlambertplt.savefig('figname.png', bbox_inches='tight')
。 - kmario23对于那些使用上述解决方案未能在全屏模式下保存情节的人,这是我真正有效的方法:
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
您可能还想尝试调整 dpi(每英寸点数的分辨率)。
plt.savefig('filename.png', bbox_inches='tight', dpi=100)
作为另一个选择,我认为值得考虑。
plt.savefig('filename.png', bbox_inches='tight')
如果您正在进行具有看起来凌乱的轴标签的subplots
,则此功能特别有用。
#Show full screen
mng = plt.get_current_fig_manager()
mng.full_screen_toggle()
完整示例
fig = plt.figure()
fig.imshow(image)
...
plt.figure(fig.number)
mng = plt.get_current_fig_manager()
mng.full_screen_toggle()
fig.show()
fig.savefig('figure.png')
mng.full_screen_toggle()
# Maximise the plotting window
plot_backend = matplotlib.get_backend()
mng = plt.get_current_fig_manager()
if plot_backend == 'TkAgg':
mng.resize(*mng.window.maxsize())
elif plot_backend == 'wxAgg':
mng.frame.Maximize(True)
elif plot_backend == 'Qt4Agg':
mng.window.showMaximized()