1. Matplotlib绘图简介¶
- 建立在Numpy数组基础上的多平台数据可视化库
- 最初设计用来完善SciPy生态
- 良好的操作系统兼容性和图形显示底层接口兼容性
- 功能强大,设置灵活
1.1. 图形样式¶
利用Matplotlib绘图的图形风格可以设定,所有图形,可以通过plt.style.use('classic')
设置图形样式,在1.5版本以前只能使用经典风格,新版本会有不同的风格设置。
1.2. 不同环境的使用¶
不同环境中使用Matplotlib可能稍有不同,需要注意:
1.2.1. 脚本中使用¶
在脚本中使用,并不能自动显示图形,需要使用plt.show()
明确让Matplotlib把图形显示出来,否则不会看到图形。
1.2.2. IPython shell¶
在IPython shell中使用画图,需要使用魔法命令%matplotlib
, 在以后的画图命令中,会自动显示出需要画的图形。
1.2.3. Jupyter Notebook¶
在Jupyter Notebook中一般也需要使用魔法函数,但是相应魔法函数有两个:
%matplotlib inline
: 在Notebook中启动静态图形%matplotlib notebook
:在Notebook中启动交互式图形
使用以上两个魔法函数,理论上不需要在使用show函数强制显示图形,但在实践过程中,可能出现不显示的情况,此时建议使用 show显示图像。
1.3. 图像的保存¶
经常需要保存产生的图像以备使用, 如果使用的是交互式显示图形,可以直接点击保存按钮来保存图形,在所有代码中,都可以使用savefig函数来保存函数。
1.4. 两种不同的画图接口¶
Matplotlib支持两类画图接口:
- MATLAB风格接口:此类接口的特点是有状态的(Stateful),使用方便,对MATLAB用户友好,此类接口在pyplot中
- 面向对象接口:面向对象方式,处理复杂图形比较方便,能力相对比较强
此两种风格接口比较相似,容易混淆,我们在使用中,经常会混用。