Matplotlib 的 hlines 和 vlines

Beginner

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

简介

在本实验中,你将学习如何在 Matplotlib 中使用hlinesvlines函数。这些函数用于在绘图上绘制水平和垂直线。

虚拟机使用提示

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

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

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

导入库

第一步是导入我们需要的库。在本实验中,我们将使用 Matplotlib 和 NumPy 库。Matplotlib 是一个数据可视化库,NumPy 用于使用 Python 进行科学计算。

import matplotlib.pyplot as plt
import numpy as np

定义数据

下一步是定义我们将在绘图中使用的数据。我们将使用 NumPy 的arange函数创建一个从 0 到 5、步长为 0.1 的数值数组。我们将把这个数组用作 x 轴。我们还将通过使用 NumPy 的指数函数和正弦函数来定义 y 轴。

## 定义数据
t = np.arange(0.0, 5.0, 0.1)
s = np.exp(-t) + np.sin(2 * np.pi * t) + 1

给数据添加噪声

在这一步中,我们将给数据添加一些噪声,使其更接近实际情况。我们将使用 NumPy 的normal函数来生成均值为 0.0、标准差为 0.3 的随机数。

## 给数据添加噪声
nse = np.random.normal(0.0, 0.3, t.shape) * s

创建绘图

现在,我们将使用 Matplotlib 的subplots函数来创建绘图。我们将创建两个子图,一个用于绘制垂直线,另一个用于绘制水平线。为了获得更好的可视性,我们将图形大小设置为 (12, 6)。

## 创建绘图
fig, (vax, hax) = plt.subplots(1, 2, figsize=(12, 6))

添加垂直线

在这一步中,我们将向绘图中添加垂直线。我们将使用 Matplotlib 的vlines函数来绘制垂直线。我们还将使用transform参数将 y 坐标设置为从 0 到 1 进行缩放。我们将在 x = 1 和 x = 2 处绘制两条垂直线。

## 添加垂直线
vax.plot(t, s + nse, '^')
vax.vlines(t, [0], s)
vax.vlines([1, 2], 0, 1, transform=vax.get_xaxis_transform(), colors='r')
vax.set_xlabel('time (s)')
vax.set_title('Vertical lines demo')

添加水平线

在这一步中,我们将向绘图中添加水平线。我们将使用 Matplotlib 的hlines函数来绘制水平线。我们将在 y = 0.5、y = 2.5 和 y = 4.5 处绘制水平线。

## 添加水平线
hax.plot(s + nse, t, '^')
hax.hlines(t, [0], s, lw=2)
hax.set_xlabel('time (s)')
hax.set_title('Horizontal lines demo')

显示绘图

最后,我们将使用 Matplotlib 的show函数来显示绘图。

## 显示绘图
plt.show()

总结

在这个实验中,你学习了如何使用 Matplotlib 的hlinesvlines函数在绘图上绘制水平线和垂直线。你还学习了如何给数据添加噪声以及在一个图形中创建子图。