您现在的位置是:首页 > 技术教程 正文

AttributeError: module ‘backend_interagg‘ has no attribute ‘FigureCanvas‘的解决办法

admin 阅读: 2024-03-24
后台-插件-广告管理-内容页头部广告(手机)

bug的产生

是在使用python的matplotlib库的时候发现无法绘制和老师一样的图

原因

一开始我还以为是我的matoltlib和我的python版本不匹配后面发现真正原因其实是matplotlib 的 backend的默认渲染器是agg,agg是一个没有图形显示界面的终端,如果要图像正常显示,则需要切换为图形界面显示的终端TkAgg

解决方法

修改 backend 配置:matplotlib.use(‘TkAgg’)

原代码和修改后代码对比

原代码:

`import numpy as np import matplotlib.pyplot as plt x=np.linspace(0.0001,3,100) y=x**x plt.plot(x,y,'r-',linewidth=3) plt.show()`
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

错误提示:

AttributeError: module 'backend_interagg' has no attribute 'FigureCanvas'. Did you mean: 'FigureCanvasAgg'?
  • 1

修改后代码:

import numpy as np import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt x=np.linspace(0.0001,3,100) y=x**x plt.plot(x,y,'r-',linewidth=3) plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

运行结果

为0.0001到3 之间一百个点的x的x乘方的变化图
在这里插入图片描述

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索