文章目录
- 一、如何将matplotlib绘图窗口最大化
- 方法1(适用于matplotlib3.7版本)
- 方法2(适用于matplotlib3.8版本)
- 二、终极解决办法
- 总结
一、如何将matplotlib绘图窗口最大化
在使用python的matplotlib绘图时,想要最大化,有方法采用在
import matplotlib.pyplot as plt之后,在plt.show()之前插入如下代码:
方法1(适用于matplotlib3.7版本)
figmanager = plt.get_current_fig_manager()
figmanager.window.state('zoomed') #最大化
# figManager.resize(*figManager.window.maxsize()) #最大化
如果出现报错:AttributeError: ‘MainWindow’ object has no attribute ‘state’。就再试试下面的方法。
方法2(适用于matplotlib3.8版本)
figManager = plt.get_current_fig_manager()
figManager.window.showMaximized() #最大化
如果出现报错:AttributeError: ‘_tkinter.tkapp’ object has no attribute ‘showMaximized’,就换成方法1的代码。
二、终极解决办法
既然这么折腾,如果我们有多个环境,那我们可不可以在Python代码中加入对matplotlib版本号的识别。这样无论matplotlib3.7版本、3.8版本均可运行无误。
既然思路有,方法就很简单,具体代码如下:
import matplotlibimport matplotlib.pyplot as pltfig = plt.figure(figsize=(16, 8))if matplotlib.__version__ < '3.8':figmanager = plt.get_current_fig_manager()figmanager.window.state('zoomed') # 窗口最大化else:figManager = plt.get_current_fig_manager()figManager.window.showMaximized() # 窗口最大化
经测试,无论哪个环境下,均运行OK。
总结
Python在更新,Python的各种库也在更新,有时候碰到之前的调用方法用不了了,是常有的事儿。这个比较头痛。
以后,大家在发现问题后,也要多留一个心,同样的代码运行不了,很可能就是环境不一样了。关键的几个大库,版本一定要匹配。对于版本不一致的问题,如果可以判断版本号,均可以在代码中设置判断语句,以保证代码运行在哪个环境都不报错。
如果对你有帮助,就留个赞吧!