简介
本教程将展示如何使用 matplotlib.widgets.MultiCursor 函数在多个绘图上同时显示光标。
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到 笔记本 标签页,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们会及时为你解决问题。
导入库
第一步是导入必要的库,即 matplotlib.pyplot 和 numpy。
import matplotlib.pyplot as plt
import numpy as np
创建数据
接下来,我们将为绘图创建一些数据。在这个例子中,我们将创建三个频率不同的正弦波。
t = np.arange(0.0, 2.0, 0.01)
s1 = np.sin(2*np.pi*t)
s2 = np.sin(3*np.pi*t)
s3 = np.sin(4*np.pi*t)
创建绘图
现在,我们将使用 plt.subplots 函数创建三个子图。其中两个图将在一个图形中创建,而第三个图将在单独的图形中创建。
fig, (ax1, ax2) = plt.subplots(2, sharex=True)
ax1.plot(t, s1)
ax2.plot(t, s2)
fig, ax3 = plt.subplots()
ax3.plot(t, s3)
添加多光标
最后,我们将添加 MultiCursor 函数,以便在鼠标悬停在数据点上时在所有三个图上显示光标。
multi = MultiCursor(None, (ax1, ax2, ax3), color='r', lw=1)
plt.show()
总结
在本教程中,我们学习了如何使用 matplotlib.widgets.MultiCursor 函数在多个绘图上同时显示光标。我们创建了三个频率不同的正弦波,创建了三个子图,并添加了 MultiCursor 函数以在所有三个图上显示光标。