前言: \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(绘图画布),未来的版本中可能会导致错误或者不可预测的行为。

解决方法一

  1. Settings中设置

在这里插入图片描述

  1. 找到Tools中的 Python Scientific ,取消中选的这个勾勾,最后点击ok即可。

在这里插入图片描述

这种方式的解决原理是将原本呈现在pycharm中的窗口(如下图),放到了最外面(如第二章图)。
在这里插入图片描述
最终呈现的结果如图,并且没有报错了。
在这里插入图片描述

解决方法二

(来源网络未尝试)

  1. 检查你的Matplotlib版本:确保你使用的是Matplotlib 3.6或更高版本。
  2. 更新你的代码:查找你的代码中使用的plt.show()语句,然后尝试修改为更现代的方法,以避免警告。
    • 如果你在交互式环境(如Jupyter Notebook)中使用Matplotlib,可以尝试使 用%matplotlib魔法命令来配置交互式绘图。
    • 如果你在脚本中使用Matplotlib,可以考虑使用plt.pause()或者将绘图保存到文件而不是显示在屏幕上。
    • 如果你确实需要使用plt.show()来显示绘图,并且你确定你的代码没有其他问题,你可以忽略这个警告。
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐