教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

问答>python+大数据开发>matplotlib绘制的图形是只有一种结构吗?

matplotlib绘制的图形是只有一种结构吗?

来源传智教育2022年06月23日 18时03分38秒

  不是。假设想画一副素描画,首先需要在画架上放置并固定一个画板,然后在画板上放置并固定一张画布,最后在画布上画图。同理,使用matplotlib库绘制的图形并非只有一层结构,它也是由多层结构组成的,以便对每层结构进行单独设置。

  使用matplotlib绘制的图形主要由3层组成:容器层、图像层和显示层。

  1.容器层

  容器层主要由Canvas对象、Figure对象、Axes对象组成,其中Canvas对象充当画板的角色,位于底层;Figure对象充当画布的角色,它可以包含多个图表,位于Canvas对象的上方,也就是用户操作的应用层的第一层;Axes对象充当画布中绘图区域的角色,它拥有独立的坐标系,可以将其看作一个图表,位于Figure对象的上方,也就是用户操作的应用层的第二层。Canvas对象、Figure对象、Axes对象的层次关系如图1-1所示。

  需要说明的是,Canvas对象无须用户创建。Axes对象拥有属于自己的坐标系,它可以是直角坐标系,即包含x轴和y轴的坐标系,也可以是三维坐标系(Axes的子类Axes3D对象),即包含x轴、y轴、z轴的坐标系。

  2.图像层

  图像层是指绘图区域内绘制的图形。

三种对象的层次关系.jpg

  图1-1 Canvas对象、Figure对象、Axes对象的层次关系

  3.辅助显示层

  辅助显示层是指绘图区域内除所绘图形之外的辅助元素,包括坐标轴(Axis类对象,包括轴脊和刻度,其中轴脊是Spine类对象,刻度是Ticker类对象)、标题(Text类对象)、图例(Legend类对象)、注释文本(Text类对象)等。辅助元素可以使图表更直观、更容易被用户理解,但是又不会对图形产生实质的影响。

  需要说明的是,图像层和辅助显示层所包含的内容都位于Axes类对象之上,都属于图表的元素。

和我们在线交谈!