绘制自定义符号

GMT 官方目前内置了 40 个自定义符号,如下所示:

GMT 内置自定义符号

但是对于广大用户来说,这些自定义符号仍然远远无法满足需求。 因此,社区在这里 持续更新一些常用的但还没有被 GMT 官方内置的自定义符号。 如果你觉得有其它实用的符号没有被包含进来,请向我们反馈,我们会酌情考虑。

GMT 在使用自定义符号时会按照顺序在如下目录中依次搜索自定义符号:

  1. 当前目录,即运行脚本所在目录
  2. Linux和Mac用户:~/.gmt/custom;Windows用户:C:\Users\XXXX\.gmt\custom
  3. $GMT_SHAREDIR/custom 目录

因而用户可以下载社区提供的自定义符号并复制到以上任一路径即可使用这些自定义符号。 通常建议放在 ~/.gmt/custom 目录(Linux和Mac用户)或 C:\Users\XXXX\.gmt\custom (Windows用户) 下。

绘制自定义符号脚本如下:

#!/bin/bash
gmt begin custom_symbol png

# 绘制城市符号
echo 3 5 | gmt plot -R0/10/0/10 -JM4i -B2 -Skcity/0.2i -W0.6p
echo 5 5 | gmt plot -Skcity/0.3i -Gblue
echo 7 5 | gmt plot -Skcity/0.4i -Gred -W1p
# 绘制指北针符号,第三列为旋转角度
echo 3 8 0| gmt plot -Skcompass/0.4i -W0.6p
echo 5 8 45| gmt plot -Skcompass/0.5i -Gblue
echo 7 8 90| gmt plot -Skcompass/0.6i -Gred -W1p
# 绘制三角形和五角星符号
echo 2 2 | gmt plot -Sa0.5i -Wblack -Gred
echo 4 2 | gmt plot -St0.5i -Wblack -Ggreen
# 绘制图例
gmt pslegend -F+p1p -DjBR+w1.2i+o0.2c/0.2c << EOF
S 0.2c kcompass 0.15i white 0.5p 1c compass
S 0.2c kcity 0.15i white 0.5p 1c city
S 0.2c a 0.15i red 0.5p 1c capital
S 0.2c t 0.15i green 0.5p 1c station
EOF
gmt end
#!/bin/bash
ps=custom_symbol.ps

# 绘制城市符号
echo 3 5 | gmt psxy -R0/10/0/10 -JM4i -B2 -Skcity/0.2i -W0.6p -K > $ps
echo 5 5 | gmt psxy -R -J -Skcity/0.3i -Gblue -K -O >> $ps
echo 7 5 | gmt psxy -R -J -Skcity/0.4i -Gred -W1p -K -O >> $ps
# 绘制指北针符号,第三列为旋转角度
echo 3 8 0| gmt psxy -R -J -Skcompass/0.4i -W0.6p -K -O >> $ps
echo 5 8 45| gmt psxy -R -J -Skcompass/0.5i -Gblue -K -O >> $ps
echo 7 8 90| gmt psxy -R -J -Skcompass/0.6i -Gred -W1p -K -O >> $ps
# 绘制三角形和五角星符号
echo 2 2 | gmt psxy -R -J -Sa0.5i -Wblack -Gred -K -O >> $ps
echo 4 2 | gmt psxy -R -J -St0.5i -Wblack -Ggreen -K -O >> $ps
# 绘制图例
gmt pslegend -R -J -F+p1p -DjBR+w1.2i+o0.2c/0.2c -O >> $ps << EOF
S 0.2c kcompass 0.15i white 0.5p 1c compass
S 0.2c kcity 0.15i white 0.5p 1c city
S 0.2c a 0.15i red 0.5p 1c capital
S 0.2c t 0.15i green 0.5p 1c station
EOF
gmt psconvert -Tg -A -P $ps -Z
rm -rf gmt.*

绘图效果如下:

绘制自定义符号

下一页
上一页