添加文本箭头注释

PythonPythonBeginner
立即练习

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

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

简介

本教程将指导你使用 Python 中的 Matplotlib 创建一个带有文本箭头的带注释散点图。

虚拟机提示

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

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

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

导入库并生成随机数据

首先,我们需要导入必要的库,并为散点图生成一些随机数据。

import matplotlib.pyplot as plt
import numpy as np

## Fixing random state for reproducibility
np.random.seed(19680801)

fig, ax = plt.subplots(figsize=(5, 5))
ax.set_aspect(1)

x1 = -1 + np.random.randn(100)
y1 = -1 + np.random.randn(100)
x2 = 1. + np.random.randn(100)
y2 = 1. + np.random.randn(100)

ax.scatter(x1, y1, color="r")
ax.scatter(x2, y2, color="g")

向图表添加文本注释

接下来,我们将使用 ax.text() 函数向图表添加文本注释。我们将创建两个注释,一个用于“样本 A”,另一个用于“样本 B”。

bbox_props = dict(boxstyle="round", fc="w", ec="0.5", alpha=0.9)
ax.text(-2, -2, "Sample A", ha="center", va="center", size=20,
        bbox=bbox_props)
ax.text(2, 2, "Sample B", ha="center", va="center", size=20,
        bbox=bbox_props)

添加文本箭头以指示方向

为了指示数据的方向,我们将使用 ax.text() 函数和 bbox 参数添加一个文本箭头,并将 boxstyle 设置为 “rarrow”。

bbox_props = dict(boxstyle="rarrow", fc=(0.8, 0.9, 0.9), ec="b", lw=2)
t = ax.text(0, 0, "Direction", ha="center", va="center", rotation=45,
            size=15,
            bbox=bbox_props)

bb = t.get_bbox_patch()
bb.set_boxstyle("rarrow", pad=0.6)

设置绘图界限并显示绘图

最后,我们将使用 ax.set_xlim()ax.set_ylim()plt.show() 函数设置绘图的 x 和 y 界限,并显示绘图。

ax.set_xlim(-4, 4)
ax.set_ylim(-4, 4)

plt.show()

总结

在本教程中,我们学习了如何使用 Python 中的 Matplotlib 创建一个带有文本箭头的注释散点图。我们使用 ax.text() 函数向图中添加注释和文本箭头,并使用 ax.set_xlim()ax.set_ylim()plt.show() 函数设置绘图界限并显示绘图。