首页技术文章正文

Python数据可视化:matplotlib所绘图形的层次结构

更新时间:2022-09-07 来源:黑马程序员 浏览量:

IT培训班

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

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

  1.容器层

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

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

  2.图像层

  图像层是指绘图区域内绘制的图形。例如,本节中使用plot()方法根据数据绘制的直线。

1662518404215_Canvas对象、Figure对象、Axes对象的层次关系.jpg

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

  3.辅助显示层

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

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

分享到:
在线咨询 我要报名
和我们在线交谈!