第5章 应用最广泛的绘图库Matplotlib
在Python的世界里,除了Web应用开发以外,涉及2D绘图或一些简单的3D绘图,大多数程序员会首选Matplotlib库。Matplotlib是Python比较底层的可视化库,同时又和科学计算库、数据分析库、机器学习库等高度集成,例如NumPy、SciPy、Pandas、Scikti-learn等。Matplotlib拥有丰富的图表资源,风格接近MATLAB,简单易用,其输出图片的质量可以达到出版级别。Matplotlib具有很高的可定制性,因此基于Matplotlib又衍生出了seaborn等可视化模块或新的封装。毫无疑问,Matplotlib已经成为Python生态圈中应用最广泛的绘图库。
5.1 快速入门
Matplotlib中的概念比较复杂,对初学者来说可能会比较困难。这里用一个简单的示意图来帮助读者建立基本概念。
在Matplotlib中,绘图前需要先创建一个画布(figure),然后在这个画布上可以画一幅或多幅图,每一幅图都是一个子图(axes),如图5-1所示。
子图是Matplotlib中非常重要的类,所有的线条、矩形、文字、图像都是在子图上呈现的。子图在画布上可以存在一个或多个。子图上除了绘制线条、矩形、文字、图像等元素外,还可以设置x轴的标注(x axis label)和y轴的标注(y axis label)、刻度(tick)、子图中的网格(grid)以及图例(legend)等。