使用 fill_between 给区域着色

PythonPythonBeginner
立即练习

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

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

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

虚拟机使用提示

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("Line Plots") matplotlib/PlottingDataGroup -.-> matplotlib/fill_between("Fill Between Plots") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48948{{"使用 fill_between 给区域着色"}} matplotlib/figures_axes -.-> lab-48948{{"使用 fill_between 给区域着色"}} matplotlib/line_plots -.-> lab-48948{{"使用 fill_between 给区域着色"}} matplotlib/fill_between -.-> lab-48948{{"使用 fill_between 给区域着色"}} python/tuples -.-> lab-48948{{"使用 fill_between 给区域着色"}} python/importing_modules -.-> lab-48948{{"使用 fill_between 给区域着色"}} python/numerical_computing -.-> lab-48948{{"使用 fill_between 给区域着色"}} python/data_visualization -.-> lab-48948{{"使用 fill_between 给区域着色"}} end

导入必要的库

我们将首先导入本实验所需的库,即 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 绘图中给区域着色。这是一个突出显示绘图特定区域的有用工具。希望你觉得这个实验有帮助!