Matplotlib 三层结构| 学习笔记

简介: 快速学习 Matplotlib 三层结构

开发者学堂课程【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,那就是需要显示的去创建你的画板。


image.png


我们把它叫做 Canvas

我们一般都是在 Matplotlib 里面直接画图,也就相当于我们打开 Keynote 或者打开一个 PPT ,就直接有这一张画板。

2、创建画布层

默认底色是蓝色,看不清楚,就去掉填充。为容器的第二层。


image.png


具体操作:plt.figure() 创建画布层,取名为 Figure。

3、创建绘图区


image.png



在画布层之上是有绘图区的,注意一个画布层可以有多个绘图区,想创建几个就创建几个。

比如说在这里就创建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)等内容。

该层的设置可使图像显示更加直观更加容易被用户理解,但又不会对图像产生实质的影响。


三、图像层

图像层就是我们可以画各种各样的图表,比如说在一个绘图区,可以画一个散点图。可以调整点的颜色和风格,或者柱状图,折线图等。


image.png


总结:

·Canvas (画板)位于最底层,用户一般接触不到

·Figure (画布)建立在 Canvas 之上

·Axes (绘图区)建立在 Figure 之上

·坐标轴(axis) 、图例(legend)等辅助显示层以及图像层都是建立在 Axes 之上

相关文章
|
6月前
|
Python 容器
(学习笔记)matplotlib.pyplot模块下基本画图函数的整理
1. plt.plot()函数 主要用于画图,绘制点和线。 语法:
112 0
|
1月前
|
计算机视觉 Python
Opencv学习笔记(四):如何通过cv2或者通过matplotlib来将多张图拼接成一张图输出
这篇文章介绍了如何使用OpenCV和matplotlib将多张图像拼接成一张图进行输出,并比较了两者的效果和使用注意事项。
62 0
Opencv学习笔记(四):如何通过cv2或者通过matplotlib来将多张图拼接成一张图输出
|
5月前
|
Python
Python学习笔记之Matplotlib模块入门(直线图、折线图、曲线图、散点图、柱状图、饼状图、直方图、等高线图和三维图的绘制)-2
Python学习笔记之Matplotlib模块入门(直线图、折线图、曲线图、散点图、柱状图、饼状图、直方图、等高线图和三维图的绘制)
|
5月前
|
数据可视化 开发者 Python
Python学习笔记之Matplotlib模块入门(直线图、折线图、曲线图、散点图、柱状图、饼状图、直方图、等高线图和三维图的绘制)-1
Python学习笔记之Matplotlib模块入门(直线图、折线图、曲线图、散点图、柱状图、饼状图、直方图、等高线图和三维图的绘制)
|
Python
用matplotlib来画图-python学习笔记16
用matplotlib来画图-python学习笔记16
102 0
用matplotlib来画图-python学习笔记16
|
数据可视化 开发者 Python
Matplotlib 概述|学习笔记
快速学习 Matplotlib 概述
113 0
Python matplotlib seaborn(学习笔记)(下)
Seaborn是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图。
Python matplotlib seaborn(学习笔记)(下)
Python matplotlib seaborn(学习笔记)(上)
Seaborn是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图。
Python matplotlib seaborn(学习笔记)(上)
|
数据挖掘 Python
python数据分析之Matplotlib学习笔记
简介:这一篇是关于数分三剑客之一–matplotlib的一些学习笔记。
python数据分析之Matplotlib学习笔记
|
数据可视化 JavaScript 数据挖掘
Matplotlib 介绍| 学习笔记
快速学习 Matplotlib 介绍
122 0
Matplotlib 介绍| 学习笔记
下一篇
无影云桌面