文章目录
-
- @[TOC](文章目录)
- 一、Matplotlib 的三层结构
-
- 1. **Figure(图像)**
- 2. **Axes(轴)**
- 3. **Axis(坐标轴)**
- 二、示例代码
- @[TOC](文章目录)
- 1. **Figure(图像)**
- 2. **Axes(轴)**
- 3. **Axis(坐标轴)**
一、Matplotlib 的三层结构
Matplotlib 的三层结构包括以下三个主要组件:
1. Figure(图像)
- Figure 是 Matplotlib 图形的顶层容器,它是一个空白的画布,用于包含所有其他图形元素,如子图和轴。
- 一个 Figure 可以包含多个子图,它们可以在同一个画布上并排或堆叠显示。
2. Axes(轴)
- Axes 是 Figure 内的一个或多个绘图区域。每个 Axes 包含一个或多个绘图区域,如线条、点、文本等。
- 一个 Figure 可以包含多个 Axes,每个 Axes 可以有不同的坐标系和属性。
3. Axis(坐标轴)
- Axis 是 Axes 内的一个或多个坐标轴,它们定义了数据的范围和刻度标签。
- Axis 负责绘制刻度线、刻度标签和坐标轴的外观。
Matplotlib 的三层结构是嵌套关系,即 Figure 包含多个 Axes,每个 Axes 包含一个或多个 Axis。
二、示例代码
import matplotlib.pyplot as plt # 创建一个 Figure 对象 fig = plt.figure() # 在 Figure 上创建两个 Axes 对象 ax1 = fig.add_subplot(2, 1, 1) # 2行1列,第1个子图 ax2 = fig.add_subplot(2, 1, 2) # 2行1列,第2个子图 # 在每个 Axes 上绘制数据 ax1.plot([1, 2, 3, 4], [1, 2, 3, 4]) ax2.scatter([1, 2, 3, 4], [4, 3, 2, 1]) # 设置中文 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # 设置坐标轴标签 ax1.set_xlabel('X轴') ax1.set_ylabel('Y轴') ax2.set_xlabel('X轴') ax2.set_ylabel('Y轴') # 设置标题 ax1.set_title('折线图') ax2.set_title('散点图') # 显示图形 plt.show()
代码首先创建一个 Figure 对象,然后在其中添加两个 Axes 对象,分别用于绘制折线图和散点图。每个 Axes 对象包含一个 Axis 对象,用于设置坐标轴标签和标题。最后,通过