Spec-Zone.ru › Matplotlib 3.6

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 Artist or Transform or 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 Artist or Transform or 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

Pyplot tutorial

Урок по Pyplot

Урок по Pyplot
Annotations

Аннотации

Аннотации

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API