Matplotlib入门详细教程
序言:在前文中,我们详细介绍了numpy的常用接口及其使用方法,并对部分接口进行了对比分析。与之相提并论,matplotlib作为数据科学领域的重要库,在Python可视化领域中占据着举足轻重的地位,更是众多高级可视化库的基础。本文将系统性地介绍matplotlib,力求全面而详略得当。
01 关于matplotlib:matplotlib是Python的一个绘图库,与numpy、pandas并称为数据科学三剑客,同时也是许多高级可视化库的基石。matplotlib并非Python内置库,需要手动安装,且依赖numpy库。目前,matplotlib的发行版本为3.2.1,支持Python 3.6及以上版本。
matplotlib的命名来源于“matrix + plot + library”,虽然命名直观,但初学者可能对其产生误解。作为使用者,我们应尊重开发者的设计思路,不必过多评论。
matplotlib的pyplot子模块用于绘图,集成了大部分常用方法接口。查看pyplot源码可知,它内部调用了matplotlib的大部分子模块,共同实现丰富的绘图功能。其中,figure和axes是重点,前者定义了顶层类对象Figure,相当于画板;后者定义了画板中的每个绘图对象Axes,相当于画板内的各个子图。figure是axes的父容器,axes是figure的内部元素,而图表、图例、坐标轴等则是axes的内部元素。
pyplot并非matplotlib的一级命名空间,因为它并非matplotlib的“独裁者”,pylab才是。pylab被定位为Python中对MATLAB的替代产品,几乎实现了MATLAB的所有功能。尽管pylab功能强大,但官方已不建议使用其绘图功能。
02 三种绘图接口:使用matplotlib绘制可视化图表主要有三种接口形式:pyplot接口、面向对象接口和pylab接口。
03 绘图3步走:使用matplotlib绘图通常分为三步:创建画板(包括figure和axes对象)、绘制图表和配置图例。
04 自定义子图:matplotlib支持四种添加子图的方式,包括subplot、subplots、plt.axes和GridSpec。
05 自定义配置:matplotlib提供了自定义参数rcParams和style,用于批量配置绘图。
06 走向3D:matplotlib支持2D和3D绘图,3D绘图需要导入mpl_toolkits库。
07 更高级的封装:在matplotlib基础上,一些封装更便捷的可视化库提供了更简单易用的接口和美观的图表形式。
多重随机标签