GMT 入门
GMT 实例
GMT 进阶
- 基础知识
- 表数据
- 网格文件
- 颜色表 CPT
- 标准选项
- 地图投影
- -JX: Linear, logarithmic, power, and time
- -JP: Polar/Cylindrical
- -JA: Lambert azimuthal equal area
- -JB: Albers conic equal area
- -JC: Cassini cylindrical
- -JCyl_stere: Cylindrical stereographic
- -JD: Equidistant conic
- -JE: Azimuthal equidistant
- -JF: Azimuthal gnomonic
- -JG: Azimuthal orthographic/General perspective
- -JH: Hammer equal area
- -JI: Sinusoidal equal area
- -JJ: Miller cylindrical
- -JK: Eckert equal area
- -JL: Lambert conic conformal
- -JM: Mercator cylindrical
- -JN: Robinson
- -JO: Oblique Mercator
- -JPoly: (American) polyconic
- -JQ: Equidistant cylindrical
- -JR: Winkel Tripel
- -JS: General stereographic
- -JT: Transverse Mercator
- -JU: Universal Transverse Mercator (UTM)
- -JV: Van der Grinten
- -JW: Mollweide
- -JY: Cylindrical equal area
- 配置参数
- 地学数据集
- 中国地理空间数据集
- 中文支持
- API
- 模块手册
- basemap
- begin
- clear
- clip
- coast
- colorbar
- contour
- coupe
- end
- figure
- filter1d
- fitcircle
- gmt
- gmt-config
- gmtbinstats
- gmtconnect
- gmtdefaults
- gmtget
- gmtinfo
- gmtlogo
- gmtmath
- gmtselect
- gmtset
- gmtsimplify
- gmtspatial
- gmtsplit
- gmtvector
- gmtwhich
- grd2cpt
- grd2xyz
- grdblend
- grdclip
- grdcontour
- grdconvert
- grdcut
- grdedit
- grdfill
- grdimage
- grdinfo
- grdlandmask
- grdmask
- grdmath
- grdpaste
- grdproject
- grdsample
- grdtrack
- grdtrend
- grdvector
- grdview
- grdvolume
- gshhg
- histogram
- image
- img2google
- img2grd
- kml2gmt
- makecpt
- mapproject
- mask
- meca
- nearneighbor
- plot
- polar
- project
- psconvert
- rose
- sac
- sample1d
- solar
- spectrum1d
- sph2grd
- sphdistance
- sphinterpolate
- sphtriangulate
- surface
- ternary
- text
- triangiulate
- velo
- wiggle
- x2sys_binlist
- x2sys_cross
- x2sys_datalist
- x2sys_get
- x2sys_init
- x2sys_list
- x2sys_merge
- x2sys_put
- x2sys_report
- x2sys_solve
- xyz2grd
- mgd77manage
- mgd77convert
- mgd77header
- mgd77info
- mgd77list
- mgd77magref
- mgd77path
- mgd77sniffer
- mgd77track
- legend
- docs
- subplot
- inset
附录
其他
添加图例
绘制了线条与符号后,通常还需要添加图例,以解释不同数据的含义。GMT 中使用 legend 模块添加图例。
自动图例
在使用 plot 模块绘制线条或符号时,可以额外加上 -llabel 选项以指定当前线段或符号的图例标签。
下面的示例中,我们利用前面学到的知识绘制了线段和两种符号,同时使用了 -l 选项为线段和符号均添加了标签。在绘图结束时,GMT 会自动根据命令中提供的信息在右上角绘制了图例。
gmt begin auto-legend gmt basemap -R0/10/0/10 -JX10c -Baf gmt plot -W1p,blue -l"Profile" << EOF 3 3 6 8 EOF gmt plot -Gred -Sa0.3c -W0.5p -l"Event" << EOF 5 5 EOF gmt plot -Gblue -St0.3c -W0.5p -l"Station" << EOF 2 3 4 6 8 5 EOF gmt end show
还可以为 -l 选项加上其它子选项以控制图例的位置、大小以及其它显示效果,在本教程中不再赘述。
设置图例属性
GMT 使用 legend 模块添加图例。上面的示例中我们并没有调用 legend 模块,而是 GMT 在绘图结束时自动调用了 legend 添加图例。我们也可以显式调用 legend 模块,并设置图例的更多属性。
gmt begin auto-legend gmt basemap -R0/10/0/10 -JX10c -Baf gmt plot -W1p,blue -l"Profile" << EOF 3 3 6 8 EOF gmt plot -Gred -Sa0.3c -W0.5p -l"Event" << EOF 5 5 EOF gmt plot -Gblue -St0.3c -W0.5p -l"Station" << EOF 2 3 4 6 8 5 EOF gmt legend -DjBR+o0.1c/0.1c -F+p1p+glightblue gmt end show
这个示例中,我们显式调用了 legend 选项,并设置了 -D 和 -F 选项。
jBR 表示将图例放在底图的右下角(BottomRight)
+o0.1c/0.1c 表示将图例在右下角的基础上再加上额外的偏移量
-F+p1p+glightblue 则设置了图例框的轮廓和填充色
手动设置图例
如果对于自动生成的图例不满意,还可以使用 legend 模块绘制更复杂的图例,其输入文件有自己的一套规则,详情见 legend 模块的说明文档。这节只介绍最简单也最常用的图例,即符号和线条的图例。针对绘制符号和线条,legend 的输入格式为:
S dx1 symbol size fill pen dx2 text
S 表明这一行用于绘制符号或线段。
dx1 是符号或线段与图例左边框的距离
symbol 是要绘制的符号类型代码;若想要绘制线段,则设置 symbol 为 -
size 符号尺寸或线段长度
fill 符号填充色;若不需要填充色,则可设置为 -
pen 符号轮廓的画笔颜色;若不需要绘制符号轮廓,则可设置为 -
text 符号对应的文字说明
dx2 文字与左边框之间的距离
下面的示例中,我们绘制了四种符号,以及线段、矢量线和断层线。
gmt begin map gmt basemap -R0/10/0/8 -JX10c/8c -Baf -BWSen cat > legend.txt << EOF # symbols S 0.25c c 0.3c - 0.25p,blue 0.8c circle S 0.25c t 0.3c cyan 0.25p 0.8c triangle S 0.25c i 0.3c blue 0.25p,red 0.8c triangle2 S 0.25c e 0.3c yellow 0.25p 0.8c ellipse # lines S 0.25c - 0.5c - 0.25p 0.8c line S 0.25c - 0.5c - 0.25p,- 0.8c dashline S 0.25c v0.1i+a40+e 0.25i magenta 0.25p 0.8c vector S 0.25c f0.1i+l+t 0.25i blue 0.25p 0.8c fault EOF gmt legend legend.txt -DjBR+w2.8c+o0.1c/0.1c -F+p1p+glightblue gmt end show
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论