调用格式:
matplotlib.pyplot.annotate(s, xy, *args, **kwargs)
用文本s标注点xy, 在最简单的形式中,文本放在xy处。此外还可以选择在另一位置显示文本,通过定义arrowprops添加一个从文本指向点xy的箭头。
参数
s:标注文本。
xy:要标注的点,一个元组(x,y)。
xytext:可选的,文本的位置,一个元组(x,y)。如果没有设置,默认为要标注的点的坐标。
xycoords:可选的,点的坐标系。字符串、Artist、Transform、callable或元组。
合法的坐标系字符串如下:
值 | 说明 | 值 | 说明 |
figure points | 从图的左下角开始的点数。 | figure pixels | 从图的左下角开始的像素数。 |
figure fraction | 小数,图的左下角为(0,0),右上角为(1,1)。 | axes points | 从子图的左下角开始的点数。 |
axes pixels | 从子图的左下角开始的像素数。 | axes fraction | 小数,子图的左下角为(0,0),右上角为(1,1)。 |
data | 使用被标注对象的坐标系,默认值。 | polar | 极坐标系,(theta,r)。 |
Artist:如果是Artist实例,那么xy会被解析为Artist实例的边框的小数坐标,即Artist实例的边框为一个小数坐标系, 边框的左下角坐标为(0,0)、右上角为(1,1)。这种情况下Artist实例必须已完成绘制。
Transform:
坐标系 | 调用方法 | 说明 |
data | ax.transData | 用户数据坐标系,由xlim和ylim控制。 |
axes | ax.transAxes | 子图坐标系,左下角为(0,0),右上角为(1,1)。 |
figure | fig.transFigure | 图坐标系,左下角为(0,0),右上角为(1,1)。 |
display | None | 像素坐标系,(0,0)是显示器的左下角,(width, height) 是显示器的右上角 |
callable:一个接受一个renderer对象并返回BboxBase或Transform实例的可调用对象。
元组:包含两个坐标系的元组,第一个是x坐标的坐标系,第二个是y坐标的坐标系。
textcoords:可选的,文本的坐标。默认为xycoods的值。可用数据类型与xycoods相同:字符串、Artist、Transform、callable或元组。并且字符串类型值还额外接受以下两项:
值 | 说明 |
offset points | 相对xy偏移的点数 |
offset pixels | 相对xy偏移的像素数 |
arrowprops:可选的,剪头属性,字典类型。用于在xy和xytext之间绘制FancyArrowPatch箭头的属性。在合法的属性中,arrowstyle与以下属性是互斥的。
值 | 说明 |
width | 以点为单位的箭头的宽度。 |
headwidth | 以点为单位的箭头底部的宽度。 |
headlength | 以点为单位的箭头的长度。 |
shrink | 从两端收缩的总长的百分比。 |
? | 任何matplotlib.patches.FancyArrowPatch属性。 |
arrowstyle的合法值如下:
值 | 说明(属性集合) | 值 | 说明(属性集合) |
- | 无 | <-> | head_length=0.4,head_width=0.2 |
-> | head_length=0.4,head_width=0.2 | <|- | head_length=0.4,head_width=0.2 |
-[ | widthB=1.0,lengthB=0.2,angleB=None | <|-|> | head_length=0.4,head_width=0.2 |
|-| | widthA=1.0,widthB=1.0 | fancy | head_length=0.4,head_width=0.4,tail_width=0.4 |
-|> | head_length=0.4,head_width=0.2 | simple | head_length=0.5,head_width=0.5,tail_width=0.2 |
<- | head_length=0.4,head_width=0.2 | wedge | tail_width=0.3,shrink_factor=0.5 |
在使用arrowstyle时,可用的属性为:
值 | 说明 | 值 | 说明 |
connectionstyle | 连接的样式。 | shrinkB | 箭头终点的缩进点数,默认为2。 |
relpos | 箭头起始点相对注释文本的位置,默认为 (0.5, 0.5)。 | mutation_scale | 用于缩放arrowstyle的属性,默认为以点数为单位的文本大小。 |
patchA | 箭头起点的形状,默认为文本框。 | mutation_aspect | 在变化之前矩形的高度会被此值压缩,变化后的矩形会被它的倒数拉伸,默认为1。 |
patchB | 箭头终点的形状,默认为空。 | ? | 任何atplotlib.patches.PathPatch属性。 |
shrinkA | 箭头起点的缩进点数,默认为2。 | | |
annotation_clip :可选的,布尔型或None。当标注点xy位于坐标轴区域外时,是否绘制标注。如果为True,则只有当xy在坐标轴内时才会绘制注释。如果为False,则总是绘制注释。如果为None,则只有当xy在坐标轴内且xycoords为data时绘制注释。默认为None。
**kwargs:额外的传递给matplotlib.text.Text的参数。
返回值
返回值为一个matplotlib.text.Annotation对象。