matplotlib.pyplot.quiver#
- matplotlib.pyplot.quiver(*args, data=None, **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 是 1D 但 U 和 V 是 2D,X 和 Y 将使用
X, Y = np.meshgrid(X, Y)扩展为 2D。在这种情况下,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
头部宽度作为轴 宽度 的倍数。请参阅下面的注释。
- headlengthfloat, 默认值: 5
头部长度为轴 宽度 的倍数。请参阅下面的注释。
- headaxislengthfloat, 默认值: 4.5
轴交点处的头部长度为轴 宽度 的倍数。请参见下文注释。
- minshaftfloat, 默认值: 1
箭头缩放的长度,单位为箭头长度。不要将此值设置为小于1,否则小箭头会看起来很糟糕!
- 最小长度float, 默认值: 1
作为轴宽倍数的最小长度;如果箭头长度小于此值,则绘制一个此直径的点(六边形)。
- 颜色 : color 或列表 color, 可选颜色或列表颜色,可选
箭头的显式颜色。如果已设置 C,则 color 无效。
这是
PolyCollectionfacecolor 参数的同义词。
- 返回:
- 其他参数:
- 数据可索引对象,可选
如果提供,所有参数也接受一个字符串
s,如果s是data中的一个键,则解释为data[s]。- **kwargs :
PolyCollection属性, 可选PolyCollection 属性,可选 所有其他的关键字参数都会传递给
PolyCollection:属性
描述
一个过滤函数,它接收一个 (m, n, 3) 的浮点数数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和两个从图像左下角开始的偏移量
类数组或标量或无
布尔
抗锯齿或 aa 或 antialiaseds布尔值或布尔值列表
类似数组或 None
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
浮动
布尔
sizesnumpy.ndarray或 None(scale: float, length: float, randomness: float)
布尔值或无
str
list of str 或 None
数组类列表
未知
布尔
浮动
参见
Axes.quiverkey向箭袋图添加一个键。
注释
备注
这是
axes.Axes.quiver的 pyplot 封装。箭头形状
箭头是使用如下所示的节点绘制的多边形。值 headwidth、headlength 和 headaxislength 以 width 为单位。
默认设置提供了一个稍微向后倾斜的箭头。以下是一些如何获得其他箭头形状的指南:
要使箭头变为三角形,请将 headaxislength 设置为与 headlength 相同。
要使箭头更尖锐,可以减小 headwidth 或增大 headlength 和 headaxislength。
为了使头部相对于轴变小,按比例缩小所有头部参数。
要完全移除头部,请将所有 head 参数设置为 0。
要获得钻石形状的头部,使 headaxislength 大于 headlength。
警告:对于 headaxislength < (headlength / headwidth),“headaxis”节点(即连接箭头头与箭杆的节点)将向前突出,使得箭头头看起来像是断裂的。