matplotlib 的架构设计
matplotlib是一个Python包,包就是一个包含名为“init.py" 初始化文件的文件夹。
matplotlib包下面还有一些子包,其中的 axes, backends 两个子包与我们关系最紧密。
matplotlib包及其子包共提供了68个模块。在这些模块中提供了matplotlib绘图需要的全部对象。
matplotlib常用对象
matplotlib中对象众多,常用的对象有:
请注意这些对象的层次关系。
matplotlib面向对象绘图流程
matplotlib中,面向对象绘图的一般流程如下:
首先,导入我们要用到的模块和类,如:
from matplotlib.backends.backend_agg import FigureCanvasAgg
from matplotlib.figure import Figure
from matplotlib.axes import Axes
import numpy as np
第二步:实例化Figure类,创建一个figure,这是一个顶级容器,后面绘制的对象一般都会放到这个容器中。figure定义了一矩形区域,提供了后续对象定位的参考坐标,它也是MPL绘图中各种坐标类型与显示(display)坐标转换的桥梁。
第三步:实例化Canvas类,创建一块画布。实例化的同时就将上一步创建的figure与这个Canvas做了绑定。
**第四步:**向figure中添加Axes,这是一个子容器。可以向一个figure中添加多个Axes,后续添加的元素,绝大多数都是放在指定的子容器中。
**第五步:**向指定的Axes中添加artists,如点、线、面、文本等。重复添加…
**然后:**显示或保存你的图形。
matplotlib.figure模块概述
figure模块提供顶层的Artist,其中的Figure类是一个顶级容器,容纳(存放)所有的绘图元素。该模块定义了下面的类:
- AxesStack,堆栈的专门化,以跟踪图形中的所有轴。
- **Figure,**所有绘图元素的顶层容器。
- SubplotParams,保存子图参数的类。
一般情况下,AxesStack、SubplotParams自动在后台隐式地提供服务,我们不需要主动去调用和处理它们。
该模块中的 Figure 是最基础,也是最常用的类。
最基础的 Figure
MPL绘图总是实例化Figure类开始,它是其它元素的顶级容器,也是其它元素定位的参考坐标。它提供了一系列参数、属性、方法,用于绘制、控制Figure本身及其子容器和元素的布局。
Figure类的调用签名如下:
有9个必需的形参,但又都提供了默认值。意味着,你可以一个参数都不提供,MPL会调用默认参数创建一个Figure实例。
下一篇,将详解这些参数的使用。
(This end.)