matplotlib.quiver.Quiver#
- class matplotlib.quiver.Quiver(ax, *args, scale=None, headwidth=3, headlength=5, headaxislength=4.5, minshaft=1, minlength=1, units='width', scale_units=None, angles='uv', width=None, color='k', pivot='tail', **kwargs)[源代码][源代码]#
-
用于箭头的专用 PolyCollection。
唯一的API方法是set_UVC(),它可以用来改变箭头的大小、方向和颜色;它们的定位在类实例化时是固定的。可能这个方法在动画中会很有用。
这个类中的大部分工作都在 draw() 方法中完成,以便尽可能多地获取关于图的信息。在后续的 draw() 调用中,重新计算仅限于可能发生变化的内容,因此将计算放在 draw() 方法中不会带来性能上的损失。
构造函数接受一个必需的参数,一个 Axes 实例,随后是以下 pyplot 接口文档中描述的 args 和 kwargs:
绘制二维箭头场。
调用签名:
quiver([X, Y], U, V, [C], /, **kwargs)
X, Y 定义箭头的位置,U, V 定义箭头的方向,C 可选地设置颜色。参数 X, Y, U, V, C 是仅位置的。
箭头长度
默认设置会自动将箭头的长度缩放到一个合理的尺寸。要更改此行为,请参见 scale 和 scale_units 参数。
箭头形状
箭头的形状由 width、headwidth、headlength 和 headaxislength 决定。请参见下面的注释。
箭头样式
每个箭头在内部由一个默认边线宽度为0的填充多边形表示。因此,箭头更像是一个填充区域,而不是带有箭头的线条,并且
PolyCollection属性如 linewidth、edgecolor、facecolor 等会相应地起作用。- 参数:
- X, Y1D 或 2D 数组类,可选
箭头位置的 x 和 y 坐标。
如果没有给出,它们将根据 U 和 V 的维度生成一个均匀的整数网格。
如果 X 和 Y 是一维的,但 U 和 V 是二维的,X 和 Y 将使用
X, Y = np.meshgrid(X, Y)扩展为二维。在这种情况下,len(X)和len(Y)必须与 U 和 V 的列和行维度匹配。- U, V1D 或 2D 数组类
箭头矢量的x和y方向分量。这些分量的解释(在数据空间或屏幕空间中)取决于 angles。
U 和 V 必须具有相同数量的元素,与 X 和 Y 中的箭头位置数量相匹配。U 和 V 可以被掩码。在 U、V 和 C 中被掩码的位置将不会被绘制。
- C1D 或 2D 数组类,可选
通过 norm 和 cmap 进行颜色映射定义箭头颜色的数值数据。
这不支持显式颜色。如果你想直接设置颜色,请使用 color 代替。C 的大小必须与箭头位置的数量匹配。
- 角度{'uv', 'xy'} 或类数组,默认值:'uv'
确定箭头角度的方法。
'uv': 屏幕坐标中的箭头方向。如果箭头象征的数量不是基于 X, Y 数据坐标,请使用此选项。
如果 U == V ,图表上箭头的方向是从水平轴逆时针旋转45度(向右为正)。
xy: 数据坐标中的箭头方向,即箭头从 (x, y) 指向 (x+u, y+v)。例如,用于绘制梯度场。任意角度可以显式地指定为一个以度为单位的数组,从水平轴逆时针方向计算。
在这种情况下,U,V 仅用于确定箭头的长度。
注意:仅当
angles='xy'时,反转数据轴将相应地反转箭头。- 枢轴{'tail', 'mid', 'middle', 'tip'}, 默认值: 'tail'
箭头固定在 X, Y 网格上的部分。箭头围绕这个点旋转。
'mid' 是 'middle' 的同义词。
- 比例浮点数, 可选
按反比例缩放箭头的长度。
每个箭头长度单位的数据单位数量,例如,每图宽度的 m/s;较小的比例参数会使箭头变长。默认值为 None。
如果为 None ,则使用基于平均向量长度和向量数量的简单自动缩放算法。箭头长度单位由 scale_units 参数给出。
- scale_units{'width', 'height', 'dots', 'inches', 'x', 'y', 'xy'}, 可选
如果 scale 关键字参数为 None,则箭头长度单位。默认为 None。
例如,scale_units 是 'inches',scale 是 2.0,并且
(u, v) = (1, 0),那么向量的长度将是 0.5 英寸。如果 scale_units 是 'width' 或 'height',那么向量将是坐标轴宽度/高度的一半。
如果 scale_units 是 'x',那么向量将是 0.5 个 x 轴单位。要在 x-y 平面上绘制向量,其中 u 和 v 与 x 和 y 具有相同的单位,请使用
angles='xy', scale_units='xy', scale=1。- 单位{'width', 'height', 'dots', 'inches', 'x', 'y', 'xy'}, 默认: 'width'
影响箭头大小(长度除外)。特别是,箭杆的 宽度 是以此单位的倍数来测量的。
支持的值有:
'width', 'height': Axes 的宽度或高度。
'dots', 'inches': 基于图形 dpi 的像素或英寸。
'x', 'y', 'xy': X, Y 或 \(\sqrt{X^2 + Y^2}\) 在数据单位中。
下表总结了这些值在缩放和图形尺寸变化时如何影响可见箭头的大小:
单位
缩放
图片尺寸调整
'x', 'y', 'xy'
箭头大小缩放
—
'宽度', '高度'
—
箭头大小缩放
'点', '英寸'
—
—
- 宽度浮点数, 可选
箭头单位中的轴宽度。所有头部参数相对于 宽度 。
默认值取决于上述 单位 的选择和向量的数量;一个典型的起始值大约是绘图宽度的0.005倍。
- headwidth浮点数,默认值:3
头部宽度为轴 宽度 的倍数。请参见下面的注释。
- headlength浮点数,默认值:5
头部长度为轴 宽度 的倍数。请参阅下面的注释。
- headaxislengthfloat, 默认值: 4.5
轴交点处的头部长度为轴 宽度 的倍数。请参阅下面的注释。
- minshaftfloat, 默认值: 1
箭头缩放的长度,单位为箭头长度。不要将此值设置为小于1,否则小箭头会看起来很糟糕!
- 最小长度float, 默认值: 1
最小长度为轴宽的倍数;如果箭头长度小于此值,则绘制一个此直径的点(六边形)。
- 颜色 : color 或列表 color, 可选颜色或列表颜色,可选
箭头的显式颜色。如果设置了 C,则 color 无效。
这是
PolyCollectionfacecolor 参数的同义词。
- 返回:
- 其他参数:
- 数据可索引对象,可选
DATA_PARAMETER_PLACEHOLDER
- **kwargs :
PolyCollection属性, 可选PolyCollection 属性,可选 所有其他关键字参数都会传递给
PolyCollection:属性
描述
一个过滤函数,它接收一个 (m, n, 3) 的浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和两个从图像左下角开始的偏移量
类似数组或标量或无
布尔
抗锯齿或 aa 或 antialiaseds布尔值或布尔值列表
类数组或无
CapStyle或 {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
BboxBase或 None布尔
补丁或(路径,变换)或无
Colormap或 str 或 Nonecolor 或 RGBA 元组的列表
edgecolor或 ec 或 edgecolorsfacecolor或 facecolors 或 fcstr
{'/', '', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
布尔
JoinStyle或 {'miter', 'round', 'bevel'}对象
linestyle或虚线或线型或 lsstr 或 tuple 或其列表
linewidth或 linewidths 或 lw浮点数或浮点数列表
布尔
Normalize或 str 或 Noneoffset_transform或 transOffset(N, 2) 或 (2,) 数组类
数组类列表
None 或 bool 或 float 或 callable
float
布尔
sizesnumpy.ndarray或 None(scale: float, length: float, randomness: float)
布尔值或无
str
list of str or None
数组类列表
未知
布尔
float
参见
Axes.quiverkey向箭袋图添加一个键。
注释
箭头形状
箭头是使用如下所示的节点绘制的多边形。值 headwidth、headlength 和 headaxislength 以 width 为单位。
默认设置会生成一个稍微向后倾斜的箭头。以下是一些如何获得其他箭头形状的指南:
要将箭头变为三角形,请使 headaxislength 与 headlength 相同。
要使箭头更尖锐,可以减少 headwidth 或增加 headlength 和 headaxislength。
要使头部相对于轴更小,按比例缩小所有头部参数。
要完全移除头部,请将所有 head 参数设置为 0。
要获得菱形头部,请使 headaxislength 大于 headlength。
警告:对于 headaxislength < (headlength / headwidth),“headaxis”节点(即连接头部和轴的部分)将向前突出头部,使得箭头头部看起来像是断裂的。
- draw(renderer)[源代码][源代码]#
使用给定的渲染器绘制艺术家(及其子项)。
如果艺术家不可见(
Artist.get_visible返回 False),则此操作无效。- 参数:
- 渲染器 :
RendererBase子类。RendererBase 子类。
- 渲染器 :
注释
此方法在 Artist 子类中被重写。
- set(*, UVC=<UNSET>, agg_filter=<UNSET>, alpha=<UNSET>, animated=<UNSET>, antialiased=<UNSET>, array=<UNSET>, capstyle=<UNSET>, clim=<UNSET>, clip_box=<UNSET>, clip_on=<UNSET>, clip_path=<UNSET>, cmap=<UNSET>, color=<UNSET>, edgecolor=<UNSET>, facecolor=<UNSET>, gid=<UNSET>, hatch=<UNSET>, in_layout=<UNSET>, joinstyle=<UNSET>, label=<UNSET>, linestyle=<UNSET>, linewidth=<UNSET>, mouseover=<UNSET>, norm=<UNSET>, offset_transform=<UNSET>, offsets=<UNSET>, path_effects=<UNSET>, paths=<UNSET>, picker=<UNSET>, pickradius=<UNSET>, rasterized=<UNSET>, sizes=<UNSET>, sketch_params=<UNSET>, snap=<UNSET>, transform=<UNSET>, url=<UNSET>, urls=<UNSET>, verts=<UNSET>, verts_and_codes=<UNSET>, visible=<UNSET>, zorder=<UNSET>)[源代码]#
一次性设置多个属性。
支持的属性有
属性
描述
未知
一个过滤函数,它接收一个 (m, n, 3) 的浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和两个从图像左下角开始的偏移量
类似数组或标量或无
布尔
抗锯齿或 aa 或 antialiaseds布尔值或布尔值列表
类数组或无
CapStyle或 {'butt', 'projecting', 'round'}(vmin: float, vmax: float)
BboxBase或 None布尔
补丁或(路径,变换)或无
Colormap或 str 或 Nonecolor 或 RGBA 元组的列表
edgecolor或 ec 或 edgecolorsfacecolor或 facecolors 或 fcstr
{'/', '', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
布尔
JoinStyle或 {'miter', 'round', 'bevel'}对象
linestyle或虚线或线型或 lsstr 或 tuple 或其列表
linewidth或 linewidths 或 lw浮点数或浮点数列表
布尔
Normalize或 str 或 Noneoffset_transform或 transOffset(N, 2) 或 (2,) 数组类
数组类列表
None 或 bool 或 float 或 callable
float
布尔
sizesnumpy.ndarray或 None(scale: float, length: float, randomness: float)
布尔值或无
str
list of str or None
数组类列表
未知
布尔
float