简介
在数据可视化中,创建共享公共轴的多个图表通常很有用。这可以使用 Matplotlib 中的 subplots 函数来实现。在本教程中,我们将学习如何创建共享公共 x 轴的相邻子图。
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到 笔记本 标签页,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,请随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
导入库
我们首先导入必要的库——numpy 和 matplotlib.pyplot。
import numpy as np
import matplotlib.pyplot as plt
生成数据
我们生成一些要绘制的示例数据。在这里,我们使用 numpy 库生成三个数据数组。
t = np.arange(0.0, 2.0, 0.01)
s1 = np.sin(2 * np.pi * t)
s2 = np.exp(-t)
s3 = s1 * s2
创建子图
我们使用 Matplotlib 中的 subplots 函数创建三个子图。我们将 sharex 参数设置为 True,以确保子图共享一个公共 x 轴。我们还使用 subplots_adjust 函数去除子图之间的垂直间距。
fig, axs = plt.subplots(3, 1, sharex=True)
fig.subplots_adjust(hspace=0)
绘制数据
我们在每个子图上绘制数据,并为每个图设置 y 轴刻度值和范围。
axs[0].plot(t, s1)
axs[0].set_yticks(np.arange(-0.9, 1.0, 0.4))
axs[0].set_ylim(-1, 1)
axs[1].plot(t, s2)
axs[1].set_yticks(np.arange(0.1, 1.0, 0.2))
axs[1].set_ylim(0, 1)
axs[2].plot(t, s3)
axs[2].set_yticks(np.arange(-0.9, 1.0, 0.4))
axs[2].set_ylim(-1, 1)
显示图表
我们使用 Matplotlib 中的 show 函数来显示图表。
plt.show()
总结
在本教程中,我们学习了如何使用 Matplotlib 中的 subplots 函数创建共享公共 x 轴的相邻子图。我们还学习了如何为每个图设置 y 轴刻度值和范围。这种技术在数据可视化中很有用,可用于比较共享同一轴的多个数据集。