matplotlib.axes.Axes.annotate#
- Axes.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单个或两个字符串元组,或
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)* 是包围盒的中心顶部。一个
Transform
用于将 *xy* 转换为屏幕坐标。具有以下签名之一的函数
def transform(renderer) -> Bbox def transform(renderer) -> Transform
其中 *renderer* 是
RendererBase
的子类。一个元组 *(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
。
- 返回:
另请参阅