matplotlib.axes.Axes.annotate
- Axes.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), по умолчанию: xy
-
Позиция (x, y) для размещения текста. Система координат определяется параметром textcoords.
-
xycoordsстрока или
ArtistилиTransformили вызываемая функция или (float, float), по умолчанию: 'data' -
Система координат, в которой задана точка xy. Поддерживаются следующие типы значений:
-
Одна из следующих строк:
Значение
Описание
'figure points'
Точки от левого нижнего угла фигуры
'figure pixels'
Пиксели от левого нижнего угла фигуры
'figure fraction'
Доля от левого нижнего угла фигуры
'subfigure points'
Точки от левого нижнего угла подрисунка
'subfigure pixels'
Пиксели от левого нижнего угла подрисунка
'subfigure fraction'
Доля от левого нижнего угла подрисунка
'axes points'
Точки от левого нижнего угла области построения
'axes pixels'
Пиксели от левого нижнего угла области построения
'axes fraction'
Доля от левого нижнего угла области построения
'data'
Используется система координат объекта, к которому добавляется аннотация (по умолчанию)
'polar'
(θ, r), если координаты не в формате 'data'
Обратите внимание, что 'subfigure pixels' и 'figure pixels' совпадают для родительской фигуры, поэтому для кода, который можно использовать в подрисунке, можно использовать 'subfigure pixels'.
- Объект
Artist: xy интерпретируется как доля отBboxобъекта. - Преобразование
Transformдля преобразования xy в экранные координаты. -
Функция с одним из следующих сигнатур:
def transform(renderer) -> Bbox def transform(renderer) -> Transform
где renderer — подкласс
RendererBase.Результат функции интерпретируется так же, как в случаях с
ArtistиTransform. - Кортеж (xcoords, ycoords), определяющий отдельные системы координат для x и y. xcoords и ycoords должны быть одного из описанных выше типов.
См. Дополнительные аннотации для получения более подробной информации.
-
-
textcoordsстрока или
ArtistилиTransformили вызываемая функция или (float, float), по умолчанию: значение xycoords -
Система координат, в которой задана точка xytext.
Все значения xycoords также допустимы, а также следующие строки:
Значение
Описание
'offset points'
Смещение (в пунктах) от значения xy
'offset pixels'
Смещение (в пикселях) от значения xy
- arrowpropsсловарь, необязательно
-
Свойства, используемые для рисования стрелки
FancyArrowPatchмежду позициями xy и xytext. По умолчанию равноNone, т.е. стрелка не рисуется.По историческим причинам есть два способа задания стрелок, "простые" и "сложные":
Простая стрелка:
Если arrowprops не содержит ключ 'arrowstyle', допустимые ключи:
Ключ
Описание
width
Ширина стрелки в пунктах
headwidth
Ширина основания головки стрелки в пунктах
headlength
Длина головки стрелки в пунктах
shrink
Доля от общей длины, отступаемой с обеих сторон
?
Любой ключ для
matplotlib.patches.FancyArrowPatchСтрелка прикрепляется к краю текстового поля, точное положение (углы или центры) зависит от направления.
Сложная стрелка:
Используется, если в arrowprops указан ключ 'arrowstyle'.
Допустимые ключи — параметры
FancyArrowPatch:Ключ
Описание
arrowstyle
стиль стрелки
connectionstyle
стиль соединения
relpos
см. ниже; по умолчанию (0.5, 0.5)
patchA
по умолчанию — ограничивающая рамка текста
patchB
по умолчанию
NoneshrinkA
по умолчанию 2 пункта
shrinkB
по умолчанию 2 пункта
mutation_scale
по умолчанию размер текста (в пунктах)
mutation_aspect
по умолчанию 1.
?
любой ключ для
matplotlib.patches.PathPatchТочная начальная точка стрелки определяется параметром relpos. Это кортеж относительных координат текстового поля, где (0, 0) — нижний левый угол, а (1, 1) — верхний правый угол. Допустимы значения <0 и >1, указывающие на точки за пределами текстового поля. По умолчанию (0.5, 0.5) начальная точка находится в центре текстового поля.
-
annotation_clipbool или
None, по умолчанию:None -
Определяет, нужно ли обрезать (т.е. не рисовать) аннотацию, когда точка аннотации xy находится за пределами области построения.
- Если True, аннотация будет обрезана, когда xy находится вне области построения.
- Если False, аннотация всегда будет нарисована.
- Если None, аннотация будет обрезана, когда xy находится вне области построения, а xycoords равно 'data'.
- **kwargs
-
Дополнительные kwargs передаются в
Text.
- Возвращаемое значение:
-
Annotation
См. также
Примеры использования matplotlib.axes.Axes.annotate
Создание временной шкалы с линиями, датами и текстом
Объединение двух подграфиков с использованием subplots и GridSpec
Отрисовка математических уравнений с использованием TeX
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/_as_gen/matplotlib.axes.Axes.annotate.html