matplotlib.patches.FancyArrowPatch
- classmatplotlib.patches.FancyArrowPatch(posA=None, posB=None, *, path=None, arrowstyle='simple', connectionstyle='arc3', patchA=None, patchB=None, shrinkA=2, shrinkB=2, mutation_scale=1, mutation_aspect=1, **kwargs)[source]
-
Bases:
PatchИзменённый патч стрелки.
Рисует стрелку, используя
ArrowStyle. В основном используется методомannotate. Для большинства целей используйте метод annotate для рисования стрелок.Координаты начала и конца стрелки фиксированы, но размер и форма (в координатах отображения) стрелки не изменяются при перемещении или масштабировании оси.
Существует два способа определения стрелки:
- Если заданы posA и posB, создаётся путь, соединяющий две точки, в соответствии с connectionstyle. Этот путь будет обрезан с помощью patchA и patchB и дополнительно уменьшен на shrinkA и shrinkB. Стрелка рисуется вдоль этого результата с использованием параметра arrowstyle.
- В качестве альтернативы, если указан path, стрелка рисуется вдоль этого пути, и patchA, patchB, shrinkA и shrinkB игнорируются.
- Параметры:
-
- posA, posB(float, float), по умолчанию: None
-
(x, y) координаты хвоста и головки стрелки соответственно.
-
path
Path, по умолчанию: None -
Если указано, стрелка рисуется вдоль этого пути, и patchA, patchB, shrinkA и shrinkB игнорируются.
-
arrowstyleстрока или
ArrowStyle, по умолчанию: 'simple' -
Стиль стрелки
ArrowStyleдля рисования стрелки. Если строка, она должна быть одним из доступных имён стилей стрелки с необязательными параметрами, разделёнными запятыми. Необязательные параметры предназначены для масштабирования с помощью mutation_scale. Доступны следующие стили стрелок:Класс
Имя
Атрибуты
Кривая
-None
КриваяA
<-head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
КриваяB
->head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
КриваяAB
<->head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
Заполненная криваяA
<|-head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
Заполненная криваяB
-|>head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
Заполненная криваяAB
<|-|>head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
СкобаA
]-widthA=1.0, lengthA=0.2, angleA=0
СкобаB
-[widthB=1.0, lengthB=0.2, angleB=0
СкобаAB
]-[widthA=1.0, lengthA=0.2, angleA=0, widthB=1.0, lengthB=0.2, angleB=0
БлокAB
|-|widthA=1.0, angleA=0, widthB=1.0, angleB=0
Кривая скоба
]->widthA=1.0, lengthA=0.2, angleA=None
Скоба кривая
<-[widthB=1.0, lengthB=0.2, angleB=None
Простой
simplehead_length=0.5, head_width=0.5, tail_width=0.2
Изменённый
fancyhead_length=0.4, head_width=0.4, tail_width=0.4
Клиновидный
wedgetail_width=0.3, shrink_factor=0.5
-
connectionstyleстрока или
ConnectionStyleили None, необязательно, по умолчанию: 'arc3' -
Стиль соединения
ConnectionStyleдля соединения posA и posB. Если строка, она должна быть одним из доступных имён стилей соединения с необязательными параметрами, разделёнными запятыми. Доступные стили соединения:Класс
Имя
Атрибуты
Arc3
arc3rad=0.0
Angle3
angle3angleA=90, angleB=0
Угол
angleangleA=90, angleB=0, rad=0.0
Дуга
arcangleA=0, angleB=0, armA=None, armB=None, rad=0.0
Блок
bararmA=0.0, armB=0.0, fraction=0.3, angle=None
-
patchA, patchB
Patch, по умолчанию: None -
Патчи начала и конца соответственно.
- shrinkA, shrinkBfloat, по умолчанию: 2
-
Коэффициент уменьшения хвоста и головки стрелки соответственно.
- mutation_scalefloat, по умолчанию: 1
-
Значение, с которым масштабируются атрибуты arrowstyle (например, head_length).
- mutation_aspectNone или float, по умолчанию: None
-
Высота прямоугольника будет сжата на это значение до мутации, а изменённый прямоугольник будет растянут в обратном ему значении.
- Другие параметры:
-
-
**kwargs
Patchсвойства, необязательно -
Вот список доступных свойств
Patch:Свойство
Описание
функция фильтра, которая принимает массив чисел с плавающей точкой (m, n, 3) и значение dpi, а возвращает массив чисел с плавающей точкой (m, n, 3) и два смещения от нижнего левого угла изображения
неизвестно
bool
antialiasedили aabool или None
CapStyleили {'butt', 'projecting', 'round'}bool
Patch или (Path, Transform) или None
цвет
edgecolorили ecцвет или None
facecolorили fcцвет или None
bool
строка
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включений-выключений), ...}
linewidthили lwчисло с плавающей точкой или None
bool
None или bool или число с плавающей точкой или вызываемая функция
bool
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
bool или None
строка
bool
число с плавающей точкой
В отличие от других фигур, значения по умолчанию
capstyleиjoinstyleдляFancyArrowPatchустановлены в"round".
-
**kwargs
- draw(renderer)[source]
-
Отрисовка элемента Artist (и его дочерних элементов) с помощью указанного отрисовщика.
Это не имеет эффекта, если элемент Artist не отображается (
Artist.get_visibleвозвращает False).- Параметры:
-
-
renderer
RendererBaseподкласс.
-
renderer
Примечания
Этот метод переопределён в подклассах Artist.
- get_arrowstyle()[source]
-
Возвращает объект arrowstyle.
- get_connectionstyle()[source]
-
Возвращает используемую
ConnectionStyle.
-
- get_mutation_aspect()[source]
-
Возвращает коэффициент масштабирования области.
- get_mutation_scale()[source]
-
Возвращает масштаб мутации.
- Возвращает:
-
- скаляр
- get_path()[source]
-
Возвращает путь стрелки в координатах данных.
- set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, arrowstyle=<UNSET>, capstyle=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, connectionstyle=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, gid=<UNSET>, hatch=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, mouseover=<UNSET>, mutation_aspect=<UNSET>, mutation_scale=<UNSET>, patchA=<UNSET>, patchB=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, positions=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[source]
-
Установить несколько свойств сразу.
Поддерживаемые свойства:
Свойство
Описание
функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) и два смещения от нижнего левого угла изображения
скаляр или None
bool
antialiasedили aabool или None
строка или
ArrowStyleCapStyleили {'butt', 'projecting', 'round'}bool
Patch или (Path, Transform) или None
цвет
[ 'arc3' | 'angle3' | 'angle' | 'arc' | 'bar' ]
edgecolorили ecцвет или None
facecolorили fcцвет или None
bool
строка
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили ls{'-', '--', '-.', ':', '', (смещение, последовательность включений/выключений), ...}
linewidthили lwчисло с плавающей точкой или None
bool
число с плавающей точкой
число с плавающей точкой
None или bool или число с плавающей точкой или вызываемая функция
неизвестно
bool
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
bool или None
строка
bool
число с плавающей точкой
-
- set_arrowstyle(arrowstyle=None, **kwargs)[source]
-
Установите стиль стрелки, возможно, с дополнительными атрибутами.
Атрибуты из предыдущего стиля стрелки не используются повторно.
Без аргумента (или с
arrowstyle=None) доступные стили блоков возвращаются в виде читаемой строкой.- Параметры:
-
-
arrowstylestr или
ArrowStyle -
Стиль стрелки: либо экземпляр
ArrowStyle, либо строка, являющаяся именем стиля и, необязательно, отделёнными запятыми атрибутами (например, "Fancy,head_length=0.2"). Такая строка используется для построения объектаArrowStyle, как описано в этом классе.Доступны следующие стили стрелок:
%(ArrowStyle:table_and_accepts)s
- **kwargs
-
Дополнительные атрибуты для стиля стрелки. Поддерживаемые параметры см. в таблице выше.
-
arrowstylestr или
Примеры
set_arrowstyle("Fancy,head_length=0.2") set_arrowstyle("fancy", head_length=0.2)
- set_connectionstyle(connectionstyle=None, **kwargs)[source]
-
Установите стиль соединения, возможно, с дополнительными атрибутами.
Атрибуты из предыдущего стиля соединения не используются повторно.
Без аргумента (или с
connectionstyle=None) доступные стили блоков возвращаются в виде читаемой строкой.- Параметры:
-
-
connectionstylestr или
ConnectionStyle -
Стиль соединения: либо экземпляр
ConnectionStyle, либо строка, являющаяся именем стиля и, необязательно, отделёнными запятыми атрибутами (например, "Arc,armA=30,rad=10"). Такая строка используется для построения объектаConnectionStyle, как описано в этом классе.Доступные стили соединения:
Класс
Имя
Атрибуты
Arc3
arc3rad=0.0
Angle3
angle3angleA=90, angleB=0
Angle
angleangleA=90, angleB=0, rad=0.0
Arc
arcangleA=0, angleB=0, armA=None, armB=None, rad=0.0
Bar
bararmA=0.0, armB=0.0, fraction=0.3, angle=None
- **kwargs
-
Дополнительные атрибуты для стиля соединения. Поддерживаемые параметры см. в таблице выше.
-
connectionstylestr или
Примеры
set_connectionstyle("Arc,armA=30,rad=10") set_connectionstyle("arc", armA=30, rad=10)
- set_mutation_aspect(aspect)[source]
-
Установите соотношение сторон мутации рамки.
- Параметры:
-
- aspectfloat
- set_mutation_scale(scale)[source]
-
Установите масштаб мутации.
- Параметры:
-
- scalefloat
- set_patchA(patchA)[source]
-
Установите хвостовую рамку.
- Параметры:
-
-
patchA
patches.Patch
-
patchA
- set_patchB(patchB)[source]
-
Установите головную рамку.
- Параметры:
-
-
patchB
patches.Patch
-
patchB
- set_positions(posA, posB)[source]
-
Установите начальные и конечные позиции соединительного пути.
- Параметры:
-
- posA, posBNone, tuple
-
(x, y) координаты хвоста и головки стрелки соответственно. Если
Noneиспользуется текущее значение.
Примеры использования matplotlib.patches.FancyArrowPatch
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/_as_gen/matplotlib.patches.FancyArrowPatch.html