开发者学堂课程【Python 数据可视化库 Matplotlib 快速入门: Matplotlib 三层结构】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/606/detail/8833
Matplotlib 三层结构
内容介绍:
一、容器层
二、辅助显示层
三、图像层
一、容器层
容器层主要由 Canvas、Figure、Axes 组成。
Canvas 是位于最底层的系统层,在绘图的过程中充当画板的角色,即放置画布 (Figure) 的工具。
Figure 是 Canvas 上方的第一层,也是需要用户来操作的应用层的第一层,在绘图的过程中充当画布的角色。
Axes 是应用层的第二层,在绘图的过程中相当于画布上的绘图区的角色。
·Figure:指整个图形(可以通过 plt.figure0 设置画布的大小和分辨率等
·Axes (坐 标系):数据的绘图区域
·Axis (坐标轴):坐标系中的一条轴,包含大小限制、刻度和刻度标签
特点为:
·一个figure (画布)可以包含多个 axes (坐标系/绘图区), 但是一个axes 只能属于一个 figure。
·一个 axes (坐标系/绘图区)可以包含多个 axis (坐标轴), 包含两个即为2d坐标系,3个即为3d坐标系
1、创建画板层
首先是画图,在容器层其实还有三个底层分别是画板层、画布层、绘图区/坐标系。
创建一个画布,创建画布的时候,底层已经帮我们创建好了一个画板层。也就相当于如果你在自家的画室就可以直接在书桌上或者说在画板上铺一张画布就可以画了,但是如果你是出去写生,比如说你在其他的工具当中有一个 PYQT,在它的里面如果用到 Matplotlib,那就是需要显示的去创建你的画板。
我们把它叫做 Canvas
我们一般都是在 Matplotlib 里面直接画图,也就相当于我们打开 Keynote 或者打开一个 PPT ,就直接有这一张画板。
2、创建画布层
默认底色是蓝色,看不清楚,就去掉填充。为容器的第二层。
具体操作:plt.figure() 创建画布层,取名为 Figure。
3、创建绘图区
在画布层之上是有绘图区的,注意一个画布层可以有多个绘图区,想创建几个就创建几个。
比如说在这里就创建4个绘图区,这是我们容器层的第三个层次,绘图区也叫做标系。
在创建画布层的时候,默认创建一个绘图区,如果需要多个,具体操作如:plt.subplots()。
Subplot 为绘图区,又加了个S,相当于创建多个子图的意思,也就是意味着创建多个绘图区。每一个绘图区都可以看成有一个横纵坐标构成,也就是说一个绘图区它是有两个坐标轴构成。我们把绘图区的因为叫做 axes。Axis,这就是坐标轴的轴。一个坐标系有两个轴构成,一个X轴一个Y轴,所以为复数形式的 axes。在x轴和y轴的区域内进行画图。
在第三层绘图区之上,就有了我们另两个层次,也就是说辅助显示层和图像层其实都是在绘图区之上的。
二、辅助显示层
辅助显示层为 Axes (绘图区)内的除了根据数据绘制出的图像以外的内容,主要包括 Axes 外观(facecolor)、边框线(spines)、坐标轴(axis)、 坐标轴名称(axis label)、坐标轴刻度(tick)、坐标轴刻度标签(tick label)、网格线(grid)、图例(legend)、 标题(titl)等内容。
该层的设置可使图像显示更加直观更加容易被用户理解,但又不会对图像产生实质的影响。
三、图像层
图像层就是我们可以画各种各样的图表,比如说在一个绘图区,可以画一个散点图。可以调整点的颜色和风格,或者柱状图,折线图等。
总结:
·Canvas (画板)位于最底层,用户一般接触不到
·Figure (画布)建立在 Canvas 之上
·Axes (绘图区)建立在 Figure 之上
·坐标轴(axis) 、图例(legend)等辅助显示层以及图像层都是建立在 Axes 之上