前面我们详细介绍了 matplotlib 的Figure对象,以及 Figure 对象的add_axes()
和 add_subplot()
方法。
matplotlib.artist模块提供了一个 Figure 类,它是顶层的容器型Artist,它容纳所有绘图元件。
在2D平面坐标中,你应该把它看成一个矩形(Rectangle)区域。创建一个Figure也就是在画布上定义一块矩形区域。
这个矩形区域有两个最根本的用处:
add_axes()
一次添加一个 Axes 子区域;
add_subplot()
一次添加一组 Axes 子区域。
Axes 就是 Figure 这个顶级容器里的子容器,Axes 包含了大部分的图形元素: Axis、Tick、Line2D、Text、Polygon等,并设置了坐标系。
Axes 本质上就是 Figure 这个矩形区域里的一个子矩形区域。
我们大多数时间都是在 Axes 这个矩形区域内绘图,以及操控 Axes 对象本身。
Axes 对象如此重要,matplotlib 设计了一个子包 axes
来提供丰富的用于在 Axes 中绘图,以及操控 Axes 本身的类和方法。
matplotlib中提供了 axes 子包,在该子包中提供了4个模块,5个类,分别是:
class Axes(_AxesBase):
class _process_plot_var_args(object):
class _AxesBase(martist.Artist):
class SecondaryAxis(_AxesBase):
class SubplotBase(object)
这些模块提供了 matplotlib 绘图中与 Axes 相关的对象及其方法。
高清原图请移步 Python草堂 457079928 下载。
最重要的当然是 _axes.py
模块了,这是一个隐藏模块。
该模块提供了10大类,66个绘图函数,用于绘制各种类型的图表。如:线型图、散点图、条型图、饼图等等。
为了自由操控 Axes 对象,在 axes 子包的各模块中提供了多达17组 201 个函数方法。
这个模块主要提供了两个类:
class _AxesBase()
用作 Axes 对象的基类。class _process_plot_var_args()
用于处理plot命令的可变长度参数,以便支持如下plot命令:
它还提供了132个方法给他的子类 class Axes()
提供了 class SecondaryAxis()
,是用于支持第二个 X / Yaxis轴的通用类。
这个模块提供了两个类:
class SubplotBase(object)
用作 subplots 的基类, subplots 是多个class:Axes实例,该基类带有额外的方法以方便生成和操作 figure 中一组class:Axes。
class subplot_class_factory()
,这个是一个为了代码的简洁性而设计的类,并不是必须的。
下一篇我们接着讨论 axes 子包中为 Axes对象设计的那201个函数方法,看看工具箱中有哪些趁手的工具。
End.