Matplotlib 图表共享

Beginner

This tutorial is from open-source community. Access the source code

简介

当创建多个共享同一坐标轴的图表时,你可能希望确保在放大或缩小其中一个图表时,其他图表也会相应更新。在本实验中,我们将探讨如何使用 Matplotlib 中的 sharexsharey 属性来创建共享坐标轴的图表。

虚拟机使用提示

虚拟机启动完成后,点击左上角切换到 笔记本 标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们会及时为你解决问题。

导入所需库

第一步是导入所需的库。在本示例中,我们将使用 numpymatplotlib

import matplotlib.pyplot as plt
import numpy as np

创建数据

接下来,我们需要创建一些要绘制的数据。在本示例中,我们将创建两组数据,即 sin(2*pi*t)sin(4*pi*t)

t = np.arange(0, 10, 0.01)

创建第一个图表

现在,让我们使用 subplot 创建第一个图表。subplot 接受三个参数:行数、列数和图表编号。在本示例中,我们将创建一个 2 行 1 列的图表(211),这意味着第一个图表将位于上一行。

ax1 = plt.subplot(211)
ax1.plot(t, np.sin(2*np.pi*t))

创建第二个图表

接下来,我们将创建第二个图表。我们将再次使用 subplot,但这次我们会将 sharex 属性设置为第一个图表(ax1)。这确保第二个图表将与第一个图表共享相同的 x 轴。

ax2 = plt.subplot(212, sharex=ax1)
ax2.plot(t, np.sin(4*np.pi*t))

显示图表

最后,我们可以使用 plt.show() 来显示图表。

plt.show()

总结

在本实验中,我们学习了如何在 Matplotlib 中使用 sharexsharey 属性来创建共享同一坐标轴的图表。当创建多个以不同视角展示相同数据的图表时,这非常有用。通过共享坐标轴,我们可以确保在缩放或平移时,各个图表保持同步。