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艺术家。
如果 edgecolor、facecolor、linewidth 或 antialiased 中的任何一个是 None,它们将默认为其 rc 参数设置。
支持以下 kwarg 属性
属性
描述
一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和图像左下角的两个偏移量
未知
布尔
抗锯齿或 aa布尔值或无
CapStyle或 {'butt', 'projecting', 'round'}BboxBase或 None布尔
补丁或(路径,变换)或无
edgecolor或 eccolor or None
facecolor或 fccolor or None
布尔
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
布尔
JoinStyle或 {'miter', 'round', 'bevel'}对象
线型或 ls{'-', '--', '-.', ':', '', (偏移, 开关序列), ...}
linewidth或 lw浮点数或无
布尔
None 或 bool 或 float 或 callable
布尔
(scale: float, length: float, randomness: float)
布尔值或无
str
布尔
浮动
- 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_ec()[源代码]#
get_edgecolor的别名。
- get_fc()[源代码]#
get_facecolor的别名。
- get_ls()[源代码]#
get_linestyle的别名。
- get_lw()[源代码]#
get_linewidth的别名。
- get_patch_transform()[源代码][源代码]#
返回将补丁坐标映射到数据坐标的
Transform实例。例如,可以通过提供单位圆的坐标和将坐标(补丁坐标)缩放5倍的变换来定义一个表示半径为5的圆的补丁。
- 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>)[源代码]#
一次性设置多个属性。
支持的属性有
属性
描述
一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和图像左下角的两个偏移量
未知
布尔
布尔值或无
CapStyle或 {'butt', 'projecting', 'round'}BboxBase或 None布尔
补丁或(路径,变换)或无
color or None
color or None
布尔
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
布尔
JoinStyle或 {'miter', 'round', 'bevel'}对象
{'-', '--', '-.', ':', '', (偏移, 开关序列), ...}
浮点数或无
布尔
None 或 bool 或 float 或 callable
布尔
(scale: float, length: float, randomness: float)
布尔值或无
str
布尔
浮动
- set_aa(aa)[源代码]#
set_antialiased的别名。
- set_capstyle(s)[源代码][源代码]#
设置
CapStyle。默认的 capstyle 对于
FancyArrowPatch是 'round',而对于所有其他补丁是 'butt'。- 参数:
- s :
CapStyle或 {'butt', 'projecting', 'round'}CapStyle 或 {'butt', 'projecting', 'round'}
- s :
- set_color(c)[源代码][源代码]#
设置边框颜色和填充颜色。
- 参数:
- c颜色
参见
Patch.set_facecolor,Patch.set_edgecolor用于单独设置边缘或面的颜色。
- set_ec(color)[源代码]#
set_edgecolor的别名。
- set_fc(color)[源代码]#
set_facecolor的别名。
- 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'}
- s :
- set_linestyle(ls)[源代码][源代码]#
设置补丁的线条样式。
linestyle
描述
'-'或'solid'实线
'--'或'dashed'虚线
'-.'或'dashdot'虚点线
':'或'dotted'虚线
'none','None',' ', 或''不绘制任何内容
或者可以提供以下形式的破折号元组:
(offset, onoffseq)
其中
onoffseq是一个由点和点间墨水开关组成的偶数长度元组。- 参数:
- ls{'-', '--', '-.', ':', '', (偏移, 开关序列), ...}
线条样式。
- set_ls(ls)[源代码]#
set_linestyle的别名。
- set_lw(w)[源代码]#
set_linewidth的别名。
- zorder = 1#