Axes是Matplotlib中核心的绘图容器,代表一个独立的绘图区域,包含坐标轴、标签、图例和图形内容;通过plt.subplots()、plt.gca()或fig.add_axes()可获取Axes对象,并调用其plot()、scatter()、bar()等方法进行绘图;在多子图布局中,可通过subplots创建多个Axes实例,分别绘制不同图表,实现对图形的精细控制。

在使用 Python 的 Matplotlib 库进行绘图时,Axes 是最核心的绘图容器之一。它代表图像中的一个绘图区域(可以理解为“坐标系”或“子图”),所有的绘图操作如折线、散点、柱状图等,都是通过 Axes 对象完成的。
什么是 Axes 容器?
Axes 是 matplotlib.pyplot 中的一个类,通常一个 Figure(画布)可以包含多个 Axes 实例,每个 Axes 就是一个独立的绘图区,包含坐标轴、刻度、标签、图例和图形内容。
你可以在一个 Figure 上创建单个或多个 Axes,实现单图或多子图布局。
如何获取 Axes 并绘图?
有多种方式可以获取 Axes 对象并开始绘图:
立即学习“Python免费学习笔记(深入)”;
1. 使用 pyplot.subplots() 创建
这是最常见的方式:
import matplotlib.pyplot as pltfig, ax = plt.subplots() # 创建一个 Figure 和一个 Axes ax.plot([1, 2, 3, 4], [1, 4, 2, 3]) # 在 Axes 上绘折线图 ax.set_xlabel('x 轴') ax.set_ylabel('y 轴') ax.set_title('Axes 绘图示例') plt.show()
2. 使用 plt.gca() 获取当前 Axes
Python v2.4版chm格式的中文手册,内容丰富全面,不但是一本手册,你完全可以把她作为一本Python的入门教程,教你如何使用Python解释器、流程控制、数据结构、模板、输入和输出、错误和异常、类和标准库详解等方面的知识技巧。同时后附的手册可以方便你的查询。
当你调用 plt.plot() 等函数时,Matplotlib 会自动创建一个 Axes,你可以通过 gca()(get current axes)获取它:
import matplotlib.pyplot as pltplt.plot([1, 2, 3], [4, 5, 1]) ax = plt.gca() # 获取当前的 Axes ax.set_xlim(0, 4) ax.grid(True) plt.show()
3. 手动添加 Axes 到 Figure
适用于需要精确控制位置的情况:
fig = plt.figure() ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # [left, bottom, width, height] ax.scatter([1, 2, 3], [3, 1, 2]) plt.show()
常用 Axes 绘图方法
Axes 提供了丰富的绘图方法,常见的包括:
- ax.plot():绘制折线图
- ax.scatter():绘制散点图
- ax.bar():绘制柱状图
- ax.hist():绘制直方图
- ax.imshow():显示图像
- ax.legend():添加图例
- ax.set_xlabel(), ax.set_ylabel():设置坐标轴标签
- ax.set_title():设置标题
多子图中使用多个 Axes
可以通过 subplots 创建多个 Axes:
fig, axes = plt.subplots(2, 2) # 创建 2x2 四个子图
axes[0, 0].plot([1, 2], [1, 2])
axes[0, 0].set_title('图 1')
axes[0, 1].scatter([1, 2], [2, 3])
axes[0, 1].set_title('图 2')
axes[1, 0].bar(['A', 'B'], [3, 5])
axes[1, 0].set_title('图 3')
axes[1, 1].hist([1, 2, 2, 3, 3, 3])
axes[1, 1].set_title('图 4')
plt.tight_layout()
plt.show()
基本上就这些。掌握 Axes 容器的使用,就掌握了 Matplotlib 绘图的核心逻辑。每次绘图前先明确你要操作的是哪个 Axes,然后调用其方法即可精准控制图形输出。










