wiggle
- 贡献者
- 官方文档
- 简介
绘制沿轨 z = f(x,y) 异常
从文件或者标准输入中读取 (x,y,z),在沿轨方向绘制 z 值。连续的 (x,y) 坐标对定义了沿轨距离轴,z 轴垂直于距离轴,形成右手坐标系。正异常或者负异常都可以带有阴影。
语法
gmt wiggle [ table ] -Jparameters -Rwest/east/south/north[/zmin/zmax][+r][+uunit] -Zscale [ -A[azimuth] ] [ -B[p|s]parameters ] [ -Ccenter ] [ -Drefpoint ] [ -Fpanel ] [ -Gfill[+n][+p] ] [ -Ifix_az ] [ -Tpen ] [ -U[stamp] ] [ -V[level] ] [ -Wpen ] [ -X[a|c|f|r][xshift] ] [ -Y[a|c|f|r][yshift] ] [ -bibinary ] [ -dinodata[+ccol] ] [ -eregexp ] [ -fflags ] [ -ggaps ] [ -hheaders ] [ -iflags ] [ -pflags ] [ -qiflags ] [ -ttransp ] [ -wflags ] [ -:[i|o] ]
必选选项
- table
一个或多个ASCII或二进制表数据。若不提供表数据,则会从标准输入中读取。
- -Jprojection (more …)
设置地图投影方式
- -Rxmin/xmax/ymin/ymax[+r][+uunit] (more …)
指定数据范围
- -Zscale
以数据坐标单位或距离单位指定异常值的缩放因子(即比例尺)。追加 c,i 或者 p 表明距离单位分别为 cm,inch 或 point。如果不指定单位,使用 PROJ_LENGTH_UNIT 默认的单位。
可选参数
- -A[azimuth]
设置绘制正异常值的方位角,正异常将被“吸引”到该方向。即:如果轨迹的正法线的方位角在 azimuth ± 90 度的范围内,则沿其正法线方向绘制正异常值。如果正法线的方位角在该范围外,则沿负法线的方向绘制正异常值。[默认为 -A0]
- -Bparameters (more …)
设置底图边框和轴属性
- -Ccenter
绘图前从数据中减去 center,默认值为 0
- -D[g|j|J|n|x]refpoint+wlength[+jjustify][+al|r][+odx[/dy]][+l[label]]
使用四种坐标系统定义比例尺的参考点,详见修饰物-定位
glon/lat 指定数据坐标为参考点
jcode 或者 Jcode 通过 2 个字母的对齐方式码指定锚点作为参考点
nxn/yn 指定归一化坐标系(即 0-1)为参考点
xx/y 指定绘图坐标 为参考点,追加 cm, inch, 或者 point 用来指定单位
+wlength 指定比例尺的长度,单位和数据(z 坐标)的单位一致
+jjustify 指定比例尺的锚点 [默认为 ML]
+al 将比例尺标签放在比例尺左边 [默认为比例尺右边]
+l[label] 指定将 z 坐标的单位用于比例尺标签 [默认无单位]。
比例尺标签的文字属性由 FONT_ANNOT_PRIMARY 控制。比例尺的刻度属性由 MAP_TICK_PEN_PRIMARY 控制。
备注
-Dj 或者 -DJ 选项将会影响锚点的位置,详见修饰物锚点 。
- -F[+cclearances][+gfill][+i[[gap/]pen]][+p[pen]][+r[radius]][+s[[dx/dy/][shade]]]
绘制比例尺的背景面板,详见修饰物-背景面板
+gfill 指定面板填充颜色 [默认不填充]
+ppen 绘制面板边框。pen 为边框的画笔属性,若不指定 pen,则默认使用 MAP_DEFAULT_PEN
+r[radius] 绘制圆角边框,radius 为圆角的半径
+i[[gap/]pen] 在边框内部绘制一个内边框,gap 为内外边框空白距离 [默认为 2p], pen 为内边框的画笔属性 [默认使用 MAP_DEFAULT_PEN]
+cclearance 设置修饰物与面板之间的空白距离。默认情况下面板的大小由修饰物的大小决定,使用该子选项可以为面板增加额外的尺寸。 clearance 的具体设置包括下面 3 种情况:
gap 为四个方向增加相同的空白距离
xgap/ygap 分别为 X 方向和 Y 方向指定不同的空白距离
lgap/rgap/bgap/tgap 分别为四个方向指定不同的空白距离
+s[[dx/dy/][shade]] 设置面板背景阴影。dx/dy 为阴影区相对于面板的偏移量, shade 为阴影区颜色 [默认为 4p/-4p/gray50]
- -Gfill[+n][+p]
设置异常值下的阴影填充的颜色和样式。 [默认不填充] 追加 +p 子选项为填充正异常区域 [默认]。追加 +n 子选项为填充负异常区域。追加 +n+p 为使用相同的方式填充正异常和负异常区域。
注:如果需要设置正异常和负异常使用不同的填充方式,需要重复使用 -G 选项。
- -Ifix_az
绘制异常值时使用固定方位角(见 -A 选项)。使用该选项时,轨迹法线的方位角将被 fixed_az 覆盖。
- -Tpen
绘制轨迹 [默认不绘制]。可以附加画笔属性 [默认值为: width = 0.25p,color = black,style = solid]。
- -U[label][+c][+jjust][+odx/dy] (more …)
在图上绘制GMT时间戳logo
- -V[level] (more …)
设置 verbose 等级 [w]
- -Wpen
设置异常值轮廓画笔属性 [默认没有轮廓]
-X[a|c|f|r][xshift[u]]
- -Y[a|c|f|r][yshift[u]] (more …)
移动绘图原点
- -bi[ncols][type][w][+l|b] (more …)
设置二进制输入数据的格式
- -dinodata (more …)
将输入数据中值为 nodata 的列替换为 NaN
- -e[~]“pattern” | -e[~]/regexp/[i] (more …)
筛选或剔除匹配指定模式的数据记录
- -f[i|o]colinfo (more …)
指定输入或输出列的数据类型
- -g[a]x|y|d|X|Y|D|[col]zgap[+n|p] (more …)
确定数据或线段的间断
- -h[i|o][n][+c][+d][+msegheader][+rremark][+ttitle] (more …)
跳过或生成指定数目的头段记录
- -icols[+l][+sscale][+ooffset][,…][,t[word]] (more …)
设置输入数据列及简单变换(0表示第一列,t 表示文本列)
- -p[x|y|z]azim[/elev[/zlevel]][+wlon0/lat0[/z0]][+vx0/y0] (more …)
设置3D透视视角
- -qi[~]rows[+ccol][+a|f|s] (more …)
筛选输入的行或数据范围
- -t[transp] (more …)
设置图层透明度(百分比)。取值范围为0(不透明)到100(全透明)
- -wy|a|w|d|h|m|s|cperiod[/phase][+ccol] (more …)
将输入坐标转换为循环坐标
- -:[i|o] (more …)
交换输入或输出中的第一和第二列
- -^ 或 -
显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -)
- -+ 或 +
显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明
- -? 或无参数
显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明
- --PAR=value
临时修改GMT参数的值,可重复多次使用。参数列表见 配置参数
示例
下面的示例展示了如果使用 wiggle 模块绘图。示例中使用的数据为 temp.dat
:
gmt begin wiggle_exam
gmt wiggle temp.dat -R-10/10/-3/3 -JM6i -B -Z100i -DjRM+w100+lnT -Tfaint -Gred+p -W1p -BWSne
gmt end show
考虑另外一个示例:使用 track.xym
文件绘制沿轨磁异常,移去均值(32000 nTesla),比例尺设置为图上 1 cm 代表实际 500 nTesla。使用 15 cm 宽的立体等角投影,设置刻度间隔为 5 度,正异常阴影为红色,轨迹线宽度为 0.25p,颜色为蓝色:
gmt wiggle track.xym -R-20/10/-80/-60 -JS0/90/15c -Z500 -B5 \
-C32000 -Gred -T0.25p,blue -DjRM+w1000+lnT -V -pdf track_xym
上述示例中,正异常绘制方向为北方向,使用 -D 选项设置比例尺长度为 1000 nT 。如果要设置绘制正异常的方位角为固定的 45 度,可使用 -I 选项:
gmt wiggle track.xym -R-20/10/-80/-60 -JS0/90/15c -Z1000 -B5 \
-C32000 -Gred -I45 -T0.25p,blue -DjRM+w1000+lnT -V -pdf track_xym
除测线数据外,wiggle 模块也常用于绘制卫星沿轨观测序列,如 GMT 官方示例 。该示例使用 Geosat 卫星观测的沿轨海面高梯度数据来揭示海底构造和海岭。
Bugs
某些情况下,(x,y) 坐标的有效数字位数不足,导致局部方位角变化较大,异常摆动也较大。使用下面命令可以查看是否存在这种情况:
gmt mapproject -Af yourdata.xyz
如果存在上述情况,可以使用 filter1d 对数据滤波:
awk '{ print NR, $0 }' yourdata.xyz \
| gmt filter1d -Fb5 -N4 --FORMAT_FLOAT_OUT=%.12g > smoothed.xyz
上述命令使用了 5 个点的 boxcar 滤波,然后可以使用处理后的数据绘图。