matplotlib.pyplot.annotate
- matplotlib.pyplot.annotate(text, xy, xytext=None, xycoords='data', textcoords=None, arrowprops=None, annotation_clip=None, **kwargs)[source]
-
Аннотировать точку xy текстом text.
В простейшем виде текст размещается в точке xy.
При необходимости текст может отображаться в другом положении xytext. Стрелка, указывающая от текста к аннотированной точке xy, может быть добавлена путем определения arrowprops.
- Параметры:
-
- textstr
-
Текст аннотации.
- xy(float, float)
-
Точка (x, y) для аннотации. Система координат определяется параметром xycoords.
- xytext(float, float), default: xy
-
Позиция (x, y) для размещения текста. Система координат определяется параметром textcoords.
-
xycoordsstr or
ArtistorTransformor callable or (float, float), default: 'data' -
Система координат, в которой задается xy. Поддерживаются следующие типы значений:
-
Одна из следующих строк:
Значение
Описание
'figure points'
Точки от левого нижнего угла рисунка
'figure pixels'
Пиксели от левого нижнего угла рисунка
'figure fraction'
Доля рисунка от левого нижнего угла
'subfigure points'
Точки от левого нижнего угла подрисунка
'subfigure pixels'
Пиксели от левого нижнего угла подрисунка
'subfigure fraction'
Доля подрисунка от левого нижнего угла
'axes points'
Точки от левого нижнего угла осей
'axes pixels'
Пиксели от левого нижнего угла осей
'axes fraction'
Доля осей от левого нижнего угла
'data'
Использовать систему координат аннотируемого объекта (по умолчанию)
'polar'
(theta, r) если не используются собственные координаты 'data'
Обратите внимание, что '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.Результат работы функции интерпретируется аналогично случаям с
ArtistиTransform. - Кортеж (xcoords, ycoords), указывающий отдельные системы координат для x и y. xcoords и ycoords должны быть одного из описанных выше типов.
См. Расширенные аннотации для получения более подробной информации.
-
-
textcoordsstr or
ArtistorTransformor callable or (float, float), default: value of xycoords -
Система координат, в которой задается xytext.
Все значения xycoords действительны, а также следующие строки:
Значение
Описание
'offset points'
Смещение (в пунктах) от значения xy
'offset pixels'
Смещение (в пикселях) от значения xy
- arrowpropsdict, optional
-
Свойства, используемые для рисования стрелки
FancyArrowPatchмежду позициями xy и xytext. По умолчанию None, то есть стрелка не рисуется.По историческим причинам существует два разных способа указания стрелок: «простой» и «сложный»:
Простая стрелка:
Если arrowprops не содержит ключа 'arrowstyle', допустимыми ключами являются:
Ключ
Описание
width
Ширина стрелки в пунктах
headwidth
Ширина основания наконечника стрелки в пунктах
headlength
Длина наконечника стрелки в пунктах
shrink
Доля общей длины для уменьшения с обоих концов
?
Любой ключ для
matplotlib.patches.FancyArrowPatchСтрелка прикрепляется к краю текстового поля, точное положение (углы или центры) зависит от того, куда она указывает.
Сложная стрелка:
Используется, если 'arrowstyle' указан в arrowprops.
Допустимые ключи являются следующими параметрами
FancyArrowPatch:Ключ
Описание
arrowstyle
Стиль стрелки
connectionstyle
Стиль соединения
relpos
см. ниже; по умолчанию (0.5, 0.5)
patchA
по умолчанию ограничивающая рамка текста
patchB
по умолчанию None
shrinkA
по умолчанию 2 пункта
shrinkB
по умолчанию 2 пункта
mutation_scale
по умолчанию размер текста (в пунктах)
mutation_aspect
по умолчанию 1.
?
любой ключ для
matplotlib.patches.PathPatchТочное положение начальной точки стрелки определяется параметром relpos. Это кортеж относительных координат текстового поля, где (0, 0) — левый нижний угол, а (1, 1) — правый верхний угол. Значения <0 и >1 поддерживаются и указывают на точки вне текстового поля. По умолчанию (0.5, 0.5) начальная точка центрируется в текстовом поле.
- annotation_clipbool or None, default: None
-
Обрезать ли (т.е. не рисовать) аннотацию, когда точка аннотации xy находится за пределами области осей.
- Если True, аннотация будет обрезана, когда xy находится за пределами осей.
- Если False, аннотация всегда будет нарисована.
- Если None, аннотация будет обрезана, когда xy находится за пределами осей, и xycoords равно 'data'.
- **kwargs
-
Дополнительные параметры kwargs передаются в
Text.
- Возвращает:
-
Annotation
См. также
Примеры использования matplotlib.pyplot.annotate
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/_as_gen/matplotlib.pyplot.annotate.html