##gmt6.5 画速度矢量的模块有plot、velo、plot3d和grdvector,常画2d速度矢量图,所以这里展示plot和velo的画map(水平面)####
整个画布:10c*5c
########plot#####################
需要的速度数据格式Vlat(速度北向分量),Vlon(速度东向分量),angle,magnitude
1.将速度文件Vlat(lon,lat,vx),Vlon(lon,lat,vy)整理成方位角(和正北方向的夹角)和总速度V
注意事项:方位角范围0-360,所以需要根据Vx、Vy的正负进行角度判断
if Vx>0 and Vy>=0:
angle=np.degree(np.arctan(Vy/Vx))
elif Vx>0 and Vy <0:
angle=360.0-np.degree(np.arctan(-Vy/Vx))
elif Vx<0 and Vy <0:
angle=180.0+np.degree(np.arctan(Vy/vVx))
elif Vx<0 and Vy>=0:
angle=180.0-np.degree(np.arctan(Vy/vVx))
elif Vx==0:
angle=0.0
2.gmt plot 画图
gmt plot ${velofile} -SV0.1c+e+n1c/0.5 -W0.5p.black -Gred -V
-SV表示绘制矢量,0.1c表示矢量头的长度,输入速度数据的第4列速度大小控制矢量的长度,所以可以对总速度大小进行缩放,因为我的总数据大小在0.1~0.6之间,所以我控制矢量头的长度为0.1c.当设置的矢量头(箭头)的长度过大,无法显示箭头.
+e: 表示箭头标注在矢量的终点
+n1c/0.5:表示当矢量长度小于1c时,箭头的大小和宽度会进行缩放,缩放比例为0.5
-W控制矢量杆的宽度和颜色
-G对箭头内部填充红色
#########################velo######################
需要的速度数据格式lon,lat Vlon(东向分量),Vlat(北向分量),东向分量的不确定度,北向分量的不确定度,东向分量和北向分量的correlation.后3列可以设置为0.
1.合并数据为:lon,lat,Vlon,Vlat,0,0,0格式
2.画图
gmt velo ${velofile} -Gblack -W0.5p,black -Se0.1c/0.1c+f0 -A0.2c+e+n8c+p0.2p,black -V
-G表示箭头的填充颜色, -W表示矢量杆的画笔宽度和颜色,和plot模块保持一致
-Se:将适量数据绘制箭头,0.1c/0.1c表示速度箭头的缩放比例:我的速度大小为0-10,所以设置每单位速度为0.1c,这样速度箭头的大小在0.1-1c
+f0:表示禁用标注文本;
-A0.2c:表示设置箭头的大小为0.2c,默认箭头的大小不随矢量杆的大小而变化,
+n:表示缩放箭头大小,和plot中一致;
+e:表示在矢量杆的终点绘制箭头;
+p:表示设置箭头的画笔属性,宽度为0.2p,颜色为黑色;