Matplotlib 源于MATLAB,基于python编写。由此,Matplotlib 给用户提供了两种不同的画图范式。一种是pyplot范式,另外一种就是面向对象的范式。但是二者是殊途同归的。
pyplot的范式
pyplot的范式很直接,一切皆可plt(import matplotlib.pyplot as plt)
比如画一幅图:
import
但是如果是画多幅图呢,这个时候只需要在开始作图时加上subplot即可。同样的一切皆可plt, subplot也是plt的一个方法。
import
OOP(面向对象)的范式
实际上模仿MATLAB的pyplot范式底层也是OOP的,但是并不是那么的直接。而Matplotlib基于figure和axes的范式在OOP上表现的更为彻底。
figure在英语里是轮廓的意思,在这里可以理解成整个画布。在画布里面可以定义大标题,画布的背景颜色,轮廓等等。
axes是axis的复数,是轴的意思。因为在Matplotlib里面的作图一般都是基于坐标轴的图表,而不是photoshop那种。所以一个axes就代表了一个子图表。
以上,一个figure(一块画布),一个axes(可以理解为很多个坐标轴,一个坐标轴一个图表)就定义了我们的绝大部分的作图需求。
同样的比如画一幅图:
import
比如画多幅图
import