GMT是地学界常用的开源软件,不仅是因为其开源的特性,还有着独特的魅力。GMT可以对海岸线、地形、投点等进行综合表现,满足我们的学术论文。但是笔者发现,目前仍然缺乏某些特定的GMT画图教程,如本文所要分享的复杂海底地形图(如下图)。本文适合初学者,也适合具有一定基础的海洋地质地球物理学科专业的同学。
作图之前的小tips——图层
GMT的画图是通过图层的不断叠加来实现的,画图者需要做的就是先画出底图,然后在此基础上叠加需要的图层。本文就是以图层顺序的方式进行分享,这样可以对图层进行随意删减或者改变顺序。需要说明的是,本文所写的代码使用Mac下最新版本的软件GMT6
GMT6的[安装]åscholar.coding.me/2018/10/22/post_19/")、详细模块讲解请参照GMT官网或者GMT中文网。
闲话少说,Let's start!
准备工作
#!/bin/bash
fig_name=GMT_complexFig
fig_fmt=png
gmt set FONT_ANNOT_PRIMARY=12
gmt set FONT_ANNOT_PRIMARY=times-roman
gmt set MAP_FRAME_TYPE=fancy
gmt set COLOR_BACKGROUND=white
gmt set FORMAT_GEO_MAP ddd:mm:ssF
定义图名和图片格式,自定义部分GMT默认值,分别是字体大小、字体格式、地图的外框、背景颜色和经纬度标注格式
inf=earth_relief/earth_relief_05m.grd # 地形网格文件
gradf=earth_relief/grad_relief_05m.nc # 地形梯度网格文件
gmt grdgradient $inf -A45 -Nt0.3 -fg -G$gradf
梯度网格文件的生成,,目的是使底图具有阴影效果。在此强调一下-Nt选项,后面的数字越小,地形越平坦,在图范围