简介
本实验将指导你完成向 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 绘图添加注释。你学习了如何添加文本、箭头和形状注释,如何对它们进行自定义以及如何放置它们。注释有助于突出显示特定的数据点或为查看者提供额外的信息。