使用 fill_between 给区域着色

Beginner

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

简介

在本实验中,我们将学习如何使用 fill_between 函数在 Matplotlib 绘图中对区域进行着色。这对于突出显示绘图的特定区域(例如满足特定条件的区域)非常有用。

虚拟机使用提示

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

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

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

导入必要的库

我们将首先导入本实验所需的库,即 numpymatplotlib.pyplot

import numpy as np
import matplotlib.pyplot as plt

创建数据

我们将创建一些数据用于绘图。在这个例子中,我们将创建一个正弦波。

t = np.arange(0.0, 2, 0.01)
s = np.sin(2*np.pi*t)

创建绘图

现在我们将使用 matplotlib.pyplot 创建绘图。我们将绘制正弦波,并在 y = 0 处添加一条水平线。

fig, ax = plt.subplots()

ax.plot(t, s, color='black')
ax.axhline(0, color='black')

给区域着色

我们将使用 fill_between 分别给正弦波在水平线上方为正以及下方为负的区域进行着色。

ax.fill_between(t, 1, where=s > 0, facecolor='green', alpha=.5)
ax.fill_between(t, -1, where=s < 0, facecolor='red', alpha=.5)

显示绘图

最后,我们将使用 plt.show() 来显示绘图。

plt.show()

总结

在这个实验中,我们学习了如何使用 fill_between 函数在 Matplotlib 绘图中给区域着色。这是一个突出显示绘图特定区域的有用工具。希望你觉得这个实验有帮助!