matplotlib.pyplot.annotate#

matplotlib.pyplot.annotate(text, xy, xytext=None, xycoords='data', textcoords=None, arrowprops=None, annotation_clip=None, **kwargs)[源码]#

用文本 text 注释点 xy。

最简单的形式是,文本放置在 *xy* 处。

可选地,文本可以显示在另一个位置 *xytext*。然后可以通过定义 *arrowprops* 来添加一个从文本指向被标注点 *xy* 的箭头。

参数:
textstr

标注的文本内容。

xy(float, float)

要标注的点 *(x, y)*。坐标系统由 *xycoords* 决定。

xytext(float, float),默认值: *xy*

放置文本的位置 *(x, y)*。坐标系统由 *textcoords* 决定。

xycoords字符串或由两个元素组成的元组,或 Artist,或 Transform,或可调用对象,默认值:'data'

给出 *xy* 的坐标系统。支持以下类型的值:

  • 以下字符串之一

    值

    描述

    'figure points'

    从图形左下角开始的点

    'figure pixels'

    从图形左下角开始的像素

    'figure fraction'

    从图形左下角开始的比例

    'subfigure points'

    从子图左下角开始的点

    'subfigure pixels'

    从子图左下角开始的像素

    'subfigure fraction'

    从子图左下角开始的比例

    'axes points'

    从坐标系左下角开始的点

    'axes pixels'

    从坐标系左下角开始的像素

    'axes fraction'

    从坐标系左下角开始的比例

    'data'

    使用被标注对象的坐标系统(默认)

    'polar'

    如果不是原生 'data' 坐标,则为 *(theta, r)*

    请注意,对于父图形,'subfigure pixels' 和 'figure pixels' 是相同的,因此希望代码可在子图中使用的用户可以使用 'subfigure pixels'。

  • 若为 Artist:xy 将被解释为该艺术家 Bbox 的比例值。例如,(0, 0) 为边界框的左下角,(0.5, 1) 为边界框的顶部中心。

  • 用于将 xy 转换为屏幕坐标的 Transform。

  • 具有以下签名之一的函数

    def transform(renderer) -> Bbox
    def transform(renderer) -> Transform
    

    其中 renderer 为 RendererBase 的子类。

    该函数的结果解释方式与上述 Artist 和 Transform 的情况相同。

  • 一个元组 *(xcoords, ycoords)*,为 *x* 和 *y* 指定独立的坐标系统。*xcoords* 和 *ycoords* 都必须是上述类型之一。

详情请参阅 高级标注。

textcoords字符串或由两个元素组成的元组,或 Artist,或 Transform,或可调用对象,默认值:xycoords 的值

给出 *xytext* 的坐标系统。

所有 *xycoords* 值均有效,以及以下字符串:

值

描述

'offset points'

与 *xy* 值之间的偏移量(单位:点)

'offset pixels'

与 *xy* 值之间的偏移量(单位:像素)

'offset fontsize'

与 *xy* 值之间的偏移量(相对于字体大小)

arrowpropsdict,可选

用于在 xy 和 xytext 位置之间绘制 FancyArrowPatch 箭头的属性。默认为 None,即不绘制箭头。

出于历史原因,有两种不同的方式指定箭头:“简单”和“花式”

简单箭头

如果 *arrowprops* 不包含键 'arrowstyle',则允许的键为:

键

描述

width

箭头的宽度(单位:点)

headwidth

箭头头部底部的宽度(单位:点)

headlength

箭头头部的长度(单位:点)

shrink

从两端收缩的总长度比例

?

任何 FancyArrowPatch 属性

箭头附着在文本框的边缘,确切位置(角或中心)取决于其指向。

花式箭头

如果 *arrowprops* 中提供了 'arrowstyle',则使用此选项。

有效的键为以下 FancyArrowPatch 参数

键

描述

arrowstyle

箭头样式

connectionstyle

连接样式

relpos

见下文;默认值为 (0.5, 0.5)

patchA

默认为文本的包围盒

patchB

默认为 None

shrinkA

单位:点。默认值:2 点

shrinkB

单位:点。默认值:2 点

mutation_scale

默认为文本大小(单位:点)

mutation_aspect

默认值为 1

?

任何 FancyArrowPatch 属性

箭头的精确起点由 relpos 定义。它是文本框的相对坐标元组,(0, 0) 为左下角,(1, 1) 为右上角。支持 <0 和 >1 的值,用于指定文本框外部的点。默认值为 (0.5, 0.5),因此起点位于文本框的中心。

annotation_clip布尔值或 None,默认值: None

当标注点 *xy* 在坐标系区域之外时,是否剪裁(即不绘制)标注。

  • 如果为 *True*,当 *xy* 在坐标系之外时,标注将被剪裁。

  • 如果为 *False*,标注将始终被绘制。

  • 如果为 *None*,当 *xy* 在坐标系之外且 *xycoords* 为 'data' 时,标注将被剪裁。

**kwargs

额外的关键字参数 (kwargs) 将传递给 Text。

返回:
Annotation

另请参阅

注解

备注

注意

这是 axes.Axes.annotate 的 pyplot 封装。

使用 matplotlib.pyplot.annotate 的示例#

注释图

注释图

注释极坐标图

注释极坐标图

比例不变角度标签

比例不变角度标签

Pyplot 教程

Pyplot 教程