简介
在本实验中,你将学习如何在 Matplotlib 的 pyplot 中管理多个图形。Matplotlib 是 Python 中一个流行的数据可视化库,而 pyplot 是 Matplotlib 中的一个子库,它为创建、定制和组织绘图提供了一个简单的接口。你将学习如何创建多个图形并在它们之间切换,在每个图形中创建子图,以及对特定子图进行更改。
虚拟机提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问 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(4*np.pi*t)
创建图形 1
我们将首先创建第一个图形,它将包含两个子图。我们将在顶部子图中绘制第一个正弦波,并在底部子图中绘制第一个正弦波幅度两倍的波形。
plt.figure(1)
## 顶部子图
plt.subplot(211)
plt.plot(t, s1)
## 底部子图
plt.subplot(212)
plt.plot(t, 2*s1)
创建图形 2
接下来,我们将创建第二个图形,它将包含第二个正弦波的单独绘图。
plt.figure(2)
plt.plot(t, s2)
对图形 1 进行更改
现在,我们将切换回第一个图形并进行一些更改。我们将使用方形标记在顶部子图中绘制第二个正弦波,并从顶部子图中移除 x 轴刻度标签。
plt.figure(1)
## 顶部子图
plt.subplot(211)
plt.plot(t, s2, 's')
ax = plt.gca()
ax.set_xticklabels([])
显示图形
最后,我们将使用 plt.show() 函数来显示图形。
plt.show()
总结
在本实验中,你学习了如何在 Matplotlib 的 pyplot 中管理多个图形。你学习了如何创建图形和子图、在图形之间切换以及对特定子图进行更改。有了这些知识,你可以创建包含多个图形和子图的更复杂的绘图,并根据自己的喜好自定义每个绘图。