出于好奇,我想知道如何在下面的代码中做到这一点。我一直在寻找答案,但无济于事。
import numpy as np
import matplotlib.pyplot as plt
data=np.random.exponential(scale=180, size=10000)
print ('el valor medio de la distribucion exponencial es: ')
print np.average(data)
plt.hist(data,bins=len(data)**0.5,normed=True, cumulative=True, facecolor='red', label='datos tamano paqutes acumulativa', alpha=0.5)
plt.legend()
plt.xlabel('algo')
plt.ylabel('algo')
plt.grid()
plt.show()
发布于 2012-09-26 17:53:02
我通常用
mng = plt.get_current_fig_manager()
mng.frame.Maximize(True)
在调用plt.show()
之前,我会得到一个最大化的窗口。这只适用于'wx‘后端。
编辑:
有关Qt4Agg后端的信息,请参阅kwerenda的answer。
发布于 2014-03-15 09:12:13
我在Windows (WIN7)上运行Python2.7.5&Matplotlib1.3.1。
我使用以下几行代码最大化了TkAgg、QT4Agg和wxAgg的图形窗口:
from matplotlib import pyplot as plt
### for 'TkAgg' backend
plt.figure(1)
plt.switch_backend('TkAgg') #TkAgg (instead Qt4Agg)
print '#1 Backend:',plt.get_backend()
plt.plot([1,2,6,4])
mng = plt.get_current_fig_manager()
### works on Ubuntu??? >> did NOT working on windows
# mng.resize(*mng.window.maxsize())
mng.window.state('zoomed') #works fine on Windows!
plt.show() #close the figure to run the next section
### for 'wxAgg' backend
plt.figure(2)
plt.switch_backend('wxAgg')
print '#2 Backend:',plt.get_backend()
plt.plot([1,2,6,4])
mng = plt.get_current_fig_manager()
mng.frame.Maximize(True)
plt.show() #close the figure to run the next section
### for 'Qt4Agg' backend
plt.figure(3)
plt.switch_backend('QT4Agg') #default on my system
print '#3 Backend:',plt.get_backend()
plt.plot([1,2,6,4])
figManager = plt.get_current_fig_manager()
figManager.window.showMaximized()
plt.show()
如果你想最大化多个图形,你可以使用
for fig in figs:
mng = fig.canvas.manager
# ...
希望这个总结前面的答案(和一些补充)结合在一个实际的例子中(至少对于windows)会有所帮助。干杯
发布于 2013-09-16 17:39:04
对于Qt后端(FigureManagerQT),正确的命令是:
figManager = plt.get_current_fig_manager()
figManager.window.showMaximized()
https://stackoverflow.com/questions/12439588
复制相似问题