📜  matplotlib 子图共享 x 轴 - Python (1)

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

Matplotlib 子图共享 x 轴 - Python

在使用 Matplotlib 库绘制多个子图时,有时需要将它们的x轴共享,以便更好地比较不同的数据。通过使用面向对象方式创建子图,可以轻松地实现这一点。

准备工作

在开始之前,需要先安装 Matplotlib 库:

!pip install matplotlib
创建子图并共享x轴

首先,我们需要创建一个 Figure 对象,并使用该对象创建两个子图:

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(8, 6))

ax1 = fig.add_subplot(2, 1, 1)
ax2 = fig.add_subplot(2, 1, 2)

上面的代码创建了一个大小为8x6的 Figure 对象,然后在该对象上创建了两个子图,分别位于第一行和第二行。

我们想要将这两个子图的x轴共享,只需要调用第二个子图的 sharex() 方法,并将第一个子图作为参数传递给它即可。代码如下:

ax2.sharex(ax1)

完整的代码如下:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

fig = plt.figure(figsize=(8, 6))

ax1 = fig.add_subplot(2, 1, 1)
ax1.plot(x, y1, '-')

ax2 = fig.add_subplot(2, 1, 2)
ax2.plot(x, y2, '-')

ax2.sharex(ax1)

plt.show()

运行代码后,将得到以下输出:

可以看到,两个子图的x轴共享,这样我们就可以更好地比较它们的数据了。

总结

在 Matplotlib 中,共享子图的x轴可以帮助我们更好地比较不同数据。通过调用 sharex() 方法,可以轻松实现共享x轴的子图。