matplotlib.patches.ConnectionStyle#

matplotlib.patches.ConnectionStyle(stylename, **kwargs)[源]#

基类: _Style

ConnectionStyle 是一个容器类,它定义了几种连接样式类,用于在两点之间创建路径。它们主要与 FancyArrowPatch 一起使用。

连接样式对象可以通过以下方式创建

ConnectionStyle.Arc3(rad=0.2)

ConnectionStyle("Arc3", rad=0.2)

ConnectionStyle("Arc3, rad=0.2")

定义了以下类

名称

参数

Arc3

arc3

rad=0.0

Angle3

angle3

angleA=90, angleB=0

Angle

angle

angleA=90, angleB=0, rad=0.0

Arc

arc

angleA=0, angleB=0, armA=None, armB=None, rad=0.0

Bar

bar

armA=0.0, armB=0.0, fraction=0.3, angle=None

任何连接样式类的实例都是可调用对象,其调用签名是

__call__(self, posA, posB,
         patchA=None, patchB=None,
         shrinkA=2., shrinkB=2.)

它返回一个 Path 实例。posAposB 是两个待连接点的 (x, y) 坐标元组。如果给定 patchA(或 patchB),则返回的路径会被裁剪,使其从补丁的边界开始(或结束)。路径会根据 shrinkA(或 shrinkB)进一步缩小,其中 shrinkAshrinkB 以点为单位。

返回具有给定样式名称的子类实例。

Angle(angleA=90, angleB=0, rad=0.0)[源]#

基类: _Base

在两点之间创建分段连续的二次贝塞尔路径。该路径有一个通过点,位于两条线的交点处,这两条线分别穿过起点和终点,并分别具有 angleAangleB 的斜率。连接边缘用 rad 进行圆角处理。

参数:
angleAfloat

路径的起始角度。

angleBfloat

路径的结束角度。

radfloat

边缘的圆角半径。

connect(posA, posB)[源]#
Angle3(angleA=90, angleB=0)[源]#

基类: _Base

在两点之间创建简单的二次贝塞尔曲线。中间控制点位于两条线的交点处,这两条线分别穿过起点和终点,并分别具有 angleAangleB 的斜率。

参数:
angleAfloat

路径的起始角度。

angleBfloat

路径的结束角度。

connect(posA, posB)[源]#
Arc(angleA=0, angleB=0, armA=None, armB=None, rad=0.0)[源]#

基类: _Base

在两点之间创建分段连续的二次贝塞尔路径。该路径可以有两个通过点,一个点位于距离 A 点 armA 且角度为 angleA 的位置,另一个点相对于 B 点。边缘用 rad 进行圆角处理。

参数:
angleAfloat

路径的起始角度。

angleBfloat

路径的结束角度。

armAfloat 或 None

起始臂的长度。

armBfloat 或 None

结束臂的长度。

radfloat

边缘的圆角半径。

connect(posA, posB)[源]#
Arc3(rad=0.0)[源]#

基类: _Base

在两点之间创建简单的二次贝塞尔曲线。创建该曲线时,中间控制点 (C1) 与起点 (C0) 和终点 (C2) 的距离相等,并且 C1 到连接 C0-C2 的线的距离是 C0-C2 距离的 rad 倍。

参数:
radfloat

曲线的曲率。

connect(posA, posB)[源]#
Bar(armA=0.0, armB=0.0, fraction=0.3, angle=None)[源]#

基类: _Base

一条在 A 和 B 之间、带有 anglearmAarmB 的线。其中一个臂会延伸,使其以直角连接。armA 的长度由 (armA + fraction x AB 距离) 决定。armB 同理。

参数:
armAfloat

armA 的最小长度。

armBfloat

armB 的最小长度。

fractionfloat

两点之间距离的一部分,将添加到 armA 和 armB。

anglefloat 或 None

连接线的角度(如果为 None,则与 A 和 B 平行)。

connect(posA, posB)[源]#