多图形演示

Beginner

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

简介

在本实验中,你将学习如何在 Matplotlib 的 pyplot 中管理多个图形。Matplotlib 是 Python 中一个流行的数据可视化库,而 pyplot 是 Matplotlib 中的一个子库,它为创建、定制和组织绘图提供了一个简单的接口。你将学习如何创建多个图形并在它们之间切换,在每个图形中创建子图,以及对特定子图进行更改。

虚拟机提示

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

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

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

导入必要的库

第一步是导入必要的库。在这种情况下,我们需要matplotlib.pyplotnumpy

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 中管理多个图形。你学习了如何创建图形和子图、在图形之间切换以及对特定子图进行更改。有了这些知识,你可以创建包含多个图形和子图的更复杂的绘图,并根据自己的喜好自定义每个绘图。