- 报错截图
- 报错原因
-
报错信息说matplotlib包用的是后端是ipykernel.pylab.backend_inline,这个后端不支持在编译器前端显示。为了支持所有的使用情形,matplotlib能够产生不同的输出,而把每一个不同输出的能力叫做一个后端。而前端就是用户需要处理的代码,如绘图代码,然后后端做的就是所有看不到的辛苦工作来生成视图窗口。这里有两种不同类型的后端:
-
用户接口后端(又叫做"交互式后端",如pygtk, wxpython, thinter,qt, macosx或者fltk)。
-
硬拷贝后端,也叫做非交互式后端,用来生成图像文件(PNG,SVG,PDF, PS)
-
-
所以matplotlib不显示图象就是当前的用户接口后端不支持前端显示并交互,所以我们需要自己配置。有两种方式配置你的后端。
-
在matplotlibrc文件中设置后端参数
-
另外一种方式是使用matplotlib的use()命令。 调用use()方法必须在import matplotlib.pyplot或者matplotlib.pylab之前设置
-
-
可以使用的后端有
[‘GTK3Agg’, ‘GTK3Cairo’, ‘MacOSX’, ‘nbAgg’, ‘Qt4Agg’, ‘Qt4Cairo’, ‘Qt5Agg’, ‘Qt5Cairo’, ‘TkAgg’, ‘TkCairo’, ‘WebAgg’, ‘WX’, ‘WXAgg’, ‘WXCairo’, ‘agg’, ‘cairo’, ‘pdf’, ‘pgf’, ‘ps’, ‘svg’, ‘template’]
4. 解决办法
import matplotlib
matplotlib.use('TkAgg')#必须显式指明matplotlib的后端
import matplotlib.pyplot as plt