解决Matplotlib运行时报错:AttributeError: module ‘backend_interagg’ has no attribute ‘FigureCanvas’的问题

现象:Matplotlib 3.5以前的版本运行时,结果将显示在PyCharm工具窗口(tool window)中,能正确地运行。但是,Matplotlib 3.8在运行时,将出现以上错误。

        方案1(简单,但是每个代码文件中都要添加matplotlib.use(“TkAgg”)):在每个Matplotlib代码文件中添加:

Import matplotlib

matplotlib.usr(“TkAgg”)

        方案2(简单并且一次性解决所有Matplot代码运行的问题,但改变了输出方式): 打开Pycharm --> File --> settings  --> Tools --> Python Scientific界面 --> 将界面中“Show plots in tool window”复选项中的“√”去掉即可。每次运行的绘图结果将单独弹出一个绘图窗口。

        方案3(尝试了修改3处matplotlibrc文件的配置,三处分别为:当前工程的venv目录下、 Matplotlib3.5目录下、Anaconda的Matplotlib当前版3.8版路径下,问题还是没有解决):查找并修改配置文件matplotlibrc中的backend的设置,默认为注释状态即未启用本设置。去掉注释,启用设置为:backend:TkAgg。

        进一步发现:修改Anaconda下当前版本Matplotlib 3.8路径下的backend的配置是起作用的,启用backend设置为TkAgg时,本问题还是没有解决,但不影响方案2的运行。但是,当启用了backend设置为Agg时,不仅本问题没有解决,还导致方案2不能运行;当启用backend设置为QtAgg时,本问题还是没有解决,导致方案2运行时提示错误信息:当前Matplotlib 3.8要求Qt版本为更高的版本,需要更新Qt安装包的版本;这说明matplotlibrc配置文件还是有作用的,但是解决了本问题。

        方案4(预估成功可能性不大就没有尝试):网上还有说用如下方法的。将所报错处的py代码文件"C:\Anaconda3\lib\site-packages\matplotlib\pyplot.py"中的'FigureCanvas’全部改为'FigureCanvasAgg’(经搜索发现共10处)。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值