在 matplotlib 中,有几种常见的方法来创建 axes 对象:
1.使用 subplots
函数:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
subplots
函数会创建一个新的图形(figure)并返回一个包含单个子区域(subplot)的 axes
对象。你也可以使用 nrows
和 ncols
参数来创建一个包含多个子区域的图形:
fig, axs = plt.subplots(nrows=2, ncols=2)
这将创建一个包含两行和两列的子区域的图形,并返回一个二维数组(array)包含所有子区域的 axes
对象。
2.使用 add_subplot
方法:
fig = plt.figure()
ax = fig.add_subplot(111)
add_subplot
方法可以在现有的图形中添加一个新的子区域。第一个参数是行列数的编号,第二个参数是行的位置,第三个参数是列的位置。
例如,上面的代码会添加一个在第一行第一列的子区域。
3.使用 add_axes
方法:
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
add_axes
方法可以在图形中添加一个新的坐标系。它可以让你在现有的图中添加一个新的子图。
使用方法如下:
add_axes(rect, **kwargs)
其中,rect 是一个列表,用于指定新坐标轴在图中的位置。列表中包含四个元素,分别表示新坐标轴的左、下、宽和高。例如:
# 位于图的左边缘的 10% 处,下边缘位于图的下边缘的 10% 处,宽度为图的 80%,高度为图的 80%
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
这意味着新坐标轴的左边缘位于图的左边缘的 10% 处,下边缘位于图的下边缘的 10% 处,宽度为图的 80%,高度为图的 80%。
除了 rect 参数之外,还可以使用关键字参数来指定新坐标轴的其他属性。
例如,可以使用 projection 参数来指定坐标轴的投影方式,使用 sharex 和 sharey 参数来指定新坐标轴与其他坐标轴的关联关系等。
示例代码:
import matplotlib.pyplot as plt
# 创建一个新的图形
fig = plt.figure()
# 在图形中添加一个新的坐标轴
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
# 在新坐标轴中绘制一条折线
ax.plot([1, 2, 3, 4], [1, 4, 9, 16])
# 显示图形
plt.show()