Spec-Zone.ru › Matplotlib

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)[исходный код]

Bases: Patch

Патч в виде фигурной стрелки.

Стрелка рисуется с помощью ArrowStyle. В основном он используется методом annotate. В большинстве случаев для рисования стрелок используйте метод annotate.

Положения наконечника и хвоста фиксированы в заданных начальной и конечной точках стрелки, но размер и форма стрелки (в координатах отображения) не меняются при перемещении или масштабировании осей.

Определение положения и траектории стрелки

Положение и траекторию стрелки можно задать двумя способами:

  • Начало, конец и соединение: Обычно начальную и конечную точки стрелки задают с помощью posA и posB. Кривую между ними можно дополнительно настроить с помощью connectionstyle.

    Если указаны patchA и patchB, кривая стрелки обрезается по их границам, что позволяет ей начинаться и заканчиваться на границе этих патчей. Кроме того, кривую стрелки можно укоротить с помощью shrinkA и shrinkB, чтобы создать отступ между началом/концом (после возможного обрезания) и нарисованной стрелкой.

  • path: Если задан параметр path, стрелка рисуется вдоль этого Path. В этом случае параметры connectionstyle, patchA, patchB, shrinkA и shrinkB игнорируются.

Стилизация

Параметр arrowstyle задаёт стиль наконечника, хвоста и стержня стрелки. Полученные стрелки можно дополнительно стилизовать, задавая свойства Patch, например linewidth, color, facecolor, edgecolor и т. д., с помощью именованных аргументов.

Параметры:
posA, posB(float, float), необязательно

Координаты (x, y) начальной и конечной точек стрелки. Фактически нарисованные начальная и конечная позиции могут быть изменены с помощью patchA, patchB, shrinkA и shrinkB.

posA и posB нельзя использовать одновременно с path.

pathPath, необязательно

Если указан, стрелка рисуется вдоль этого пути, а параметры patchA, patchB, shrinkA и shrinkB игнорируются.

path нельзя использовать одновременно с posA и posB.

arrowstylestr или ArrowStyle, по умолчанию: 'simple'

Стиль наконечника, хвоста и стержня стрелки. Это может быть

  • ArrowStyle или один из его подклассов
  • Краткое строковое имя (например, "->") из таблицы ниже, которое может содержать разделённый запятыми список параметров стиля, например "->, head_length=10, head_width=5".

Параметры стиля масштабируются с помощью mutation_scale.

Доступны следующие стили стрелок. См. также Справочник по стилям стрелок аннотаций.

Класс

Имя

Параметры

Curve

-

None

CurveA

<-

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

CurveB

->

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

CurveAB

<->

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

CurveFilledA

<|-

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

CurveFilledB

-|>

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

CurveFilledAB

<|-|>

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

BracketA

]-

widthA=1.0, lengthA=0.2, angleA=0

BracketB

-[

widthB=1.0, lengthB=0.2, angleB=0

BracketAB

]-[

widthA=1.0, lengthA=0.2, angleA=0, widthB=1.0, lengthB=0.2, angleB=0

BarAB

|-|

widthA=1.0, angleA=0, widthB=1.0, angleB=0

BracketCurve

]->

widthA=1.0, lengthA=0.2, angleA=None

CurveBracket

<-[

widthB=1.0, lengthB=0.2, angleB=None

Simple

simple

head_length=0.5, head_width=0.5, tail_width=0.2

Fancy

fancy

head_length=0.4, head_width=0.4, tail_width=0.4

Wedge

wedge

tail_width=0.3, shrink_factor=0.5

Только стили <|-, -|>, <|-|> simple, fancy и wedge содержат замкнутые пути и могут быть залиты.

connectionstylestr или ConnectionStyle или None, необязательно, по умолчанию: 'arc3'

ConnectionStyle, которым соединяются posA и posB. Это может быть

  • ConnectionStyle или один из его подклассов
  • Краткое строковое имя из таблицы ниже, например "arc3".

Класс

Имя

Параметры

Arc3

arc3

rad=0.0

Angle3

angle3

angleA=90, angleB=0

Angle

angle

angleA=90, angleB=0, rad=0.0

Arc

arc

angleA=0, angleB=0, armA=None, armB=None, rad=0.0

Bar

bar

armA=0.0, armB=0.0, fraction=0.3, angle=None

Игнорируется, если указан path.

patchA, patchBPatch, по умолчанию: None

Необязательные патчи в позициях posA и posB соответственно. Если они указаны, путь стрелки обрезается по этим патчам так, чтобы наконечник и хвост находились на их границах.

Игнорируется, если указан path.

shrinkA, shrinkBfloat, по умолчанию: 2

Укоротить путь стрелки в позициях posA и posB на указанное значение в пунктах. Это позволяет добавить отступ между заданными начальной/конечной точками и стрелкой.

Игнорируется, если указан path.

mutation_scalefloat, по умолчанию: 1

Значение, с помощью которого масштабируются атрибуты arrowstyle (например, head_length).

mutation_aspectNone или float, по умолчанию: None

Перед преобразованием высота прямоугольника будет уменьшена в соответствии с этим значением, а преобразованная фигура будет растянута в обратной пропорции.

Другие параметры:
**kwargsPatch свойства, необязательно

Список доступных свойств Patch:

Свойство

Описание

agg_filter

функция фильтра, принимающая массив чисел с плавающей точкой формы (m, n, 3) и значение dpi и возвращающая массив формы (m, n, 3) и два смещения от нижнего левого угла изображения

alpha

неизвестно

animated

bool

antialiased or aa

bool or None

capstyle

CapStyle or {'butt', 'projecting', 'round'}

clip_box

BboxBase or None

clip_on

bool

clip_path

Patch or (Path, Transform) or None

color

цвет

edgecolor or ec

цвет or None

facecolor or fc

цвет or None

figure

Figure or SubFigure

fill

bool

gid

str

hatch

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

hatch_linewidth

неизвестно

in_layout

bool

joinstyle

JoinStyle or {'miter', 'round', 'bevel'}

label

object

linestyle or ls

{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

linewidth or lw

float or None

mouseover

bool

path_effects

list of AbstractPathEffect

picker

None or bool or float or callable

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool or None

transform

Transform

url

str

visible

bool

zorder

float

В отличие от других патчей, значения capstyle и joinstyle по умолчанию для FancyArrowPatch установлены в "round".

draw(renderer)[исходный код]

Нарисовать Artist (и его дочерние элементы) с помощью указанного средства визуализации.

Ничего не происходит, если Artist невидим (Artist.get_visible возвращает False).

Параметры:
rendererподкласс RendererBase.

Примечания

Этот метод переопределяется в подклассах Artist.

get_arrowstyle()[исходный код]

Вернуть объект стиля стрелки.

get_connectionstyle()[исходный код]

Вернуть используемый ConnectionStyle.

get_mutation_aspect()[исходный код]

Вернуть соотношение сторон изменения bbox.

get_mutation_scale()[исходный код]

Вернуть масштаб изменения.

Возвращает:
scalar
get_path()[исходный код]

Вернуть путь стрелки в координатах данных.

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>, hatch_linewidth=<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>)[исходный код]

Задайте несколько свойств одновременно.

Поддерживаются следующие свойства:

Свойство

Описание

agg_filter

функция фильтрации, принимающая массив чисел с плавающей точкой формы (m, n, 3) и значение dpi и возвращающая массив формы (m, n, 3) и два смещения от нижнего левого угла изображения

alpha

float or None

animated

bool

antialiased or aa

bool or None

arrowstyle

[ '-' | '<-' | '->' | '<->' | '<|-' | '-|>' | '<|-|>' | ']-' | '-[' | ']-[' | '|-|' | ']->' | '<-[' | 'simple' | 'fancy' | 'wedge' ]

capstyle

CapStyle or {'butt', 'projecting', 'round'}

clip_box

BboxBase or None

clip_on

bool

clip_path

Patch or (Path, Transform) or None

color

цвет

connectionstyle

[ 'arc3' | 'angle3' | 'angle' | 'arc' | 'bar' ]

edgecolor or ec

цвет or None

facecolor or fc

цвет or None

figure

Figure or SubFigure

fill

bool

gid

str

hatch

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

hatch_linewidth

неизвестно

in_layout

bool

joinstyle

JoinStyle or {'miter', 'round', 'bevel'}

label

object

linestyle или ls

{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

linewidth или lw

float или None

mouseover

bool

mutation_aspect

float

mutation_scale

float

patchA

patches.Patch

patchB

patches.Patch

path_effects

список AbstractPathEffect

picker

None или bool или float или callable

positions

неизвестно

rasterized

bool

sketch_params

(scale: float, length: float, randomness: float)

snap

bool или None

transform

Transform

url

str

visible

bool

zorder

float

set_arrowstyle(arrowstyle=None, **kwargs)[исходный код]

Задать стиль стрелки и, при необходимости, дополнительные атрибуты.

Атрибуты предыдущего стиля стрелки повторно не используются.

Без аргумента (или с arrowstyle=None) доступные стили рамок возвращаются в виде строки, удобной для чтения.

Параметры:
arrowstylestr или ArrowStyle

Стиль стрелки: экземпляр ArrowStyle либо строка с названием стиля и, при необходимости, атрибутами, разделёнными запятыми (например, "Fancy,head_length=0.2"). Такая строка используется для создания объекта ArrowStyle, как описано в документации этого класса.

Доступны следующие стили стрелок:

Класс

Название

Параметры

Curve

-

None

CurveA

<-

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

CurveB

->

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

CurveAB

<->

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

CurveFilledA

<|-

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

CurveFilledB

-|>

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

CurveFilledAB

<|-|>

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

BracketA

]-

widthA=1.0, lengthA=0.2, angleA=0

BracketB

-[

widthB=1.0, lengthB=0.2, angleB=0

BracketAB

]-[

widthA=1.0, lengthA=0.2, angleA=0, widthB=1.0, lengthB=0.2, angleB=0

BarAB

|-|

widthA=1.0, angleA=0, widthB=1.0, angleB=0

BracketCurve

]->

widthA=1.0, lengthA=0.2, angleA=None

CurveBracket

<-[

widthB=1.0, lengthB=0.2, angleB=None

Simple

simple

head_length=0.5, head_width=0.5, tail_width=0.2

Fancy

fancy

head_length=0.4, head_width=0.4, tail_width=0.4

Wedge

wedge

tail_width=0.3, shrink_factor=0.5

**kwargs

Дополнительные атрибуты стиля стрелки. Поддерживаемые параметры см. в таблице выше.

Примеры

set_arrowstyle("Fancy,head_length=0.2")
set_arrowstyle("fancy", head_length=0.2)
set_connectionstyle(connectionstyle=None, **kwargs)[исходный код]

Задать стиль соединения, при необходимости указав дополнительные атрибуты.

Атрибуты предыдущего стиля соединения не используются повторно.

Без аргумента (или с connectionstyle=None) доступные стили соединения возвращаются в виде понятной человеку строки.

Параметры:
connectionstylestr или ConnectionStyle

Стиль соединения: экземпляр ConnectionStyle или строка, содержащая имя стиля и, при необходимости, атрибуты, разделённые запятыми (например, "Arc,armA=30,rad=10"). Такая строка используется для создания объекта ConnectionStyle, как описано в документации этого класса.

Доступны следующие стили соединения:

Класс

Имя

Параметры

Arc3

arc3

rad=0.0

Angle3

angle3

angleA=90, angleB=0

Angle

angle

angleA=90, angleB=0, rad=0.0

Arc

arc

angleA=0, angleB=0, armA=None, armB=None, rad=0.0

Bar

bar

armA=0.0, armB=0.0, fraction=0.3, angle=None

**kwargs

Дополнительные атрибуты стиля соединения. Поддерживаемые параметры см. в таблице выше.

Примеры

set_connectionstyle("Arc,armA=30,rad=10")
set_connectionstyle("arc", armA=30, rad=10)
set_mutation_aspect(aspect)[исходный код]

Задать соотношение сторон изменения bbox.

Параметры:
aspectfloat
set_mutation_scale(scale)[исходный код]

Задать масштаб изменения.

Параметры:
scalefloat
set_patchA(patchA)[исходный код]

Задать заплатку хвостовой части.

Параметры:
patchApatches.Patch
set_patchB(patchB)[исходный код]

Задать заплатку головной части.

Параметры:
patchBpatches.Patch
set_positions(posA, posB)[исходный код]

Задать начальную и конечную позиции соединительного пути.

Параметры:
posA, posBNone, tuple

Координаты (x, y) хвоста и наконечника стрелки соответственно. Если указано None, используется текущее значение.

Примеры использования matplotlib.patches.FancyArrowPatch

Анимация с несколькими осями

Анимация с несколькими осями

Круговая диаграмма с выносным столбцом

Круговая диаграмма с выносным столбцом

Руководство по стрелкам

Руководство по стрелкам

Аннотации углов на стрелках со скобками

Аннотации углов на стрелках со скобками

Аннотации

Аннотации

© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.patches.FancyArrowPatch.html

Spec-Zone.ru

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