✍️ 何星辰  •  📅 2025-10-21

barb

官方文档:

barb

简介:

在 2D 和 3D 中绘制风羽

barbfiles (或标准输入)读取 (x, y, 方位角, 风速) 数据, 并生成用于在地图上绘制风羽的 PostScript 代码。如果设置了 -Jz|Zbarb 会将输入数据的第三列解释为 z 值,并在三维中绘制风羽。 如果未通过 -Q 指定风羽长度,则 barb 会将输入数据的第三列和第四列分别解释为风羽长度和宽度。 使用 -G 选择填充颜色。如果设置了 -G,则 -W 将控制是否绘制轮廓。

语法

barb [ table ] -Jparameters -Jz|Zparameters -Rwest/east/south/north[/zmin/zmax][+r][+uunit] [ -B[p|s]parameters ] [ -Ccpt ] [ -Ddx/dy[/dz] ] [ -Gfill ] [ -Iintens ] [ -N ] [ -Qlength[+aangle][+g-|fill][+jb|c|e][+p-|pen][+sscale][+wwidth][+z] ] [ -U[stamp] ] [ -V[level] ] [ -W[pen][attr] ] [ -X[a|c|f|r][xshift] ] [ -Y[a|c|f|r][yshift] ] [ -aflags ] [ -bibinary ] [ -dinodata[+ccol] ] [ -eregexp ] [ -fflags ] [ -hheaders ] [ -iflags ] [ -pflags ] [ -ttransp ] [ -:[i|o] ] [ --PAR=value ]

输入数据

table

一个或多个ASCII或二进制表数据。若不提供表数据,则会从标准输入中读取。

必须选项

-J
-Jprojection

设置地图投影方式。 (参数详细介绍)

-Jz|Z
-Jz|Zparameters

绘制三维图时,设置垂直方向 Z 轴的线性投影尺度。 参数用法与 -Jx|X 相同。

-R
-Rwest/east/south/north[/zmin/zmax][+r][+uunit]

指定数据范围。对于三维透视图(-p 选项) ,可以加上 /zmin/zmax 指定Z轴的范围。 (参数详细介绍)

可选选项

-B
-Bparameters

设置底图边框和轴属性。 (参数详细介绍)

-C
-Ccpt

指定 CPT,或用 -Ccolor1,color2[,color3,…] 来自动构建连续线性 CPT。 此时 colorn 可以是 RGB 三元组、颜色名或 HTML 十六进制颜色(如 #aabbcc)。 填充颜色由第三列(或如果设置了 -Jz 则为第四列)的值决定。 其他字段会向后移动一列(例如风羽方位将位于第四而非第五列)。

-D
-Ddx/dy[/dz]

按指定偏移量 dx/dy[dz] 偏移绘图符号或线条位置 [默认无偏移]。

-G
-Gfill

为符号或多边形选择填充颜色或图案 [默认不填充]。 注意 barb 会在所有段头中搜索 -G-W,并覆盖命令行设置。

-I
-Iintens

使用提供的 intens 值(通常在 ±1 范围内)来调节填充颜色模拟光照 [默认无效果]。

-N
-N[c|r]

不裁剪落在地图边界之外的符号 [默认只绘制完全在地图内的点]。 该选项不适用于始终裁剪的线条和多边形。对于周期性(360°经度)地图,为避免重复边界裁剪符号需绘制两次。 使用 -Nr 关闭裁剪但保留重复符号,或 -Nc 保留裁剪但不绘制重复符号。

-Q
-Qlength[+aangle][+g-|fill][+jb|c|e][+p-|pen][+sscale][+wwidth][+z]

修改风羽参数。附加风羽 length [默认 0.5c]。 可添加多个修饰符来指定风羽的位置、形状及对齐方式,下文左/右指从线段起点到终点方向看风羽的两侧:

  • +a - 设置风羽角度 [120]

  • +g - 关闭填充(如果为 -)或设置风羽填充 [默认填充]

  • +p - 设置风羽画笔属性。如果 pen 以 - 开头,则不绘制轮廓 [默认画笔,绘制轮廓]

  • +j - 设置输入 x, y 点相对于风羽的位置。选择 b 起点 [默认]、e 终点或 c 中心

  • +s - 设置对应长风羽的风速 [默认 5]

  • +w - 设置风羽宽度

  • +z - 输入 (u,v) 分量而非 (方位角, 风速)

-U
-U[label][+c][+jjust][+odx/dy]

在图上绘制GMT时间戳logo。 (参数详细介绍)

-V
-V[level]

设置 verbose 等级 [w]。 (参数详细介绍)

-W
-W[pen][attr] (more …)

设置线条或符号轮廓画笔属性 [默认:宽度=默认,颜色=黑色,样式=实线]。 若附加 +cl 修饰符,则线条颜色取自 CPT (-C);若附加 +cf, 则符号填充取 CPT 颜色。使用 +c 可同时应用两者。

-X
-Y

-X[a|c|f|r][xshift[u]]

-Y[a|c|f|r][yshift[u]]

移动绘图原点。 (参数详细介绍)

-a
-a[[col=]name][,]

控制输入或输出为 OGR/GMT 格式时对非空间元数据的处理方式。 (参数详细介绍)

-bi
-bi[ncols][type][w][+l|b]

控制二进制文件的输入格式。 (参数详细介绍)

-di
-dinodata

将输入数据某些特定值当作NaN。 (参数详细介绍)

-e
-e[~]“pattern” | -e[~]/regexp/[i]

筛选或剔除匹配指定模式的数据记录。 (参数详细介绍)

-f
-f[i|o]colinfo

显式指定当前输入或输出数据中每一列的数据类型。 (参数详细介绍)

-h
-h[i|o][n][+c][+d][+msegheader][+rremark][+ttitle]

在读/写数据时跳过文件开头的若干个记录。 (参数详细介绍)

-i
-icols[+l][+sscale][+ooffset][,][,t[word]]

对输入的数据进行列选择以及简单的代数运算。 (参数详细介绍)

-p
-p[x|y|z]azim[/elev[/zlevel]][+wlon0/lat0[/z0]][+vx0/y0]

设置3D透视视角。 (参数详细介绍)

-t
-t[transp]

设置图层透明度(百分比)。取值范围为0(不透明)到100(全透明)。 (参数详细介绍)

-:
-:[i|o]

交换输入或输出数据的前两列。 (参数详细介绍)

-^-

显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -

-++

显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明

-? 或无参数

显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明

--PAR=value

临时修改GMT参数的值,可重复多次使用。参数列表见 配置参数

示例

: 下面是该模块的一些有效语法示例。使用远程文件(文件名以 @ 开头)的示例可以剪切并粘贴到您的终端中进行测试。其他需要输入文件的命令只是常见的使用类型的虚拟示例,但不能按编写的原样运行。

在三维空间 (0-10), (0-10), (0-100) 上绘制蓝色柱状图(宽度 = 1.25 cm), 位置由 heights.xyz 文件指定,每 2, 2, 10 设置刻度,从东南方向以 30° 仰角观察,可使用:

gmt barb heights.xyz -R0/10/0/10/0/100 -Jx1.25c -Jz0.125c -So1.25c -Gblue \
     -Bx2+lXLABEL -By2+lYLABEL -Bz10+lZLABEL -B+t"3-D PLOT" -p135/30 -Uc -W -pdf heights

段头解析

段头记录可以包含以下一个或多个选项:

-Gfill

使用新的 fill 并开启填充。

-G-

关闭填充。

-G

恢复默认填充(命令行未设置则无填充)。

-Wpen

使用新的 pen 并开启轮廓。

-W

恢复默认画笔 MAP_DEFAULT_PEN (如果命令行未设置)。

-W-

关闭轮廓。

-Zzval

根据 z 值 zval 从 CPT 获取填充颜色。

-ZNaN

从 CPT 获取 NaN 颜色。

相关模块

colorbar, grdbarb, plot3d