matplotlib.axes.Axes.annotate
- Axes.annotate(text, xy, xytext=None, xycoords='data', textcoords=None, arrowprops=None, annotation_clip=None, **kwargs)[исходный код]
-
Добавляет аннотацию с текстом text к точке xy.
В простейшем случае текст размещается в точке xy.
При необходимости текст можно разместить в другом месте — xytext. Затем можно добавить стрелку, указывающую от текста на аннотируемую точку xy, задав параметр arrowprops.
- Параметры:
-
- 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
'axes pixels'
Пиксели относительно нижнего левого угла объекта Axes
'axes fraction'
Доля размера Axes относительно нижнего левого угла
'data'
Использовать систему координат аннотируемого объекта (по умолчанию)
'polar'
(theta, r), если используются не исходные координаты 'data'
Обратите внимание: для родительской фигуры значения 'subfigure pixels' и 'figure pixels' совпадают. Поэтому, если вы хотите написать код, который будет работать с подфигурой, используйте 'subfigure pixels'.
Artist: xy интерпретируется как доляBboxобъекта Artist. Например, (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одна строка или пара строк, либо
Artist, либоTransform, либо вызываемый объект; по умолчанию: значение xycoords -
Система координат, в которой задано положение xytext.
Допускаются все значения xycoords, а также следующие строки:
Значение
Описание
'offset points'
Смещение в точках относительно значения xy
'offset pixels'
Смещение в пикселях относительно значения xy
'offset fontsize'
Смещение относительно размера шрифта от значения xy
- arrowpropsdict, необязательно
-
Свойства для рисования стрелки
FancyArrowPatchмежду точками xy и xytext. По умолчанию имеет значение 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_clipbool или None, по умолчанию: None
-
Нужно ли обрезать (то есть не рисовать) аннотацию, если точка аннотации xy находится за пределами области Axes.
- Если задано значение True, аннотация обрезается, когда xy находится за пределами Axes.
- Если задано значение False, аннотация рисуется всегда.
- Если задано значение None, аннотация обрезается, когда xy находится за пределами Axes, а параметр xycoords имеет значение 'data'.
- **kwargs
-
Дополнительные именованные аргументы передаются в
Text.
- Возвращает:
-
Annotation
См. также
Примеры использования matplotlib.axes.Axes.annotate
Объединение двух подграфиков с помощью subplots и GridSpec
Объединение текстовых объектов с разными свойствами
Отображение математических уравнений с помощью TeX
© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.annotate.html