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 参数设置。
支持以下关键字参数属性
属性
描述
一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量
未知
布尔值
布尔值或 None
CapStyle
或 {'butt', 'projecting', 'round'}BboxBase
或 None布尔值
Patch 或 (Path, Transform) 或 None
颜色 或 None
颜色 或 None
布尔值
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
未知
布尔值
JoinStyle
或 {'miter', 'round', 'bevel'}object
{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
浮点数或 None
布尔值
list of
AbstractPathEffect
None 或 布尔值 或 浮点数 或 可调用对象
布尔值
(scale: 浮点数, length: 浮点数, randomness: 浮点数)
布尔值或 None
str
布尔值
浮点数
- contains(mouseevent, radius=None)[source]#
测试鼠标事件是否发生在补丁内。
- 参数:
- mouseevent
MouseEvent
用户点击的位置。
- radiusfloat, optional
补丁在
Patch.get_transform
目标坐标系中的额外边距。有关详细信息,请参见Path.contains_point
。如果为
None
,则默认值取决于对象的状态如果
Artist.get_picker
是一个数字,则默认值为该数字。这样可以确保拾取功能按预期工作。否则,如果边颜色具有非零 alpha 值,则默认值为线宽的一半。这样可以确保所有有颜色的像素都在补丁内。
最后,如果边的 alpha 值为 0,则默认值为 0。这样可以避免没有描边边的补丁由于不可见的边而将其填充区域外的点报告为“在内”。
- mouseevent
- 返回:
- (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),则此操作无效。- 参数:
- renderer
RendererBase
子类。
- renderer
备注
此方法在 Artist 子类中被覆盖。
- property fill#
返回补丁是否填充。
- get_aa()[source]#
get_antialiased
的别名。
- get_ec()[source]#
get_edgecolor
的别名。
- get_fc()[source]#
get_facecolor
的别名。
- get_ls()[source]#
get_linestyle
的别名。
- get_lw()[source]#
get_linewidth
的别名。
- get_patch_transform()[source]#
返回将补丁坐标映射到数据坐标的
Transform
实例。例如,可以通过提供单位圆的坐标,并使用一个将坐标(补丁坐标)缩放5倍的变换,来定义一个表示半径为5的圆形补丁。
- 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]#
一次性设置多个属性。
支持的属性包括:
属性
描述
一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量
未知
布尔值
布尔值或 None
CapStyle
或 {'butt', 'projecting', 'round'}BboxBase
或 None布尔值
Patch 或 (Path, Transform) 或 None
颜色 或 None
颜色 或 None
布尔值
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
未知
布尔值
JoinStyle
或 {'miter', 'round', 'bevel'}object
{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
浮点数或 None
布尔值
list of
AbstractPathEffect
None 或 布尔值 或 浮点数 或 可调用对象
布尔值
(scale: 浮点数, length: 浮点数, randomness: 浮点数)
布尔值或 None
str
布尔值
浮点数
- set_aa(aa)[source]#
set_antialiased
的别名。
- set_capstyle(s)[source]#
设置
CapStyle
。FancyArrowPatch
的默认线帽样式是 'round',所有其他补丁是 '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_fc(color)[source]#
set_facecolor
的别名。
- 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
。FancyArrowPatch
的默认连接样式是 'round',所有其他补丁是 'miter'。- 参数:
- s
JoinStyle
或 {'miter', 'round', 'bevel'}
- s
- set_linestyle(ls)[source]#
设置补丁线型。
linestyle
描述
'-'
或'solid'
实线
'--'
或'dashed'
虚线
'-.'
或'dashdot'
点划线
':'
或'dotted'
点线
'none'
,'None'
,' '
, 或''
不绘制任何内容
或者,可以提供以下形式的虚线元组
(offset, onoffseq)
其中
onoffseq
是一个偶数长度的元组,表示以点为单位的实线和空白长度。- 参数:
- ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
线型。
- set_ls(ls)[source]#
set_linestyle
的别名。
- set_lw(w)[source]#
set_linewidth
的别名。
- zorder = 1#