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одиночное или двухэлементное кортеж из str или
ArtistилиTransformили callable, по умолчанию: '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 должны быть каждого из описанных выше типов.
См. Расширенная аннотация для более подробной информации.
-
-
textcoordsодиночное или двухэлементное кортеж из str или
ArtistилиTransformили callable, по умолчанию: значение xycoords -
Система координат, в которой заданы координаты xytext.
Все значения xycoords также допустимы, а также следующие строки:
Значение
Описание
'offset points'
Смещение (в точках) от значения xy
'offset pixels'
Смещение (в пикселях) от значения xy
- arrowpropsdict, необязательно
-
Свойства, используемые для рисования стрелки
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
по умолчанию 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 или 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.7.5/api/_as_gen/matplotlib.axes.Axes.annotate.html