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

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()`

错误提示:

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

修改后代码:

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()

运行结果

为0.0001到3 之间一百个点的x的x乘方的变化图

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年9月19日
下一篇 2023年9月19日

相关推荐