Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形 。
通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。
在使用Matplotlib之前首先要确保你已经下载好了matplotlib库,如果你下载的是Anaconda,那么里面自动包含这个库,如果你下载的是python,需要打开cmd命令窗口,通过pip install matplotlib下载。当下载完成后,就可以开始matplotlib的使用了。
使用短短三行就可以画出一个简单的图像。
代码运行结果
pyplot是matpolotlib的子库,含有常用的绘画模块,可以让用户更方便的绘制2D图标。
Matplotlib的两种绘图接口
-
显式创建figure和axes,在上面调用绘图方法,也被称为OO模式(object-oriented style)
2.依赖pyplot自动创建figure和axes,并绘图
两种绘图方式所写的代码最终显示出来的图像是一样的。
想要搞清楚两者的区别以及优缺点,首先要了解figure的组成。
Figure的组成
-
Figure
:顶层级,用来容纳所有绘图元素 -
Axes
:matplotlib宇宙的核心,容纳了大量元素用来构造一幅幅子图,一个figure可以由一个或多个子图组成 -
Axis
:axes的下属层级,用于处理所有和坐标轴,网格有关的元素 -
Tick
:axis的下属层级,用来处理所有和刻度有关的元素
两种绘图接口的区别
第一种是面向对象式绘图,依靠FigureCanvas
(画布)、 Figure
(图像)、 Axes
(轴域) 等对象绘图。在画图时需要自己创建figure、axes,有时可通过创建多个axes,通过对axes的拼接来达到自己的目的。
第二种是一个简单的绘图模式,所写的代码会比第一种的要少,看起来更加简介方便,但也只能对当前绘画窗口进行操作,功能不如第一种全面。
(以上均为个人理解,仅供参考,侵删致歉)