matplotlib.patches.Patch#

class matplotlib.patches.Patch(*, edgecolor=None, facecolor=None, color=None, linewidth=None, linestyle=None, antialiased=None, hatch=None, fill=True, capstyle=None, joinstyle=None, **kwargs)[源代码][源代码]#

基类:Artist

补丁是一个具有面部颜色和边缘颜色的2D艺术家。

如果 edgecolorfacecolorlinewidthantialiased 中的任何一个是 None,它们将默认为其 rc 参数设置。

支持以下 kwarg 属性

属性

描述

agg_filter

一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和图像左下角的两个偏移量

alpha

未知

animated

布尔

抗锯齿 或 aa

布尔值或无

capstyle

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

clip_box

BboxBase 或 None

clip_on

布尔

clip_path

补丁或(路径,变换)或无

颜色

color

edgecolor 或 ec

color or None

facecolor 或 fc

color or None

figure

FigureSubFigure

填充

布尔

gid

str

hatch

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

in_layout

布尔

joinstyle

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

标签

对象

线型 或 ls

{'-', '--', '-.', ':', '', (偏移, 开关序列), ...}

linewidth 或 lw

浮点数或无

鼠标悬停

布尔

path_effects

AbstractPathEffect 列表

picker

None 或 bool 或 float 或 callable

光栅化

布尔

sketch_params

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

snap

布尔值或无

transform

Transform

url

str

可见

布尔

zorder

浮动

contains(mouseevent, radius=None)[源代码][源代码]#

测试鼠标事件是否发生在补丁内。

参数:
mouseevent鼠标事件

用户点击的位置。

半径浮点数,可选

在目标坐标系中,Patch.get_transform 的补丁上添加额外的边距。更多详情请参见 Path.contains_point

如果 None,默认值取决于对象的状态:

  • 如果 Artist.get_picker 是一个数字,默认值为该值。这是为了使拾取功能按预期工作。

  • 否则,如果边缘颜色具有非零的alpha值,默认值为线宽的一半。这是为了让所有带颜色的像素都“在”补丁内。

  • 最后,如果边缘的alpha值为0,默认值为0。这是为了使没有描边边缘的补丁不会因为不可见的边缘而在填充区域外的点被报告为“在内部”。

返回:
(布尔值, 空字典)
contains_point(point, radius=None)[源代码][源代码]#

返回给定点是否在补丁内。

参数:
(浮点数, 浮点数)

要检查的点 (x, y),在 .Patch.get_transform() 的目标坐标中。这些是添加到图形或轴的补丁的显示坐标。

半径浮点数,可选

在目标坐标系中,Patch.get_transform 的补丁上添加额外的边距。更多详情请参见 Path.contains_point

如果 None,默认值取决于对象的状态:

  • 如果 Artist.get_picker 是一个数字,默认值为该值。这是为了使拾取功能按预期工作。

  • 否则,如果边缘颜色具有非零的alpha值,默认值为线宽的一半。这是为了让所有带颜色的像素都“在”补丁内。

  • 最后,如果边缘的alpha值为0,默认值为0。这是为了使没有描边边缘的补丁不会因为不可见的边缘而在填充区域外的点被报告为“在内部”。

返回:
布尔

注释

此方法的正确使用取决于补丁的变换。孤立的补丁没有变换。在这种情况下,补丁创建坐标和点坐标匹配。以下示例检查圆的中心是否在圆内

>>> 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)[源代码][源代码]#

返回给定的点是否在补丁内。

参数:
(N, 2) 数组

需要检查的点,位于 self.get_transform() 的目标坐标中。这些是添加到图形或轴的补丁的显示坐标。列包含 x 和 y 值。

半径浮点数,可选

在目标坐标系中,Patch.get_transform 的补丁上添加额外的边距。更多详情请参见 Path.contains_point

如果 None,默认值取决于对象的状态:

  • 如果 Artist.get_picker 是一个数字,默认值为该值。这是为了使拾取功能按预期工作。

  • 否则,如果边缘颜色具有非零的alpha值,默认值为线宽的一半。这是为了让所有带颜色的像素都“在”补丁内。

  • 最后,如果边缘的alpha值为0,默认值为0。这是为了使没有描边边缘的补丁不会因为不可见的边缘而在填充区域外的点被报告为“在内部”。

返回:
长度为N的布尔数组

注释

此方法的正确使用取决于补丁的变换。请参阅 Patch.contains_point 的注释。

draw(renderer)[源代码][源代码]#

使用给定的渲染器绘制艺术家(及其子项)。

如果艺术家不可见(Artist.get_visible 返回 False),则此操作无效。

参数:
渲染器 : RendererBase 子类。RendererBase 子类。

注释

此方法在 Artist 子类中被重写。

property fill#

返回补丁是否被填充。

get_aa()[源代码]#

get_antialiased 的别名。

get_antialiased()[源代码][源代码]#

返回是否使用抗锯齿进行绘图。

get_capstyle()[源代码][源代码]#

返回 capstyle。

get_data_transform()[源代码][源代码]#

返回将数据坐标映射到物理坐标的 Transform

get_ec()[源代码]#

get_edgecolor 的别名。

get_edgecolor()[源代码][源代码]#

返回边缘颜色。

get_extents()[源代码][源代码]#

返回 Patch 的轴对齐范围作为 Bbox

get_facecolor()[源代码][源代码]#

返回面颜色。

get_fc()[源代码]#

get_facecolor 的别名。

get_fill()[源代码][源代码]#

返回补丁是否被填充。

get_hatch()[源代码][源代码]#

返回填充图案。

get_joinstyle()[源代码][源代码]#

返回连接样式。

get_linestyle()[源代码][源代码]#

返回线型。

get_linewidth()[源代码][源代码]#

返回线的宽度,单位为点。

get_ls()[源代码]#

get_linestyle 的别名。

get_lw()[源代码]#

get_linewidth 的别名。

get_patch_transform()[源代码][源代码]#

返回将补丁坐标映射到数据坐标的 Transform 实例。

例如,可以通过提供单位圆的坐标和将坐标(补丁坐标)缩放5倍的变换来定义一个表示半径为5的圆的补丁。

get_path()[源代码][源代码]#

返回此补丁的路径。

get_transform()[源代码][源代码]#

返回应用于 PatchTransform

get_verts()[源代码][源代码]#

返回在此补丁中使用的顶点的副本。

如果补丁包含贝塞尔曲线,这些曲线将被插值为线段。要访问这些曲线作为曲线,请使用 get_path

get_window_extent(renderer=None)[源代码][源代码]#

获取艺术家在显示空间中的边界框。

边界框的宽度和高度是非负的。

子类应重写以包含在边界框“紧”计算中。默认是返回位于 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>)[源代码]#

一次性设置多个属性。

支持的属性有

属性

描述

agg_filter

一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和图像左下角的两个偏移量

alpha

未知

animated

布尔

抗锯齿

布尔值或无

capstyle

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

clip_box

BboxBase 或 None

clip_on

布尔

clip_path

补丁或(路径,变换)或无

颜色

color

edgecolor

color or None

facecolor

color or None

figure

FigureSubFigure

填充

布尔

gid

str

hatch

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

in_layout

布尔

joinstyle

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

标签

对象

线型

{'-', '--', '-.', ':', '', (偏移, 开关序列), ...}

linewidth

浮点数或无

鼠标悬停

布尔

path_effects

AbstractPathEffect 列表

picker

None 或 bool 或 float 或 callable

光栅化

布尔

sketch_params

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

snap

布尔值或无

transform

Transform

url

str

可见

布尔

zorder

浮动

set_aa(aa)[源代码]#

set_antialiased 的别名。

set_alpha(alpha)[源代码][源代码]#

设置用于混合的 alpha 值 - 并非所有后端都支持。

参数:
alpha标量或无

alpha 必须在 0-1 范围内,包括 0 和 1。

set_antialiased(aa)[源代码][源代码]#

设置是否使用抗锯齿渲染。

参数:
aa布尔值或无
set_capstyle(s)[源代码][源代码]#

设置 CapStyle

默认的 capstyle 对于 FancyArrowPatch 是 'round',而对于所有其他补丁是 'butt'。

参数:
s : CapStyle 或 {'butt', 'projecting', 'round'}CapStyle 或 {'butt', 'projecting', 'round'}
set_color(c)[源代码][源代码]#

设置边框颜色和填充颜色。

参数:
c颜色

参见

Patch.set_facecolor, Patch.set_edgecolor

用于单独设置边缘或面的颜色。

set_ec(color)[源代码]#

set_edgecolor 的别名。

set_edgecolor(color)[源代码][源代码]#

设置补丁边缘颜色。

参数:
颜色 : color or None颜色 或 None
set_facecolor(color)[源代码][源代码]#

设置补丁面的颜色。

参数:
颜色 : color or None颜色 或 None
set_fc(color)[源代码]#

set_facecolor 的别名。

set_fill(b)[源代码][源代码]#

设置是否填充补丁。

参数:
b布尔
set_hatch(hatch)[源代码][源代码]#

设置填充图案。

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)[源代码][源代码]#

设置 JoinStyle

默认的连接样式对于 FancyArrowPatch 是 'round',而对于所有其他补丁是 'miter'。

参数:
s : JoinStyle 或 {'miter', 'round', 'bevel'}JoinStyle 或 {'miter', 'round', 'bevel'}
set_linestyle(ls)[源代码][源代码]#

设置补丁的线条样式。

linestyle

描述

'-''solid'

实线

'--''dashed'

虚线

'-.''dashdot'

虚点线

':''dotted'

虚线

'none', 'None', ' ', 或 ''

不绘制任何内容

或者可以提供以下形式的破折号元组:

(offset, onoffseq)

其中 onoffseq 是一个由点和点间墨水开关组成的偶数长度元组。

参数:
ls{'-', '--', '-.', ':', '', (偏移, 开关序列), ...}

线条样式。

set_linewidth(w)[源代码][源代码]#

设置补丁线的宽度,单位为点。

参数:
w浮点数或无
set_ls(ls)[源代码]#

set_linestyle 的别名。

set_lw(w)[源代码]#

set_linewidth 的别名。

update_from(other)[源代码][源代码]#

other 复制属性到 self

zorder = 1#

使用 matplotlib.patches.Patch 的示例#

带有误差带的曲线

Curve with error band

楼梯演示

Stairs Demo

使用补丁裁剪图像

Clipping images with patches

多种绘制图像的方法

Many ways to plot images

坐标轴方框比例

Axes box aspect

使用边距和粘性边缘控制视图限制

Controlling view limits using margins and sticky_edges

坐标轴缩放效果

Axes zoom effect

箱线图

Boxplots

绘制二维数据集的置信椭圆

Plot a confidence ellipse of a two-dimensional dataset

使用 PatchCollection 从误差条创建框

Create boxes from error bars using PatchCollection

饼图条

Bar of pie

尺度不变角度标签

Scale invariant angle label

括号箭头上的角度注释

Angle annotations on bracket arrows

标注图表

Annotate plots

自定义图例

Compose custom legends

AnnotationBbox 演示

AnnotationBbox demo

将文本用作路径

Using a text as a Path

文本旋转模式

Text rotation mode

放置文本框

Placing text boxes

文本对齐

Text alignment

命名颜色列表

List of named colors

Arrow 指南

Arrow guide

Matplotlib 艺术家的参考

Reference for Matplotlib artists

复合路径

Compound path

海豚

Dolphins

Mmh 甜甜圈!!!

Mmh Donuts!!!

带方向箭头的椭圆演示

Ellipse with orientation arrow demo

椭圆演示

Ellipse Demo

绘制花哨的框

Drawing fancy boxes

Hatch 演示

Hatch demo

Hatch 样式参考

Hatch style reference

圆、楔形和多边形

Circles, Wedges and Polygons

PathPatch 对象

PathPatch object

贝塞尔曲线

Bezier curve

ggplot 样式表

ggplot style sheet

灰度样式表

Grayscale style sheet

样式表引用

Style sheets reference

插入定位器演示

Inset locator demo

图的结构

Anatomy of a figure

Firefox

Firefox

积分作为曲线下的面积

Integral as the area under a curve

多轴动画

Multiple Axes animation

镜子

Looking glass

路径编辑器

Path editor

选择事件演示

Pick event demo

多边形编辑器

Polygon editor

Trifinder 事件演示

Trifinder Event Demo

视图限制

Viewlims

锚定艺术家

Anchored Artists

识别艺术家是否相交

Identify whether artists intersect

自定义投影

Custom projection

使用矩形和多边形集合构建直方图

Building histograms using Rectangles and PolyCollections

Matplotlib 标志

Matplotlib logo

打包气泡图

Packed-bubble chart

SVG 滤镜派

SVG filter pie

TickedStroke 路径效果

TickedStroke patheffect

在3D图中绘制平面物体

Draw flat objects in 3D plot

Hinton 图

Hinton diagrams

石川图

Ishikawa Diagram

雷达图(又称蜘蛛图或星形图)

Radar chart (aka spider or star chart)

SkewT-logP 图:使用变换和自定义投影

SkewT-logP diagram: using transforms and custom projections

艺术家测试

Artist tests

带有单位的椭圆

Ellipse with units

菜单

Menu

路径教程

Path Tutorial

变换教程

Transformations Tutorial

图例指南

Legend guide

指定颜色

Specifying colors

文本属性和布局

Text properties and layout

注解

Annotations