python画风向杆_科学网—Python matplotlib quiver—画箭头、风场、量场图 - 张伟的博文...

用像素点坐标画图

箭头关键的一个参数是长度,长度可以通过参数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

你可能感兴趣的:(python画风向杆)