“在前面的文章中,我们已经了解到Axes才是我们绘图的主战场。今天我们就来看看Axes中如何进行绘图。
Axes中的各种对象
本系列教程的开篇中,我们就了解到,matplotlib有过程式和面向对象式两种使用方法。官方推荐的最佳实践是使用面向对象的方式。
同样在画图时,matplotlib是把各种元素也按照对象进行组织的。下面的图展示了一个图中,各种组件对应的对象名称:

熟悉这个图里的各个组件的名字至关重要哦。因为以后要设置某个部分,你首先需要先了解各个部分的名称。
Artist
上面各种组件都是视觉可见的。为了有统一的层次结构,matplotlib给所有视觉可见的组件定义了一个统一的基类:Artist。整个matplotlib中的可见对象如下所示:

这幅图虽然很庞大,不要紧,现在先将精力集中在看的懂的组件上就可以了。从整体上看,共有两类Artist,我们先看图再解释:

containers就是容器,能够容纳其他的Artist的Artist。比如Axes、Figure都是containers。另一类就是基本图,即primitives,如线、图、文字等。
容器中可以有各种各样的Artists,为了便于管理,会为每一类primitive创建一个列表。在上一篇文章中,可以看到Axes中有lines、artists、images等列表。
四种常见的容器
Figure,Axes、Axis、Tick是常见的四种容器,每种容器的属性我们最好熟悉一下,列到下面供参考:




好了,通过前面的4讲,我们主要是理清了matplotlib中最重要的基本概念。这样的做法,和你见到的大多数matplotlib教程很不一样。原因是我觉得这样才是正确的学习方法。学完这些概念,你会发现,当你看到一个图不符合预期的时候,你知道应该调整哪里,或者查找哪个关键词,再也不会一头雾水了。
后面的教程中,我们会开始具体讲解各种绘图组件了。敬请期待。