📅  最后修改于: 2023-12-03 15:36:50.210000             🧑  作者: Mango
当我们需要在一个图中绘制多组数据时,有时候我们希望它们共享一个坐标轴,以便更好地对比它们的变化趋势。在 matplotlib 中,我们可以使用 sharex=True
参数让多个 subplot 共享 x 轴。此外,我们还可以使用 gridspec_kw
参数进一步控制 subplot 的结构。
下面是一个代码示例,它演示了如何在一个 Figure 中绘制三个 subplot,并让它们共享 x 轴。
import matplotlib.pyplot as plt
# 创建一个 Figure 对象,并设置子图的排列方式
fig, axs = plt.subplots(nrows=3, ncols=1, sharex=True, gridspec_kw={'hspace': 0})
# 绘制第一个 subplot
axs[0].plot([1, 2, 3], [1, 2, 3])
axs[0].set_ylabel('Plot 1')
# 绘制第二个 subplot
axs[1].plot([1, 2, 3], [3, 2, 1])
axs[1].set_ylabel('Plot 2')
# 绘制第三个 subplot
axs[2].plot([1, 2, 3], [2, 2, 2])
axs[2].set_ylabel('Plot 3')
axs[2].set_xlabel('X Axis')
# 显示图形
plt.show()
该代码会生成如下的图形:
其中,三个 subplot 共享 x 轴,它们的 y 轴是独立的。
你还可以使用其他的参数来调整 subplot 的排列方式和间距。比如,gridspec_kw={'wspace': 0}
可以让 subplot 之间的水平方向上的间距为 0。
希望这个示例能够帮助你更好地使用 matplotlib 绘制图形。