前言: \textcolor{Green}{前言:} 前言:
💞这是由于在python中画图出现的问题,一般不会有错。因为它只是个警告,但是我们也可以知道解决这个问题的方法,防止后面出问题的时候知道怎么解决。
前因后果
- 问题:
- 原因
- 解决方法一
- 解决方法二
问题:
在使用Matplotlib
的show方法时,控制台出现以下警告信息:
MatplotlibDeprecationWarning: Support for FigureCanvases without a required_interactive_framework attribute was deprecated in Matplotlib 3.6 and will be removed two minor releases later.
fig = plt.figure(figsize=(10, 5))
MatplotlibDeprecationWarning: Support for FigureCanvases without a required_interactive_framework attribute was deprecated in Matplotlib 3.6 and will be removed two minor releases later.
plt.show()
MatplotlibDeprecationWarning: Support for FigureCanvases without a required_interactive_framework attribute was deprecated in Matplotlib 3.6 and will be removed two minor releases later.
原因
这是由于Matplotlib
在升级到3.6
版本后放弃了原来FigureCanvases(绘图画布)
的支持,之后也会删除这种应用,以后版本依然会出现这个错误。
意味着如果你的代码中使用了没有设置该属性的 FigureCanvases(绘图画布)
,未来的版本中可能会导致错误或者不可预测的行为。
解决方法一
Settings
中设置
- 找到
Tools
中的Python Scientific
,取消中选的这个勾勾,最后点击ok即可。
这种方式的解决原理是将原本呈现在pycharm中的窗口(如下图),放到了最外面(如第二章图)。
最终呈现的结果如图,并且没有报错了。
解决方法二
(来源网络未尝试)
- 检查你的Matplotlib版本:确保你使用的是Matplotlib 3.6或更高版本。
- 更新你的代码:查找你的代码中使用的plt.show()语句,然后尝试修改为更现代的方法,以避免警告。
- 如果你在交互式环境(如Jupyter Notebook)中使用Matplotlib,可以尝试使 用%matplotlib魔法命令来配置交互式绘图。
- 如果你在脚本中使用Matplotlib,可以考虑使用plt.pause()或者将绘图保存到文件而不是显示在屏幕上。
- 如果你确实需要使用plt.show()来显示绘图,并且你确定你的代码没有其他问题,你可以忽略这个警告。