matplotlib.quiver.quiver #
- 类 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 ,颜色='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可选择设置颜色。
箭头长度
默认设置将箭头的长度自动缩放到合理的大小。要更改此行为,请参阅scale和scale_units参数。
箭头形状
箭头形状由width、headwidth、headlength和 headaxislength 决定。请参阅下面的注释。
箭头样式
每个箭头在内部由一个默认边缘线宽为 0 的填充多边形表示。因此,箭头是一个填充区域,而不是带头的线,并且linewidth、edgecolor、 facecolor
PolyCollection
等属性会相应地起作用。- 参数:
- X、Y 1D 或 2D 类数组,可选
箭头位置的 x 和 y 坐标。
如果没有给出,它们将根据U和V的尺寸生成为统一的整数网格网格。
如果X和Y是 1D 但U,V是 2D,X,Y使用 扩展为 2D 。在这种情况下,并且必须匹配U和V 的列和行尺寸。
X, Y = np.meshgrid(X, Y)
len(X)
len(Y)
- U、V 1D 或 2D 类阵列
箭头向量的 x 和 y 方向分量。这些组件的解释(在数据或屏幕空间中)取决于角度。
U和V必须具有相同数量的元素,与X和Y中箭头位置的数量相匹配。U和V可能被屏蔽。将不会绘制在U、V和C中的任何一个中被遮盖的位置。
- C 1D 或 2D 类数组,可选
通过norm和 cmap进行颜色映射定义箭头颜色的数值数据。
这不支持显式颜色。如果要直接设置颜色,请改用颜色。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网格的箭头部分。箭头围绕该点旋转。
“中”是“中”的同义词。
- 刻度浮动,可选
反向缩放箭头的长度。
每个箭头长度单位的数据单位数,例如,每个绘图宽度的 m/s;较小的比例参数使箭头更长。默认为无。
如果None,使用一个简单的自动缩放算法,基于平均向量长度和向量的数量。箭头长度单位由scale_units参数给出。
- scale_units {'width', 'height', 'dots', 'inches', 'x', 'y', 'xy'}, 可选
如果scale kwarg 是None,箭头长度单位。默认为无。
例如, scale_units是“英寸”,比例是 2.0,并且,那么向量将是 0.5 英寸长。
(u, v) = (1, 0)
如果scale_units是“宽度”或“高度”,则向量将是轴的宽度/高度的一半。
如果scale_units是 'x' 那么向量将是 0.5 个 x 轴单位。要在 xy 平面上绘制向量,其中 u 和 v 具有与 x 和 y 相同的单位,请使用 .
angles='xy', scale_units='xy', scale=1
- 单位{'width', 'height', 'dots', 'inches', 'x', 'y', 'xy'},默认值:'width'
影响箭头大小(长度除外)。特别是,轴 宽以该单位的倍数测量。
支持的值是:
'width', 'height':轴的宽度或高度。
'dots', 'inches':基于图形 dpi 的像素或英寸。
'x', 'y', 'xy': X , Y或\(\sqrt{X^2 + Y^2}\)以数据为单位。
下表总结了这些值如何影响缩放和图形大小更改下的可见箭头大小:
单位
飞涨
图形大小变化
“x”、“y”、“xy”
箭头大小刻度
“宽度”、“高度”
箭头大小刻度
“点”、“英寸”
- 宽度浮动,可选
以箭头为单位的轴宽。所有 head 参数都与width相关。
默认值取决于上述单位的选择和向量的数量;一个典型的起始值大约是绘图宽度的 0.005 倍。
- 头宽浮动,默认:3
头宽为轴宽的倍数。请参阅下面的注释。
- 头长浮动,默认值:5
头长为轴宽的倍数。请参阅下面的注释。
- headaxislength浮点数,默认值:4.5
轴交叉处的头长为轴宽的倍数。请参阅下面的注释。
- minshaft浮点数,默认值:1
低于箭头刻度的长度,以头长为单位。不要将此设置为小于 1,否则小箭头会看起来很糟糕!
- minlength浮点数,默认值:1
最小长度为轴宽的倍数;如果箭头长度小于此值,则改为绘制此直径的点(六边形)。
- 颜色颜色或颜色顺序,可选
箭头的显式颜色。如果已设置C ,则颜色无效。
这是facecolor参数的同义词。
PolyCollection
- 返回:
- 其他参数:
- 数据可索引对象,可选
DATA_PARAMETER_PLACEHOLDER
- **kwargs
PolyCollection
属性,可选 所有其他关键字参数都传递给
PolyCollection
:财产
描述
一个过滤器函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和距图像左下角的两个偏移量
类数组或标量或无
布尔
antialiased
或 aa 或抗锯齿布尔或布尔列表
类数组或无
CapStyle
或 {'butt', 'projecting', 'round'}(vmin:浮动,vmax:浮动)
布尔
补丁或(路径,变换)或无
Colormap
或 str 或 无rgba 元组的颜色或列表
edgecolor
或 ec 或 edgecolors颜色或颜色列表或“脸”
facecolor
或 facecolors 或 fc颜色或颜色列表
字符串
{'/'、'\'、'|'、'-'、'+'、'x'、'o'、'O'、'.'、'*'}
布尔
JoinStyle
或 {'miter', 'round', 'bevel'}目的
linestyle
或破折号或线条样式或 lsstr 或元组或其列表
linewidth
或线宽或lw浮动或浮动列表
布尔
Normalize
或 str 或 无offset_transform
或 transOffset未知
(N, 2) 或 (2,) 类数组
类似数组的列表
None 或 bool 或 float 或可调用
未知
布尔
sizes
ndarray 或无
(比例:浮动,长度:浮动,随机性:浮动)
布尔或无
字符串
str 或 None 的列表
类似数组的列表
未知
布尔
漂浮
也可以看看
Axes.quiverkey
为箭袋图添加一个键。
笔记
箭头形状
使用如下所示的节点将箭头绘制为多边形。值 headwidth、headlength和headaxislength以width为单位。
默认值会给出一个略微后掠的箭头。以下是如何获得其他头部形状的一些指南:
要使头部成为三角形,请使headaxislength与headlength相同。
要使箭头更尖,请减小headwidth或增加headlength 和headaxislength。
要使头部相对于轴更小,请按比例缩小所有头部参数。
要完全移除头部,请将所有头部参数设置为 0。
要获得菱形头部,请使headaxislength大于headlength。
警告:对于headaxislength < ( headlength / headwidth ),“headaxis”节点(即连接头部与轴的节点)将向前突出头部,使箭头看起来断了。
- 绘制(渲染器)[来源] #
使用给定的渲染器绘制艺术家(及其子级)。
如果艺术家不可见,这将无效(
Artist.get_visible
返回 False)。- 参数:
- 渲染器
RendererBase
子类。
- 渲染器
笔记
此方法在 Artist 子类中被覆盖。
- quiver_doc = '\n绘制一个二维箭头字段。 \n\n调用签名::\n\n quiver([X, Y], U, V, [C], **kwargs)\n\n*X*, *Y*定义箭头位置,* U*、*V*定义箭头方向,\ n*C*可选地设置颜色。\n\n**箭头长度**\n\n默认设置自动缩放将箭头的长度调整到合理的大小。\n到 更改 此 行为 请参阅 *scale*和*scale_units*参数。\n\n**箭头形状**\n\n箭头形状由*width*、*headwidth*、*headlength *和\n*headaxislength*确定. 请参阅下面的注释。\n\n**箭头样式**\n\n每个箭头在内部由填充的多边形表示,默认边\n线宽为0。因此,箭头 是 一个填充区域,而 不是一条带有\na头部的线,并且像* linewidth*、*edgecolor*、\n*facecolor*等`.PolyCollection`属性会相应地起作用。\n\n\n参数\n-- --------\nX, Y : 1D或2D类数组,可选\n箭头位置的x和y坐标。\n\ n如果没有给出,它们将作为统一生成 基于*U*和*V*的维度\n的整数网格网格 。\n\n如果*X*和*Y*是1D但*U*、*V*是2D,*X*、*Y*是使用“X, Y = np.meshgrid(X, Y)”扩展为2D\n 。在这种情况下``len(X)``和``len ( Y)``\n必须匹配*U*的列和行维度和 *V*.\n\nU, V : 1D 或 2D 类数组\n 箭头向量的 x 和 y 方向 分量 。 这些组件的解释\n (在数据中或在屏幕空间中)取决于* angles*。\n\n *U*和*V*必须具有相同数量的元素,匹配\ n中箭头位置的数量 *X*, *Y*。 *U* 和 *V* 可以 被 屏蔽。 在*U*、*V*和*C*中的任何一个中被屏蔽的位置\n 将不会被绘制。\n\nC : 1D或2D类似数组,可选\n通过*的颜色映射定义箭头颜色的数字数据norm*和\n *cmap*。\n\n这不支持显式颜色。如果你 想要 直接 设置 颜色 ,\n 使用 *color* 代替。 *C*的 大小 必须与 箭头\n位置的数量相匹配。\n\nangles : {\'uv\', \'xy\'}或类似数组,默认值:\ 'uv\'\n方法确定箭头的角度。\n\n - \'uv\':屏幕坐标中的箭头方向。如果箭头使用这个\n 符号 化一个 不基于*X*、* Y*数据坐标的量 。\n\n如果*U* == *V* ,则图上箭头的方向是45度\n从水平方向逆时针轴(向右为正)。\n\n - \'xy\':数据坐标中的箭头方向,即箭头指向 从\n (x, y) 到 (x+u, y+v)。 使用 这个 例如 用于 绘制 梯度场 。\n\n -可以将任意角度明确指定为值数组\n ,以度为单位,从水平轴逆时针方向。\ n\n在这种情况下,*U*,*V*是仅用于确定\ n的长度_ 箭头。\n\n 注意: 反转 数据轴将 相应地反转\n箭头,仅使用``angles=\'xy\'``。\n\npivot : {\'tail\', \'mid\' , \'middle\', \'tip\'},默认值:\'tail\'\n锚定到* X*, * Y*网格的箭头部分。箭头\n围绕该点旋转。\n\n \'mid\'是的同义词 \'middle\'。\n\nscale : float, optional\n反向 缩放 箭头的 长度 。 \n\n每个箭头长度单位的数据单位数,例如 ,每个绘图宽度的m / s ;\n较小的比例参数使箭头更长。默认为*None*。\n\n如果*None*,则使用简单的自动缩放算法,基于 平均\n 向量 长度 和 向量的 数量 。 箭头长度单位由\n * scale_units *参数给出。\n\nscale_units : { \ 'width\', \'height\', \'dots\', \'inches\', \'x\' , \'y\', \'xy\'}, optional\n如果*scale* kwarg是*None* ,箭头长度单位。默认为*None*。\n\n例如 *scale_units*是\'英寸\', *scale* 为 2.0, 并且 ``(u, v) = (1, 0)``,\n 那么向量将是 0.5英寸 长。\ n\n如果*scale_units*是\'width\'或\ 'height\',则向量将为轴的宽度/高度的一半。\ n\n如果*scale_units*为\'x\' ,则向量将为0.5 x 轴\n 个单位。绘制_ x-y平面中 的 向量,其中u和v具有\n与x和y相同的单位,使用\n ``angles=\'xy\', scale_units=\'xy\', scale=1``。\n \nunits : {\'width\', \'height\', \'dots\', \'inches\', \'x\', \'y\', \'xy\'},默认:\ 'width\'\n影响箭头大小(长度除外)。特别是, 以该单位的 倍数 测量。\n\n支持的值为:\n\n - \'width\'、\'height\':轴的宽度或高度。\n - \ ' dots \ ' 、\ 'inches\':基于图形dpi 的像素或英寸。\n - \ ' x \ ' 、\'y\'、\'xy\':*X*、*Y*或:math:`\\sqrt {X^2 + Y^2}`以数据为单位。\n\n下表 总结 了 这些 值如何 影响 可见箭头\n缩放和图形大小变化的大小 :\n\ n ============================ ====== ==================\n单位缩放图形大小变化\n ================= ================= ==================\n \'x\', \'y\', \ 'xy\'箭头大小缩放-\n \'width\', \'height\' -箭头大小缩放\n \'dots\', \'inches\' - - \ n =============================================== ======\n\nwidth : float, optional\n以箭头为单位的轴宽。所有头部参数都与*width* 相关。\n\ n默认值取决于上面选择的* units *和向量的数量;\ n典型的起始值约为宽度的0.005倍 绘图。\n\nheadwidth : 浮动, 默认值: 3\n 头部 宽度 为轴*宽度*的 倍数 。 请参阅下面的注释。\n\nheadlength :浮动,默认值:5\n头部长度为轴*宽度*的倍数。请参阅下面的注释。\n\nheadaxislength :浮点数,默认值:4.5\n轴交叉处的头部长度为轴*width*的倍数。 \n 请参阅下面 的 注释 。\n\nminshaft : 浮点数, 默认值: 1\n 长度 低于 箭头缩放的长度,以头部 长度为单位。不要\n将此值设置为小于1 ,否则小箭头会看起来很糟糕!\n\nminlength :浮点数,默认值:1 \n最小长度为轴宽的倍数;如果箭头长度\n 小 于此 值,改为 绘制 此直径的 点 (六边形) 。 \n\ncolor :颜色或颜色序列,可选\n箭头的显式颜色。如果已设置*C* ,则*color*无效\n 。\n\n这是`.PolyCollection` *facecolor*参数的同义词。 \n\n其他参数\n------- ---------\n数据:可索引 对象, 可选\n DATA_PARAMETER_PLACEHOLDER\n\n**kwargs : `~matplotlib.collections.PolyCollection` 属性, 可选\n 所有 其他 关键字 参数 都 传递 给 `.PolyCollection`:\n\n \ n ..表: :\n :class:属性表\n\n ===================================== ==================================================== ========== ========================================= ==================================================== ==================================================== ===================\n属性说明\n ==================================================== ================================================== _ ==================================================== ==================================================== ==================================================== =====\n :meth:`agg_filter <matplotlib.artist.Artist.set_agg_filter>` 一个 过滤 函数, 它 接受 一个 (m, n, 3) 浮点数 组 和 一个 dpi 值, 并 返回 一个 (m, n , 3 )数组 和 左下角的两个 偏移 量 图像的 角落\n :meth:`alpha <matplotlib.collections.Collection.set_alpha>`类数组或标 量或无\n :meth:`animated <matplotlib.artist.Artist.set_animated>` bool \n :meth :`antialiased <matplotlib.collections.Collection.set_antialiased>` or aa or antialiaseds bool or list of bools \n :meth:`array <matplotlib.cm.ScalarMappable.set_array>` array-like or None \n :meth:`帽子风格 <matplotlib.collections.Collection.set_capstyle>` `.CapStyle` 或 {\'butt\', \'projecting\', \'round\'} \n :meth:`clim <matplotlib.cm.ScalarMappable.set_clim> ` (vmin: float, vmax: float) \n :meth:`clip_box <matplotlib.artist.Artist.set_clip_box>` `.Bbox` \n :meth:`clip_on <matplotlib.artist.Artist.set_clip_on>` bool \ n :meth:`clip_path <matplotlib.artist.Artist.set_clip_path>` Patch or (Path, Transform) or None \n :meth:`cmap <matplotlib.cm.ScalarMappable.set_cmap>` `.Colormap` 或 str 或 None \n :meth:`color <matplotlib.collections.Collection.set_color>` 颜色 或 rgba元组列表\ n :meth:`edgecolor <matplotlib .collections.Collection.set_edgecolor>`或ec或edgecolors颜色或颜色列表或\'face\' \n :meth:`facecolor < matplotlib.collections.Collection.set_facecolor>`或facecolors或fc颜色或列表 颜色 \n : meth:`figure <matplotlib.artist.Artist.set_figure>` `.Figure` \n :meth:`gid <matplotlib.artist.Artist.set_gid>` str \n :meth:`hatch <matplotlib .collections.Collection.set_hatch>` {\'/\', \'\\\', \'|\', \'-\', \'+\', \'x\', \' o\', \'O\', \'.\', \'*\'} \n :meth:`in_layout <matplotlib.artist.Artist.set_in_layout>` bool \n :meth:`joinstyle <matplotlib. collections.Collection.set_joinstyle>` `。JoinStyle` 或 {\'miter\', \'round\', \'bevel\'} \n :meth:`label <matplotlib.artist.Artist.set_label>` 对象 \n :meth:`linestyle < matplotlib.collections.Collection.set_linestyle>` 或 破折号 或线条样式 或ls str或元组或其列表\n :meth:`linewidth <matplotlib.collections.Collection.set_linewidth>`或linewidths或lw float或浮动列表\n : meth :`mouseover <matplotlib.artist.Artist.set_mouseover>` bool \n :甲基:`规范 <matplotlib.cm.ScalarMappable.set_norm>` `.Normalize` 或 str 或 None \n :meth:`offset_transform <matplotlib.collections.Collection.set_offset_transform>` 或 transOffset unknown \n :meth:`offsets <matplotlib.collections. Collection.set_offsets>` (N, 2) 或 (2,) 类数组 \n :meth:`path_effects <matplotlib.artist.Artist.set_path_effects>` `.AbstractPathEffect` \n :meth:`paths <matplotlib.collections .PolyCollection.set_verts>` 类似数组的列表\ n :meth:` picker <matplotlib.artist.Artist.set_picker>` None 或 bool 或 float 或 可调用 \n :meth:`pickradius <matplotlib.collections.Collection.set_pickradius>` 未知 \n :meth:`rasterized <matplotlib.artist.Artist.set_rasterized >` bool \n :meth:`sizes <matplotlib.collections._CollectionWithSizes.set_sizes>` ndarray 或 None \n :meth:`sketch_params <matplotlib.artist.Artist.set_sketch_params>` (scale: float, length: float, randomness : 浮动) \n :meth:`snap <matplotlib.artist.Artist.set_snap>` bool 或 None \n :meth:`transform <matplotlib.artist.Artist.set_transform>` `.Transform` \n :meth:`url <matplotlib.artist.Artist.set_url> ` str \n :meth:`urls <matplotlib.collections.Collection.set_urls>` str或None列表 \n :meth:`verts <matplotlib.collections.PolyCollection.set_verts>`类似数组的列表 \ n :meth :`verts_and_codes <matplotlib.collections.PolyCollection.set_verts_and_codes>`未知\n :meth:`可见 <matplotlib.artist.Artist.set_visible>` bool \n :meth:`zorder <matplotlib.artist.Artist.set_zorder>` float \n ================== ==================================================== =================================================== _ ==================================================== ==================================================== ======================================\n\n\n返回\n------ -\n`~matplotlib.quiver.Quiver`\n\n 另见\n--------\n.Axes.quiverkey : 添加 一个 键 到 一个 quiver 图中。\n\n注意事项\n--- --\n\n**箭头 形状**\n \ n箭头 绘制为 多边形 使用 如下所示的 节点 。值\n*headwidth*、* headlength *和*headaxislength*以*width*为单位。\n\n.. image:: /_static/quiver_sizes.svg\n :width: 500px\n\n默认值给出一个稍微后掠的箭头。以下是一些如何获得其他头部形状的指南:\n\n-要使头部成为三角形,请制作*headaxislength* 与* headlength *相同 。\n-要使箭头更尖,减小* headwidth*或增加* headlength *\n和* headaxislength * 。\ n-要使头部相对于轴更小,缩小所有head\n参数按比例。\n-要完全移除head ,请将所有*head*参数设置为0。\n-要 得到 一个 菱形 头部, 使 *headaxislength* 大于*headlength* 。 \n- 警告: 对于 *headaxislength* < (*headlength* / *headwidth*), “ headaxis ” \n 节点 ( 即 连接带轴的头部)将向前伸出头部\n ,使箭头看起来断了。\ n ' #
- 设置(*, UVC=<UNSET>, agg_filter=<UNSET>, alpha=<UNSET>,动画=<UNSET>,抗锯齿=<UNSET>,数组=<UNSET>, capstyle=<UNSET>, clim=<UNSET > , clip_box=<UNSET> , clip_on=<UNSET> , clip_path=<UNSET> , cmap=<UNSET> , color=<UNSET> , edgecolor=<UNSET> , facecolor=<UNSET> , gid=<UNSET> ,孵化=<UNSET> , in_layout=<UNSET> , joinstyle=<UNSET>, label=<UNSET> , linestyle=<UNSET> , linewidth=<UNSET> , mouseover=<UNSET> , norm=<UNSET> , offset_transform=<UNSET> , offsets=<UNSET> , path_effects=<UNSET> ,路径=<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) 数组和距图像左下角的两个偏移量
类数组或标量或无
布尔
antialiased
或 aa 或抗锯齿布尔或布尔列表
类数组或无
CapStyle
或 {'butt', 'projecting', 'round'}(vmin:浮动,vmax:浮动)
布尔
补丁或(路径,变换)或无
Colormap
或 str 或 无rgba 元组的颜色或列表
edgecolor
或 ec 或 edgecolors颜色或颜色列表或“脸”
facecolor
或 facecolors 或 fc颜色或颜色列表
字符串
{'/'、'\'、'|'、'-'、'+'、'x'、'o'、'O'、'.'、'*'}
布尔
JoinStyle
或 {'miter', 'round', 'bevel'}目的
linestyle
或破折号或线条样式或 lsstr 或元组或其列表
linewidth
或线宽或lw浮动或浮动列表
布尔
Normalize
或 str 或 无offset_transform
或 transOffset未知
(N, 2) 或 (2,) 类数组
类似数组的列表
None 或 bool 或 float 或可调用
未知
布尔
sizes
ndarray 或无
(比例:浮动,长度:浮动,随机性:浮动)
布尔或无
字符串
str 或 None 的列表
类似数组的列表
未知
布尔
漂浮