matplotlib.patches.Arc#
- class matplotlib.patches.Arc(xy, width, height, *, angle=0.0, theta1=0.0, theta2=360.0, **kwargs)[源]#
基类:
Ellipse
椭圆弧,即椭圆的一个片段。
由于内部优化,此弧线无法填充。
- 参数:
- xy(浮点数, 浮点数)
椭圆的中心。
- width浮点数
水平轴的长度。
- height浮点数
垂直轴的长度。
- angle浮点数
椭圆的旋转角度(逆时针,单位为度)。
- theta1, theta2浮点数, 默认值: 0, 360
弧线的起始和结束角度,单位为度。这些值相对于 *angle*,例如,如果 *angle* = 45 且 *theta1* = 90,则绝对起始角度为 135。默认 *theta1* = 0,*theta2* = 360,即一个完整的椭圆。弧线以逆时针方向绘制。大于或等于 360 度或小于 0 度的角度通过对输入值取模 360 表示为 [0, 360) 范围内的等效角度。
- 其他参数:
- **kwargs
Patch
属性 大多数
Patch
属性都支持作为关键字参数,但 *fill* 和 *facecolor* 除外,因为不支持填充。属性
描述
一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量
未知
布尔值
布尔值或 None
CapStyle
或 {'butt', 'projecting', 'round'}BboxBase
或 None布尔值
Patch 或 (Path, Transform) 或 None
颜色 或 None
颜色 或 None
布尔值
字符串
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
未知
布尔值
JoinStyle
或 {'miter', 'round', 'bevel'}对象
{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
浮点数或 None
布尔值
AbstractPathEffect 列表
None 或 布尔值 或 浮点数 或 可调用对象
布尔值
(scale: 浮点数, length: 浮点数, randomness: 浮点数)
布尔值或 None
字符串
布尔值
浮点数
- **kwargs
- draw(renderer)[源]#
将弧线绘制到指定的 *renderer*。
备注
椭圆通常使用八条三次贝塞尔样条曲线的近似法绘制。根据这个未经证实的消息来源,此近似的误差为 1.89818e-6:
Lancaster, Don. 使用四条贝塞尔三次样条曲线逼近圆形或椭圆形。
有一种用例,需要以非常高的精度绘制非常大的椭圆,并且用足够的线段(样条线或线段)渲染整个椭圆的成本过高。因此,当椭圆的任一半径足够大,使得样条曲线近似的误差将可见(大于理想情况下的一像素偏移)时,将使用不同的技术。
在这种情况下,只绘制椭圆的可见部分,每个可见弧线使用固定数量的样条曲线段(8条)。算法过程如下:
定位椭圆与坐标轴(或图形)边界框相交的点。(这是通过对边界框执行逆变换来完成的,使其相对于单位圆——这比直接进行旋转椭圆交点计算容易得多。)
这使用了来自以下来源的“线与圆相交”算法:
Vince, John. 计算机图形学几何:公式、示例与证明。伦敦:Springer-Verlag,2005。
计算每个交点的角度。
从正 X 方向开始逆时针方向,使用
Path.arc
中实现的贝塞尔弧近似技术绘制每对顶点之间可见的弧段。
- set(*, agg_filter=<UNSET>, alpha=<UNSET>, angle=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, capstyle=<UNSET>, center=<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>, height=<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>, width=<UNSET>, zorder=<UNSET>)[源]#
一次性设置多个属性。
支持的属性包括:
属性
描述
一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量
浮点数或 None
浮点数
布尔值
布尔值或 None
CapStyle
或 {'butt', 'projecting', 'round'}(浮点数, 浮点数)
BboxBase
或 None布尔值
Patch 或 (Path, Transform) 或 None
颜色 或 None
颜色 或 None
布尔值
字符串
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
未知
浮点数
布尔值
JoinStyle
或 {'miter', 'round', 'bevel'}对象
{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
浮点数或 None
布尔值
AbstractPathEffect 列表
None 或 布尔值 或 浮点数 或 可调用对象
布尔值
(scale: 浮点数, length: 浮点数, randomness: 浮点数)
布尔值或 None
字符串
布尔值
浮点数
浮点数