matplot官方文档中使用%matplotlib magic加以描述。
官方文档推荐使用IPython用作interactive shell(交互式shell),IPython提供了GUI工具包的事件循环,并同交互式命令行相结合。
1. 绘制静态图像
不添加魔法函数 = %matplotlib = %matplotlib inline
默认情况下,使用matplotlib的QtAgg后端
效果上就是绘制静态图像,不能交互,只能显示动画的第一帧
%matplotlib
Using matplotlib backend: QtAgg
2. 绘制动态图像
jupyter notebook : 使用%matplotlib notebook
jupyter lab : 使用%matplotlib widget (需要安装ipympl包)
问题
- 提示 Cannot change to a different GUI toolkit
说明已经启动了某种GUI工具(例如widget)后,又尝试启动另一种GUI工具造成失败。
此时就要重启ipython内核。 - 图形不显示
有可能是因为版本不匹配,或者是在jupyter notebook中使用了%matplotlib widget
版本匹配情况可以查看Compatibility Table