📅  最后修改于: 2023-12-03 15:25:01.875000             🧑  作者: Mango
在 Python 的 Matplotlib 库中,我们可以通过 subplots() 函数轻松地创建并排或嵌套的子图。子图之间的交互与共享标签和标度非常类似。本文将介绍如何创建和相互化子图,以及如何调整它们的 xlabel。
使用 subplots() 函数创建子图非常简单。这个函数接受三个参数:行数、列数和子图数量。例如,下面的代码将创建一个 2 行 2 列的子图:
import matplotlib.pyplot as plt
fig, axs = plt.subplots(2, 2)
plt.show()
这将创建一个包含 4 个子图的图形对象。这些子图保存在变量 axs 中,我们可以使用循环来访问它们。
Matplotlib 允许我们在子图之间创建链接和共享元素。例如,在下面的代码中,我们将创建两个 1x2 的子图,并将它们的 X 轴链接:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1, 2, sharex=True)
ax[0].plot([1, 2, 3], [1, 2, 3])
ax[0].set_title('Subplot 1')
ax[1].plot([1, 2, 3], [3, 2, 1])
ax[1].set_title('Subplot 2')
plt.show()
在这个例子中,我们使用 sharex 参数共享 X 轴,使得两个子图的 X 轴标度相同。我们可以使用其他参数,如 sharey 或 shareboth 来共享 Y 轴或 X/Y 轴。
我们可以使用 set_xlabel() 函数来为子图调整 xlabel。例如,在下面的代码中,我们将创建一个包含两个垂直子图的图表,并给它们添加 xlabel:
import numpy as np
import matplotlib.pyplot as plt
fig, axs = plt.subplots(2, 1, sharex=True)
x = np.linspace(0, 2 * np.pi, 100)
axs[0].plot(x, np.sin(x))
axs[0].set_title('subplot 1')
axs[1].plot(x, np.cos(x))
axs[1].set_title('subplot 2')
fig.text(0.5, 0.04, 'X Label', ha='center')
plt.show()
在这个例子中,我们调用了 fig.text() 函数,将 X Label 添加到图形的底部中央。
通过使用 Matplotlib 的 subplots() 函数,我们可以轻松创建相互化的子图,并调整其标签和标度。这些功能允许我们更好地探究和展示数据,希望本文能够对你有所帮助!