用像素点坐标画图
箭头关键的一个参数是长度,长度可以通过参数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分别是可变参数和关键字参数,参考此文总结如下:
【参考】
点滴分享,福泽你我!Add oil!
转载本文请联系原作者获取授权,同时请注明本文来自张伟科学网博客。
链接地址:http://blog.sciencenet.cn/blog-3428464-1247355.html
上一篇:Python中的size,shape,len,count与Numpy中ndim、dtype、astype
下一篇:Python绘图matplotlib--plt