绘制自定义符号
- 示例贡献者:
陈箫翰,赵志远
某些地学绘图中常用的符号(例如指北针符号) GMT 默认没有提供,如果需要绘制此类符号,
就需要读者 制作和使用自定义符号 ,编写自定义符号的配置文件,之后再使用 gmt plot -Sk
绘制。
以指北针符号为例,它的配置文件如下:
# N: 1 意思是本符号需要一个附加参数(经纬度坐标之后的参数)
# a 意思是该附加参数是地理方位角(从正北开始顺时针角度)
N: 1 a
# $1 代表第一个附加参数的值(本例中仅有一个),O 代表进行旋转
# $1 O 表示先顺时针旋转 $1 角度
$1 O
# 以下宏命令绘制指北针的黑色右半边
# 设置一个位于(0,0.5)的新绘图锚点(M),并设置填充色为黑色(-Gblack)
0 0.5 M -Gblack
# 从上一个点绘制一条线(D)到(0.25,-0.5)
0.25 -0.5 D
# 从上一个点绘制一条线(D)到(0,-0.3)
0 -0.3 D
# 以下宏命令绘制指北针的白色左半边
# 设置一个位于(0,-0.3)的新绘图锚点(M)
0 -0.3 M
# 从上一个点绘制一条线(D)到(-0.25,-0.5)
-0.25 -0.5 D
# 从上一个点绘制一条线(D)到(0,0.5)
0 0.5 D
将以上配置文件的内容保存为 compass.def
的文件,之后即可使用 gmt plot -Skcompass/符号大小
绘制。
示例代码如下:
gmt begin custom
# 生成指北针符号自定义文件
cat > compass.def << 'EOF'
N: 1 a
$1 O
0 0.5 M -Gblack
0.25 -0.5 D
0 -0.3 D
0 -0.3 M
-0.25 -0.5 D
0 0.5 D
EOF
# 绘制底图
gmt basemap -R-1/1/-1/1 -JM5c -Baf
# 在(0,0)位置绘制大小为1c的compass符号,旋转角0度
echo 0 0 0 | gmt plot -Skcompass/1c
gmt end show