简单的 Matplotlib 注释

Beginner

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

简介

本实验将指导你完成向 Matplotlib 绘图添加注释的过程。注释有助于突出显示特定数据点或为查看者提供额外信息。注释可以包括文本、箭头和形状。你将学习如何向绘图添加注释、自定义注释并设置其位置。

虚拟机使用提示

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

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

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

导入 Matplotlib

在我们开始使用 Matplotlib 之前,我们需要导入它。以下代码将导入 Matplotlib 并允许我们使用其绘图函数。

import matplotlib.pyplot as plt

创建一个绘图

我们现在将创建一个用于添加注释的绘图。以下代码将创建一个包含两个数据点的绘图。

fig, ax = plt.subplots()
x = [1, 2]
y = [3, 4]
ax.plot(x, y, "o")

添加文本注释

我们现在将向绘图添加一个文本注释。以下代码将在第一个数据点处添加文本“数据点 1”。

ax.annotate("Data Point 1", xy=(1, 3), xytext=(1.5, 3.5),
            arrowprops=dict(facecolor="black", shrink=0.05))

添加箭头注释

我们现在将向绘图添加一个箭头注释。以下代码将添加一个从第一个数据点指向第二个数据点的箭头。

ax.annotate("", xy=(1, 3), xytext=(2, 4),
            arrowprops=dict(arrowstyle="->", connectionstyle="arc3"))

添加形状注释

我们现在将向绘图添加一个形状注释。以下代码将在第二个数据点周围添加一个矩形。

bbox = dict(boxstyle="round", fc="0.8")
ax.annotate("数据点 2", xy=(2, 4), xytext=(2.5, 4.5),
            bbox=bbox,
            arrowprops=dict(facecolor="黑色", shrink=0.05))

自定义注释

我们可以通过更改字体大小、字体颜色和箭头样式来自定义注释。以下代码将更改文本注释的字体大小、字体颜色和箭头样式。

ax.annotate("数据点 1", xy=(1, 3), xytext=(1.5, 3.5),
            arrowprops=dict(facecolor="黑色", shrink=0.05, arrowstyle="->"),
            fontsize=12, color="红色")

放置注释

我们可以使用不同的坐标系来放置注释。以下代码将使用数据坐标放置文本注释,并使用图形坐标放置箭头注释。

ax.annotate("数据点 1", xy=(1, 3), xytext=(1.5, 3.5),
            arrowprops=dict(facecolor="黑色", shrink=0.05),
            xycoords="data", textcoords="data")
ax.annotate("", xy=(1, 3), xytext=(0.5, 0.5),
            arrowprops=dict(facecolor="黑色", shrink=0.05),
            xycoords="data", textcoords="figure fraction")

总结

在本实验中,你学习了如何向 Matplotlib 绘图添加注释。你学习了如何添加文本、箭头和形状注释,如何对它们进行自定义以及如何放置它们。注释有助于突出显示特定的数据点或为查看者提供额外的信息。