matplotlib.patches.FancyArrowPatch#
- class matplotlib.patches.FancyArrowPatch(posA=None, posB=None, *, path=None, arrowstyle='simple', connectionstyle='arc3', patchA=None, patchB=None, shrinkA=2, shrinkB=2, mutation_scale=1, mutation_aspect=1, **kwargs)[源代码][源代码]#
基类:
Patch
一个花哨的箭头补丁。
它使用
ArrowStyle
绘制箭头。它主要由annotate
方法使用。对于大多数用途,使用 annotate 方法来绘制箭头。箭头的头部和尾部位置固定在指定的起点和终点,但箭头的大小和形状(在显示坐标中)不会随着轴的移动或缩放而改变。
定义箭头有两种方式:
如果给出了 posA 和 posB,则会根据 connectionstyle 创建一条连接两点的路径。该路径将被 patchA 和 patchB 裁剪,并进一步缩小 shrinkA 和 shrinkB。使用 arrowstyle 参数沿着这条结果路径绘制箭头。
或者,如果提供了 path ,则沿此路径绘制箭头,并且 patchA 、 patchB 、 shrinkA 和 shrinkB 将被忽略。
- 参数:
- posA, posB(浮点数, 浮点数), 默认: None
(x, y) 分别表示箭尾和箭头的坐标。
- 路径 :
Path
, 默认: None路径,默认值:无 如果提供了路径,则沿此路径绘制箭头,并且忽略 patchA、patchB、shrinkA 和 shrinkB。
- arrowstyle : str 或
ArrowStyle
, 默认: 'simple'str 或 用于绘制精美箭头的
ArrowStyle
。如果是字符串,它应该是可用箭头样式名称之一,带有可选的逗号分隔属性。可选属性旨在与 mutation_scale 一起缩放。以下箭头样式可用:类
名称
Attrs
曲线
-
无
曲线A
<-
head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
曲线B
->
head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
曲线AB
<->
head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
曲线填充
<|-
head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
曲线填充B
-|>
head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
曲线填充AB
<|-|>
head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
BracketA
]-
widthA=1.0, lengthA=0.2, angleA=0
BracketB
-[
widthB=1.0, lengthB=0.2, angleB=0
BracketAB
]-[
widthA=1.0, lengthA=0.2, angleA=0, widthB=1.0, lengthB=0.2, angleB=0
BarAB
|-|
widthA=1.0, angleA=0, widthB=1.0, angleB=0
BracketCurve
]->
widthA=1.0, lengthA=0.2, angleA=None
CurveBracket
<-[
widthB=1.0, lengthB=0.2, angleB=None
简单
simple
head_length=0.5, head_width=0.5, tail_width=0.2
花哨
fancy
head_length=0.4, head_width=0.4, tail_width=0.4
楔子
wedge
tail_width=0.3, shrink_factor=0.5
- connectionstyle : str 或
ConnectionStyle
或 None, 可选, 默认: 'arc3'str 或 连接 posA 和 posB 的
ConnectionStyle
。如果是一个字符串,它应该是可用连接样式名称之一,带有可选的逗号分隔属性。以下连接样式可用:类
名称
Attrs
Arc3
arc3
rad=0.0
Angle3
angle3
angleA=90, angleB=0
角度
angle
angleA=90, angleB=0, rad=0.0
弧
arc
angleA=0, angleB=0, armA=None, armB=None, rad=0.0
酒吧
bar
armA=0.0, armB=0.0, fraction=0.3, angle=None
- patchA, patchB :
Patch
, 默认: None补丁,默认值:无 分别是头部和尾部的补丁。
- shrinkA, shrinkB浮点数,默认值:2
箭头的尾部和头部的收缩量,单位为点。
- mutation_scalefloat, 默认值: 1
用于缩放 arrowstyle 属性(例如,head_length)的值。
- mutation_aspectNone 或 float, 默认: None
矩形的高度将在突变前被此值压缩,而突变后的盒子将被其倒数拉伸。
- 其他参数:
- **kwargs :
Patch
属性, 可选补丁属性,可选 以下是可用的
Patch
属性列表:属性
描述
一个过滤函数,它接受一个 (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'}对象
linestyle
或 ls{'-', '--', '-.', ':', '', (偏移, 开-关序列), ...}
linewidth
或 lw浮点数或无
布尔
None 或 bool 或 float 或 callable
布尔
(scale: float, length: float, randomness: float)
布尔值或无
str
布尔
float
与其他补丁不同,
FancyArrowPatch
的默认capstyle
和joinstyle
设置为"round"
。
- **kwargs :
- draw(renderer)[源代码][源代码]#
使用给定的渲染器绘制艺术家(及其子项)。
如果艺术家不可见(
Artist.get_visible
返回 False),则此操作无效。- 参数:
- 渲染器 :
RendererBase
子类。RendererBase 子类。
- 渲染器 :
注释
此方法在 Artist 子类中被重写。
- get_connectionstyle()[源代码][源代码]#
返回使用的
ConnectionStyle
。
- set(*, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, arrowstyle=<UNSET>, capstyle=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, color=<UNSET>, connectionstyle=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, fill=<UNSET>, gid=<UNSET>, hatch=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, mouseover=<UNSET>, mutation_aspect=<UNSET>, mutation_scale=<UNSET>, patchA=<UNSET>, patchB=<UNSET>, path_effects=<UNSET>, picker=<UNSET>, positions=<UNSET>, rasterized=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[源代码]#
一次性设置多个属性。
支持的属性有
属性
描述
一个过滤函数,它接受一个 (m, n, 3) 的浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和两个从图像左下角开始的偏移量
标量或无
布尔
抗锯齿
或 aa布尔值或无
[ '-' | '<-' | '->' | '<->' | '<|-' | '-|>' | '<|-|>' | ']-' | '-[' | ']-[' | '|-|' | ']->' | '<-[' | 'simple' | 'fancy' | 'wedge' ]
CapStyle
或 {'butt', 'projecting', 'round'}BboxBase
或 None布尔
补丁或(路径,变换)或无
[ 'arc3' | 'angle3' | 'angle' | 'arc' | 'bar' ]
edgecolor
或 eccolor or None
facecolor
或 fccolor or None
布尔
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
布尔
JoinStyle
或 {'miter', 'round', 'bevel'}对象
linestyle
或 ls{'-', '--', '-.', ':', '', (偏移, 开-关序列), ...}
linewidth
或 lw浮点数或无
布尔
float
float
None 或 bool 或 float 或 callable
未知
布尔
(scale: float, length: float, randomness: float)
布尔值或无
str
布尔
float
- set_arrowstyle(arrowstyle=None, **kwargs)[源代码][源代码]#
设置箭头样式,可能带有进一步的属性。
不会重复使用前一个箭头样式的属性。
没有参数(或使用
arrowstyle=None
),可用的框样式将作为人类可读的字符串返回。- 参数:
- arrowstyle : str 或
ArrowStyle
str 或 箭头的样式:可以是
ArrowStyle
实例,或是一个字符串,该字符串是样式名称,并且可选地以逗号分隔的属性(例如,"Fancy,head_length=0.2")。这样的字符串用于构造一个ArrowStyle
对象,如该类文档中所述。以下箭头样式可用:
类
名称
Attrs
曲线
-
无
曲线A
<-
head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
曲线B
->
head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
曲线AB
<->
head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
曲线填充
<|-
head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
曲线填充B
-|>
head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
曲线填充AB
<|-|>
head_length=0.4, head_width=0.2, widthA=1.0, widthB=1.0, lengthA=0.2, lengthB=0.2, angleA=0, angleB=0, scaleA=None, scaleB=None
BracketA
]-
widthA=1.0, lengthA=0.2, angleA=0
BracketB
-[
widthB=1.0, lengthB=0.2, angleB=0
BracketAB
]-[
widthA=1.0, lengthA=0.2, angleA=0, widthB=1.0, lengthB=0.2, angleB=0
BarAB
|-|
widthA=1.0, angleA=0, widthB=1.0, angleB=0
BracketCurve
]->
widthA=1.0, lengthA=0.2, angleA=None
CurveBracket
<-[
widthB=1.0, lengthB=0.2, angleB=None
简单
simple
head_length=0.5, head_width=0.5, tail_width=0.2
花哨
fancy
head_length=0.4, head_width=0.4, tail_width=0.4
楔子
wedge
tail_width=0.3, shrink_factor=0.5
- **kwargs
箭头样式的附加属性。请参阅上表以获取支持的参数。
- arrowstyle : str 或
示例
set_arrowstyle("Fancy,head_length=0.2") set_arrowstyle("fancy", head_length=0.2)
- set_connectionstyle(connectionstyle=None, **kwargs)[源代码][源代码]#
设置连接样式,可能带有进一步的属性。
不会重复使用前一个连接样式的属性。
没有参数(或使用
connectionstyle=None
),可用的框样式将作为人类可读的字符串返回。- 参数:
- connectionstyle : str 或
ConnectionStyle
str 或 连接的样式:可以是
ConnectionStyle
实例,或是一个字符串,该字符串是样式名称,并且可选地包含逗号分隔的属性(例如 "Arc,armA=30,rad=10")。这样的字符串用于构造ConnectionStyle
对象,如该类文档中所述。以下连接样式可用:
类
名称
Attrs
Arc3
arc3
rad=0.0
Angle3
angle3
angleA=90, angleB=0
角度
angle
angleA=90, angleB=0, rad=0.0
弧
arc
angleA=0, angleB=0, armA=None, armB=None, rad=0.0
酒吧
bar
armA=0.0, armB=0.0, fraction=0.3, angle=None
- **kwargs
连接样式的附加属性。请参阅上表以获取支持的参数。
- connectionstyle : str 或
示例
set_connectionstyle("Arc,armA=30,rad=10") set_connectionstyle("arc", armA=30, rad=10)
- set_patchA(patchA)[源代码][源代码]#
设置尾部补丁。
- 参数:
- patchA
patches.Patch
- patchA
- set_patchB(patchB)[源代码][源代码]#
设置头部补丁。
- 参数:
- patchB
patches.Patch
- patchB