matplotlib.pyplot.annotate#

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

用文本 text 注释点 xy

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

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

参数:
textstr

标注的文本内容。

xy(float, float)

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

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

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

xycoords单字符串或双字符串元组,或 ArtistTransform 或可调用对象,默认值: '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 被解释为 Artist Bbox 的一个比例。例如,(0, 0) 将是边界框的左下角,而 (0.5, 1) 将是边界框的顶部中心。

  • 一个 Transform 对象,用于将 xy 转换为屏幕坐标。

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

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

    其中 rendererRendererBase 的子类。

    函数的结果解释方式与上述 ArtistTransform 的情况类似。

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

有关更多详细信息,请参见高级注释

textcoords单字符串或双字符串元组,或 ArtistTransform 或可调用对象,默认值: xycoords 的值

给出 *xytext* 的坐标系统。

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

描述

'offset points'(偏移点)

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

'offset pixels'(偏移像素)

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

'offset fontsize'(偏移字体大小)

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

arrowpropsdict,可选

用于在位置 xyxytext 之间绘制 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

返回:
注释

另请参阅

注解

备注

注意

这是 pyplot 封装axes.Axes.annotate

使用 matplotlib.pyplot.annotate 的示例#

锥形图

锥形图

比例不变角度标签

比例不变角度标签

注释变换

注释变换

注释图

注释图

注释极坐标图

注释极坐标图

Pyplot 教程

Pyplot 教程