📜  分享 x 轴 matplotlib - Python (1)

📅  最后修改于: 2023-12-03 15:36:50.210000             🧑  作者: Mango

分享 x 轴 matplotlib - Python

当我们需要在一个图中绘制多组数据时,有时候我们希望它们共享一个坐标轴,以便更好地对比它们的变化趋势。在 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()

该代码会生成如下的图形:

shared-x-axis.png

其中,三个 subplot 共享 x 轴,它们的 y 轴是独立的。

你还可以使用其他的参数来调整 subplot 的排列方式和间距。比如,gridspec_kw={'wspace': 0} 可以让 subplot 之间的水平方向上的间距为 0。

希望这个示例能够帮助你更好地使用 matplotlib 绘制图形。