matplotlib.patches.ConnectionPatch
- classmatplotlib.patches.ConnectionPatch(xyA, xyB, coordsA, coordsB=None, *, axesA=None, axesB=None, arrowstyle='-', connectionstyle='arc3', patchA=None, patchB=None, shrinkA=0.0, shrinkB=0.0, mutation_scale=10.0, mutation_aspect=None, clip_on=False, **kwargs)[исходный код]
-
Базовые классы:
FancyArrowPatchПатч, соединяющий две точки (возможно, на разных объектах Axes).
Соединяет точку xyA в coordsA с точкой xyB в coordsB.
Допустимые ключи:
Ключ
Описание
arrowstyle
стиль стрелки
connectionstyle
стиль соединения
relpos
значение по умолчанию — (0.5, 0.5)
patchA
по умолчанию — ограничивающая рамка текста
patchB
значение по умолчанию — None
shrinkA
значение по умолчанию — 2 пункта
shrinkB
значение по умолчанию — 2 пункта
mutation_scale
по умолчанию — размер текста (в пунктах)
mutation_aspect
значение по умолчанию — 1.
?
любой ключ для
matplotlib.patches.PathPatchcoordsA и coordsB — строки, указывающие систему координат точек xyA и xyB.
Свойство
Описание
'figure points'
точки относительно нижнего левого угла фигуры
'figure pixels'
пиксели относительно нижнего левого угла фигуры
'figure fraction'
0, 0 — нижний левый угол фигуры, а 1, 1 — верхний правый
'subfigure points'
точки относительно нижнего левого угла подфигуры
'subfigure pixels'
пиксели относительно нижнего левого угла подфигуры
'subfigure fraction'
доля размера подфигуры; 0, 0 — нижний левый угол.
'axes points'
точки относительно нижнего левого угла объекта Axes
'axes pixels'
пиксели относительно нижнего левого угла объекта Axes
'axes fraction'
0, 0 — нижний левый угол объекта Axes, а 1, 1 — верхний правый
'data'
используется система координат аннотируемого объекта (по умолчанию)
'offset points'
смещение (в пунктах) относительно значения xy
'polar'
для аннотации можно задать theta, r, даже на декартовых графиках. Обратите внимание: если используется полярный объект Axes, указывать polar для системы координат не нужно, поскольку «data» является его собственной системой координат.
Кроме того, им можно задать любое допустимое преобразование
Transform.Обратите внимание: для родительской фигуры 'subfigure pixels' и 'figure pixels' совпадают, поэтому для кода, который можно использовать в подфигуре, указывайте 'subfigure pixels'.
Примечание
Использование
ConnectionPatchдля соединения двух экземпляровAxesнесовместимо напрямую с компоновкой с ограничениями. Добавьте художника непосредственно вFigure, а не в конкретный объект Axes, либо исключите его из компоновки с помощьюcon.set_in_layout(False).fig, ax = plt.subplots(1, 2, constrained_layout=True) con = ConnectionPatch(..., axesA=ax[0], axesB=ax[1]) fig.add_artist(con)
- draw(renderer)[исходный код]
-
Отрисовывает художника (и его дочерние элементы) с помощью указанного средства визуализации.
Ничего не делает, если художник невидим (метод
Artist.get_visibleвозвращает False).- Параметры:
-
-
rendererподкласс
RendererBase.
-
rendererподкласс
Примечания
Этот метод переопределяется в подклассах Artist.
- get_annotation_clip()[исходный код]
-
Возвращает поведение отсечения аннотации.
Описание возвращаемого значения см. в
set_annotation_clip.
- set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, annotation_clip=<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>)[исходный код]
-
Задаёт сразу несколько свойств.
Поддерживаются следующие свойства:
Свойство
Описание
функция фильтрации, принимающая массив float размером (m, n, 3) и значение dpi и возвращающая массив размером (m, n, 3) и два смещения от нижнего левого угла изображения
float или None
bool
bool или None
antialiasedилиaabool или None
[ '-' | '<-' | '->' | '<->' | '<|-' | '-|>' | '<|-|>' | ']-' | '-[' | ']-[' | '|-|' | ']->' | '<-[' | 'simple' | 'fancy' | 'wedge' ]
CapStyleили {'butt', 'projecting', 'round'}BboxBaseили Nonebool
Patch или (Path, Transform) или None
[ 'arc3' | 'angle3' | 'angle' | 'arc' | 'bar' ]
цвет или None
цвет или None
bool
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
неизвестно
bool
JoinStyleили {'miter', 'round', 'bevel'}object
{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
float или None
bool
float
float
список объектов
AbstractPathEffectNone, bool, float или вызываемый объект
неизвестно
bool
(scale: float, length: float, randomness: float)
bool или None
str
bool
float
- set_annotation_clip(b)[исходный код]
-
Задаёт поведение отсечения аннотации.
- Параметры:
-
- bbool или None
-
- True: аннотация будет отсечена, если
self.xyнаходится за пределами объекта Axes. - False: аннотация будет отрисовываться всегда.
- None: аннотация будет отсечена, если
self.xyнаходится за пределами объекта Axes иself.xycoords == "data".
- True: аннотация будет отсечена, если
Примеры использования matplotlib.patches.ConnectionPatch
© 2012–2026 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.patches.ConnectionPatch.html