||
箭头关键的一个参数是长度,长度可以通过参数scale来设置,如果你多次使用quiver(),只要保证参数scale一致,那么箭头长度就会与风速的值成正比,可按照下面我贴出的代码那样设置参数。建议scale设置成30-50,100之内也都还可以。箭头宽度可以通过width=0.005开始设置。箭头颜色可以通过传入颜色列表来控制。
Axes.quiver(*args, data=None, **kw)
用于画二维的箭头
调用quivers有以下几种形式(signatures):
quiver(U, V, **kw) quiver(U, V, C, **kw) quiver(X, Y, U, V, **kw) quiver(X, Y, U, V, C, **kw)
U、V是箭头数据(data),X、Y是箭头的位置,C是箭头的颜色。这些参数可以是一维或二维的数组或序列。
如果X、Y不存在(absent),他们将作为均匀网格被生成。如果U和V是2维的数组,X和Y是1维数组,并且len(X)和len(Y)与U的列(column)和行(row)纬度相匹配(match),那么X和Y将使用numpy.meshgrid()——用于产生一个矩阵,具体可参考:meshgrid使用方法——进行扩展。
默认设置会自动将箭头的长度缩放到合理的大小。要改变箭头的长度请参看 scale 和scale_units两个关键字参数(kwargs:关键字参数,参看文章最后有关键字参数与可变参数的区别)
默认值给出一个稍微后掠(swept-back)的箭头;若要使箭头头部呈三角状,则要确保headaxislength与headlength相同。若要使箭头更尖锐(more pointed),则应减小headwidth或者增大headlength和headaxislength。若要使箭头头部相对于箭杆(shaft)更小一些,则应将所有头部参数都减小(scale down)。你最好不要单独留下minshaft(You will probably do best to leave minshaft alone.)
线宽和边缘颜色可以用于自定义箭头轮廓(outlines)。
参数 | X: 1D or 2D array, sequence, optional 1维或2维数组,序列(sequence),可自选(optional) 箭头位置的x坐标 |
Y:1D or 2D array, sequence, optional 1维或2维数组,序列,可自选 箭头位置的y坐标 | |
U: 1D or 2D array or masked array, sequence 1维或2维数组或掩码数组(参看masked array https://blog.csdn.net/liukai2918/article/details/78419302),序列 箭头矢量的x分量 | |
V:1D or 2D array or masked array, sequence 1维或2维数组或掩码数组,序列 箭头矢量的y分量 | |
C: 1D or 2D array, sequence, optional 1维或2维数组,序列(sequence),可自选 箭头颜色 | |
units(单位): [ 'width' | 'height' | 'dots' | 'inches' | 'x' | 'y' | 'xy' ] 箭头尺寸(除长度外)以此单位的倍数计算——即是说选定单位后,箭头尺寸即是此单位的倍数 ‘width’或’height’:轴(axis)的宽度或高度 ‘dots’或’inches’:像素或英寸,基于图的dpi ‘x’, ‘y’或‘xy’:分别是X、Y或X2+Y2的数据单位(data units) 箭头依单位不同而不同。对于’x’或’y’,箭头会随着其一的增大(zoom in)而增大;对于其他单位,箭头的大小与缩放状态(zoom state)无关。对于’width’或’height’,当窗口重置时,箭头的大小会随着轴(axes)的宽度和高度的增大而增大;低于同意’dots’或’inches’。重置不会改变箭头。 | |
angles: [‘uv’ | ‘xy’], array, 可自选 用于决定箭头角度的方法,默认是’uv’ ‘uv’:箭头的纵横比(axis aspect ratio)为1,所以若U*==*V,则绘图上箭头的方向与水平轴逆时针呈45度(正向右)。 ‘xy’: 箭头从(x,y)指向(x + u,y + v)。例如,使用它来绘制渐变场(gradient field)。 或者,可以将任意角度指定为以水平轴逆时针方向的度数值的数组。 注意:反转数据轴将相应地仅使用angles='xy'反转箭头。 | |
scale : None, float, optional 每个箭头长度单位的数据单位数量,例如,每个绘图宽度m / s;参数scale越小箭头越长。默认是None 若是None,一个简单的自动缩放算法将被采用,基于平均矢量长度和适量的数量。箭头长度单位由scale_units参数给出。 | |
scale_units : [ 'width' | 'height' | 'dots' | 'inches' | 'x' | 'y' | 'xy' ], None, optional 如果关键字参数scale是None,那么箭头长度单位默认是None 例如:scale_units是’inches’,scale是2.0,(u,v)=(1,0),那么矢量将会是0.5英寸长。 如果scale_units是’width/height’,那么矢量长度是轴’width/height’的半长 如果scale_units是’x’那么矢量是x轴单位的0.5倍。要在x-y平面上画矢量,使得u和v与x和y有相同的单位,则应另angles=’xy’, scale_units’xy’, scale=1. | |
width : scalar(标量), optional 箭杆(shaft)的宽度,以箭头单位衡量。默认是由以上单位的选择和矢量数量来决定。常用的初始值是0.005倍的画的宽度(width of the plot) | |
headwidth : scalar, optional | |
头部宽度相对于箭杆宽度的倍数,默认是3倍 | |
headlength : scalar, optional 轴交叉处的头部长度,默认是4.5 | |
minshaft : scalar, optional 箭头比例的长度,以头部长度为单位。不要将其设置为小于1,否则小箭头看起来会很糟糕 | |
minlength : scalar, optional 最小长度为轴宽的倍数;如果箭头长度小于此值,则绘制该直径的点(六边形)。默认值为1 | |
pivot : [ 'tail' | 'mid' | 'middle' | 'tip' ], optional 箭头在网格点上的部分;箭头围绕这一点旋转,因此称为枢轴。 | |
color : [ color | color sequence ], optional 这是PolyCollection facecolor kwarg的同义词。如果设置了C,颜色就没有效果。 |
quiver(*args, **kw)
*args, **kw分别是可变参数和关键字参数,参考此文总结如下:
【参考】
https://blog.csdn.net/liuchengzimozigreat/article/details/84566650 (好博文,推荐详细阅读)
点滴分享,福泽你我!Add oil!
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-25 23:24
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社