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)[source]#

基类:Artist

补丁是一种具有面颜色和边颜色的二维艺术家对象。

如果 *edgecolor*、*facecolor*、*linewidth* 或 *antialiased* 为 *None*,则它们将默认使用其 rc 参数设置。

支持以下关键字参数属性

属性

描述

agg_filter

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

alpha

未知

animated

布尔值

antialiasedaa

布尔值或 None

capstyle

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

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

color

color

edgecolorec

颜色 或 None

facecolorfc

颜色 或 None

figure

FigureSubFigure

fill

布尔值

gid

str

hatch

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

hatch_linewidth

未知

in_layout

布尔值

joinstyle

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

label

object

linestylels

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

linewidthlw

浮点数或 None

mouseover

布尔值

path_effects

list of AbstractPathEffect

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

zorder

浮点数

contains(mouseevent, radius=None)[source]#

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

参数:
mouseeventMouseEvent

用户点击的位置。

radiusfloat, optional

补丁在 Patch.get_transform 目标坐标系中的额外边距。有关详细信息,请参见 Path.contains_point

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

  • 如果 Artist.get_picker 是一个数字,则默认值为该数字。这样可以确保拾取功能按预期工作。

  • 否则,如果边颜色具有非零 alpha 值,则默认值为线宽的一半。这样可以确保所有有颜色的像素都在补丁内。

  • 最后,如果边的 alpha 值为 0,则默认值为 0。这样可以避免没有描边边的补丁由于不可见的边而将其填充区域外的点报告为“在内”。

返回:
(bool, empty dict)
contains_point(point, radius=None)[source]#

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

参数:
point(float, float)

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

radiusfloat, optional

补丁在 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)[source]#

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

参数:
points(N, 2) array

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

radiusfloat, optional

补丁在 Patch.get_transform 目标坐标系中的额外边距。有关详细信息,请参见 Path.contains_point

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

  • 如果 Artist.get_picker 是一个数字,则默认值为该数字。这样可以确保拾取功能按预期工作。

  • 否则,如果边颜色具有非零 alpha 值,则默认值为线宽的一半。这样可以确保所有有颜色的像素都在补丁内。

  • 最后,如果边的 alpha 值为 0,则默认值为 0。这样可以避免没有描边边的补丁由于不可见的边而将其填充区域外的点报告为“在内”。

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

备注

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

draw(renderer)[source]#

使用给定的渲染器绘制 Artist(及其子对象)。

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

参数:
rendererRendererBase 子类。

备注

此方法在 Artist 子类中被覆盖。

property fill#

返回补丁是否填充。

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 形式返回 Patch 的轴对齐范围。

get_facecolor()[source]#

返回面颜色。

get_fc()[source]#

get_facecolor 的别名。

get_fill()[source]#

返回补丁是否填充。

get_hatch()[source]#

返回填充图案。

get_hatch_linewidth()[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_transform()[source]#

返回应用于 PatchTransform

get_verts()[source]#

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

如果补丁包含贝塞尔曲线,曲线将通过线段进行插值。要以曲线形式访问曲线,请使用 get_path

get_window_extent(renderer=None)[source]#

获取 artist 在显示空间中的边界框。

边界框的宽度和高度均为非负值。

子类应覆盖此方法,以便将其包含在边界框“紧密”计算中。默认返回一个位于 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>, hatch_linewidth=<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]#

一次性设置多个属性。

支持的属性包括:

属性

描述

agg_filter

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

alpha

未知

animated

布尔值

antialiased

布尔值或 None

capstyle

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

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

color

color

edgecolor

颜色 或 None

facecolor

颜色 或 None

figure

FigureSubFigure

fill

布尔值

gid

str

hatch

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

hatch_linewidth

未知

in_layout

布尔值

joinstyle

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

label

object

linestyle

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

linewidth

浮点数或 None

mouseover

布尔值

path_effects

list of AbstractPathEffect

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

zorder

浮点数

set_aa(aa)[source]#

set_antialiased 的别名。

set_alpha(alpha)[source]#

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

参数:
alpha浮点数或 None

alpha 必须在 0-1 范围内(包含 0 和 1)。

set_antialiased(aa)[source]#

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

参数:
aabool or None
set_capstyle(s)[source]#

设置 CapStyle

FancyArrowPatch 的默认线帽样式是 'round',所有其他补丁是 'butt'。

参数:
sCapStyle 或 {'butt', 'projecting', 'round'}
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_hatch_linewidth(lw)[source]#

设置填充线宽。

set_joinstyle(s)[source]#

设置 JoinStyle

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

参数:
sJoinStyle 或 {'miter', 'round', 'bevel'}
set_linestyle(ls)[source]#

设置补丁线型。

linestyle

描述

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

other复制属性到self

zorder = 1#

使用 matplotlib.patches.Patch 的示例#

多坐标轴动画

多坐标轴动画

插入定位器演示

插入定位器演示

命名颜色列表

命名颜色列表

放大镜

放大镜

路径编辑器

路径编辑器

选择事件演示

选择事件演示

多边形编辑器

多边形编辑器

Trifinder 事件演示

Trifinder 事件演示

视图限制

视图限制

用补丁裁剪图像

用补丁裁剪图像

绘制图像的多种方式

绘制图像的多种方式

带误差带的曲线

带误差带的曲线

阶梯图演示

阶梯图演示

锚定艺术家

锚定艺术家

识别艺术家是否相交

识别艺术家是否相交

自定义投影

自定义投影

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

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

Matplotlib 标志

Matplotlib 标志

簇状气泡图

簇状气泡图

SVG 滤镜饼图

SVG 滤镜饼图

TickedStroke 路径效果

TickedStroke 路径效果

在三维图中绘制平面对象

在三维图中绘制平面对象

饼中条形图

饼中条形图

箭头指南

箭头指南

Matplotlib 艺术家参考

Matplotlib 艺术家参考

复合路径

复合路径

海豚

海豚

嗯…甜甜圈!!!

嗯…甜甜圈!!!

带方向箭头的椭圆演示

带方向箭头的椭圆演示

椭圆演示

椭圆演示

绘制花式框

绘制花式框

孵化图案演示

孵化图案演示

孵化图案样式参考

孵化图案样式参考

圆、扇形和多边形

圆、扇形和多边形

PathPatch 对象

PathPatch 对象

贝塞尔曲线

贝塞尔曲线

图形解剖

图形解剖

Firefox

Firefox

曲线下面积的积分

曲线下面积的积分

辛顿图

辛顿图

石川图

石川图

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

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

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

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

箱线图

箱线图

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

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

使用 PatchCollection 从误差条创建框

使用 PatchCollection 从误差条创建框

ggplot 样式表

ggplot 样式表

灰度样式表

灰度样式表

Petroff10 样式表

Petroff10 样式表

样式表参考

样式表参考

坐标轴框纵横比

坐标轴框纵横比

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

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

坐标轴缩放效果

坐标轴缩放效果

比例不变角度标签

比例不变角度标签

括号箭头上的角度注释

括号箭头上的角度注释

注释图表

注释图表

组合自定义图例

组合自定义图例

AnnotationBbox 演示

AnnotationBbox 演示

将文本用作路径

将文本用作路径

文本旋转模式

文本旋转模式

放置文本框

放置文本框

文本对齐

文本对齐

艺术家测试

艺术家测试

带单位的椭圆

带单位的椭圆

菜单

菜单

路径教程

路径教程

变换教程

变换教程

图例指南

图例指南

指定颜色

指定颜色

注解

注解

文本属性和布局

文本属性和布局