matplotlib.patches.Patch
- classmatplotlib.patches.Patch(*, edgecolor=None, facecolor=None, color=None, linewidth=None, linestyle=None, antialiased=None, hatch=None, fill=True, capstyle=None, joinstyle=None, **kwargs)[source]
-
Основы:
ArtistОбъект типа patch — это двумерный элемент с цветом заливки и цветом обводки.
Если любой из параметров edgecolor, facecolor, linewidth или antialiased равен None, по умолчанию используются значения, заданные в параметрах rc.
Поддерживаются следующие свойства kwarg:
Свойство
Описание
Функция фильтра, которая принимает массив float (m, n, 3) и значение dpi, и возвращает массив (m, n, 3) и два смещения от левого нижнего угла изображения
неизвестно
булево значение
antialiasedили aaбулево значение или None
CapStyleили {'butt', 'projecting', 'round'}BboxBaseили Noneбулево значение
Объект типа Patch или (Path, Transform) или None
edgecolorили ecцвет или None
facecolorили fcцвет или None
булево значение
строка
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
булево значение
JoinStyleили {'miter', 'round', 'bevel'}объект
linestyleили ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidthили lwчисло с плавающей точкой или None
булево значение
список
AbstractPathEffectNone или булево значение или число с плавающей точкой или вызываемая функция
булево значение
(масштаб: число с плавающей точкой, длина: число с плавающей точкой, случайность: число с плавающей точкой)
булево значение или None
строка
булево значение
число с плавающей точкой
- contains(mouseevent, radius=None)[source]
-
Проверка, произошло ли событие мыши внутри объекта типа patch.
- Параметры:
-
-
mouseevent
MouseEvent -
Место клика пользователя.
- radiusчисло с плавающей точкой, необязательно
-
Дополнительный отступ от объекта типа patch в целевых координатах
Patch.get_transform. Дополнительные сведения см. вPath.contains_point.Если
None, значение по умолчанию зависит от состояния объекта:- Если
Artist.get_picker— число, значение по умолчанию равно этому числу. Это необходимо для корректной работы пикинга. - В противном случае, если цвет обводки имеет ненулевой альфа-канал, значение по умолчанию равно половине значения linewidth. Это необходимо для того, чтобы все цветные пиксели были "внутри" объекта типа patch.
- Наконец, если у обводки альфа-канал равен 0, значение по умолчанию равно 0. Это необходимо для того, чтобы у объектов типа patch без обводки точки за пределами области заливки не считались "внутри" из-за невидимой обводки.
- Если
-
mouseevent
- Возвращает:
-
- (булево значение, пустой словарь)
- contains_point(point, radius=None)[source]
-
Возвращает, находится ли заданная точка внутри области.
- Параметры:
-
- point(float, float)
-
Точка (x, y) для проверки в целевых координатах
.Patch.get_transform(). Это координаты отображения для областей, которые добавлены в фигуру или ось. - radiusfloat, необязательно
-
Дополнительный отступ от области в целевых координатах
Patch.get_transform. См.Path.contains_pointдля получения дополнительной информации.Если
None, значение по умолчанию зависит от состояния объекта:- Если
Artist.get_pickerявляется числом, значение по умолчанию равно этому числу. Это необходимо для правильной работы выбора. - В противном случае, если цвет обводки имеет ненулевую альфа-компоненту, значение по умолчанию равно половине толщины линии. Это нужно для того, чтобы все пиксели цвета были "внутри" области.
- Наконец, если у обводки альфа-компонента равна 0, значение по умолчанию равно 0. Это нужно для того, чтобы области без обводки не имели точек, лежащих вне заполненной области, которые указываются как "внутри" из-за невидимой обводки.
- Если
- Возвращает:
-
- bool
Примечания
Правильное использование этого метода зависит от преобразования области. У изолированных областей нет преобразования. В этом случае координаты создания области и координаты точки совпадают. Следующий пример проверяет, находится ли центр окружности внутри окружности
>>> center = 0, 0 >>> c = Circle(center, radius=1) >>> c.contains_point(center) True
Конвенция проверки относительно преобразованной области проистекает из того, что этот метод в основном используется для проверки того, находятся ли координаты отображения (например, из событий мыши) внутри области. Если вы хотите выполнить вышеуказанную проверку с координатами данных, вам необходимо сначала правильно их преобразовать:
>>> center = 0, 0 >>> c = Circle(center, radius=3) >>> plt.gca().add_patch(c) >>> transformed_interior_point = c.get_data_transform().transform((0, 2)) >>> c.contains_point(transformed_interior_point) True
- contains_points(points, radius=None)[source]
-
Возвращает, находятся ли заданные точки внутри области.
- Параметры:
-
- points(N, 2) массив
-
Точки для проверки в целевых координатах
self.get_transform(). Столбцы содержат значения x и y. - radiusfloat, необязательно
-
Дополнительный отступ от области в целевых координатах
Patch.get_transform. См.Path.contains_pointдля получения дополнительной информации.Если
None, значение по умолчанию зависит от состояния объекта:- Если
Artist.get_pickerявляется числом, значение по умолчанию равно этому числу. Это необходимо для правильной работы выбора. - В противном случае, если цвет обводки имеет ненулевую альфа-компоненту, значение по умолчанию равно половине толщины линии. Это нужно для того, чтобы все пиксели цвета были "внутри" области.
- Наконец, если у обводки альфа-компонента равна 0, значение по умолчанию равно 0. Это нужно для того, чтобы области без обводки не имели точек, лежащих вне заполненной области, которые указываются как "внутри" из-за невидимой обводки.
- Если
- Возвращает:
-
- массив bool длиной N
Примечания
Правильное использование этого метода зависит от преобразования области. См. заметки по
Patch.contains_point.
- draw(renderer)[source]
-
Отображает элемент (и его дочерние элементы) с помощью данного рендерера.
Это не имеет эффекта, если элемент не отображается (
Artist.get_visibleвозвращает False).- Параметры:
-
-
rendererподкласс
RendererBase.
-
rendererподкласс
Примечания
Этот метод переопределяется в подклассах элементов.
- propertyfill
-
Возвращает, заполнена ли область.
- get_aa()[source]
-
Псевдоним для
get_antialiased.
- get_antialiased()[source]
-
Возвращает, используется ли антиалиасинг для отрисовки.
- get_capstyle()[source]
-
Возвращает стиль окончания линии.
- get_data_transform()[source]
-
Возвращает
Transform, преобразующее координаты данных в физические координаты.
- get_ec()[source]
-
Псевдоним для
get_edgecolor.
- get_edgecolor()[source]
-
Возвращает цвет обводки.
- get_extents()[source]
-
Возвращает прямоугольные охватывающие области области как
Bbox.
- get_facecolor()[source]
-
Возвращает цвет заливки.
- get_fc()[source]
-
Псевдоним для
get_facecolor.
- get_fill()[source]
-
Возвращает, заполнена ли фигура.
- get_hatch()[source]
-
Возвращает шаблон штриховки.
- get_joinstyle()[source]
-
Возвращает стиль соединения.
- get_linestyle()[source]
-
Возвращает стиль линии.
- get_linewidth()[source]
-
Возвращает ширину линии в пунктах.
- get_ls()[source]
-
Псевдоним для
get_linestyle.
- get_lw()[source]
-
Псевдоним для
get_linewidth.
- get_patch_transform()[source]
-
Возвращает экземпляр
Transform, который сопоставляет координаты фигуры с координатами данных.Например, можно определить фигуру круга, которая представляет радиус 5, предоставив координаты единичного круга и преобразование, которое масштабирует координаты (координаты фигуры) на 5.
- get_path()[source]
-
Возвращает путь этой фигуры.
- get_verts()[source]
-
Возвращает копию вершин, используемых в этой фигуре.
Если фигура содержит кривые Безье, кривые будут интерполированы отрезками прямых. Чтобы получить кривые как кривые, используйте
get_path.
- get_window_extent(renderer=None)[source]
-
Получает прямоугольник фигуры в пространстве отображения.
Ширина и высота прямоугольника неотрицательны.
Подклассы должны переопределять для включения в вычисление "тесного" прямоугольника. По умолчанию возвращается пустой прямоугольник в координатах 0, 0.
Будьте внимательны при использовании этой функции. Результаты не обновляются, если область окна фигуры изменяется. Область может измениться из-за любых изменений в стеке преобразований, таких как изменение пределов оси, размера фигуры или используемого холста (как при сохранении фигуры). Это может привести к неожиданному поведению, когда интерактивные фигуры будут выглядеть нормально на экране, но сохранятся неправильно.
- set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, capstyle=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, gid=<UNSET>, hatch=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, mouseover=<UNSET>, path_effects=<UNSET>, picker=<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) и два смещения от нижнего левого угла изображения
неизвестно
bool
bool или None
CapStyleили {'butt', 'projecting', 'round'}BboxBaseили Nonebool
Patch или (Path, Transform) или None
цвет или None
цвет или None
bool
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
bool
JoinStyleили {'miter', 'round', 'bevel'}объект
{'-', '--', '-.', ':', '', (смещение, последовательность включений-выключений), ...}
float или None
bool
список
AbstractPathEffectNone или bool или float или вызываемая функция
bool
(масштаб: float, длина: float, случайность: float)
bool или None
str
bool
float
- set_aa(aa)[source]
-
Псевдоним для
set_antialiased.
- set_alpha(alpha)[source]
-
Установить значение альфа, используемое для смешивания - не поддерживается во всех бэкендах.
- Параметры:
-
- alphaскаляр или None
-
alpha должно быть в диапазоне от 0 до 1 включительно.
- set_antialiased(aa)[source]
-
Установить, использовать ли антиалиасинг.
- Параметры:
-
- aabool или None
- set_capstyle(s)[source]
-
Установить
CapStyle.По умолчанию стиль обрезки - 'round' для
FancyArrowPatchи 'butt' для всех других элементов.- Параметры:
-
-
s
CapStyleили {'butt', 'projecting', 'round'}
-
s
- set_color(c)[source]
-
Установить цвет границы и заливки.
- Параметры:
-
- cцвет
См. также
-
Patch.set_facecolor,Patch.set_edgecolor -
Для установки цвета границы или заливки по отдельности.
- set_ec(color)[source]
-
Псевдоним для
set_edgecolor.
- set_edgecolor(color)[source]
-
Установить цвет границы элемента.
- Параметры:
-
- colorцвет или None
- set_facecolor(color)[source]
-
Установить цвет заливки элемента.
- Параметры:
-
- colorцвет или None
- set_fc(color)[source]
-
Псевдоним для
set_facecolor.
- set_fill(b)[source]
-
Установить, заливать ли элемент.
- Параметры:
-
- bbool
- set_hatch(hatch)[source]
-
Установить узор штриховки.
hatch может быть одним из следующих:
/ - diagonal hatching \ - back diagonal | - vertical - - horizontal + - crossed x - crossed diagonal o - small circle O - large circle . - dots * - stars
Буквы могут быть объединены, в этом случае выполняется вся указанная штриховка. Если одна и та же буква повторяется, это увеличивает плотность штриховки этого узора.
- Параметры:
-
- hatch{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
- set_joinstyle(s)[source]
-
Установить
JoinStyle.По умолчанию стиль соединения - 'round' для
FancyArrowPatchи 'miter' для всех других элементов.- Параметры:
-
-
s
JoinStyleили {'miter', 'round', 'bevel'}
-
s
- set_linestyle(ls)[source]
-
Установить стиль линии патча.
Стиль линии
Описание
'-'или'solid'сплошная линия
'--'или'dashed'штриховая линия
'-.'или'dashdot'пунктирная линия
':'или'dotted'точковая линия
'none','None',' ', или''ничего не рисовать
В качестве альтернативы можно указать кортеж штрихов следующего формата:
(offset, onoffseq)
где
onoffseqэто кортеж чётной длины с интервалами и длиной отрезков в точках.- Параметры:
-
- ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
-
Стиль линии.
- set_linewidth(w)[source]
-
Установить ширину линии патча в точках.
- Параметры:
-
- wfloat или None
- set_ls(ls)[source]
-
Псевдоним для
set_linestyle.
- set_lw(w)[source]
-
Псевдоним для
set_linewidth.
- update_from(other)[source]
-
Копирует свойства из other в self.
- zorder=1
Примеры использования matplotlib.patches.Patch
Управление пределами просмотра с помощью отступов и sticky_edges
Построение эллипса доверия для двумерного набора данных
Создание прямоугольников из погрешностей с помощью PatchCollection
Построение гистограмм с помощью прямоугольников и PolyCollections
Диаграмма «радиарный график» (также известная как паук или звёздная диаграмма)
Диаграмма SkewT-logP: использование преобразований и пользовательских проекций
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/stable/api/_as_gen/matplotlib.patches.Patch.html