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 可以绘制多种不同类型的底图,包括全球地图、区域地图,以及线性坐标轴、对数轴、指数轴、极坐标轴,甚至 3D 坐标轴。
这一节我们将通过使用 coast 和 basemap 模块绘制不同类型的底图,并了解 GMT 中 -J、-R和 -B 选项的基本用法。
全球地图
要绘制地图,就需要将地球的三维球面投影到一个二维面上,投影的过程需要指定投影方式。GMT 中使用 -J 选项指定地图投影参数以及地图的尺寸。同时,我们还需要使用 -R 选项指定要绘制的区域范围(即经纬度范围)。
下面用最简单的命令绘制了一张全球地图。
gmt begin GlobalMap gmt coast -JH180/12c -R0/360/-90/90 -W0.5p -A10000 gmt end show
全球地图(无边框版)
绘制区域地图与绘制全球地图没有本质区别,我们依然需要使用 -J 指定投影方式,使用 -R 指定绘图区域范围,使用 -B 指定底图边框。
下面的 GMT 命令绘制了一张新西兰地图。
gmt begin NewZealandMap gmt coast -JM12c -RNZ -Ba -W0.5p -A10000 gmt end show
使用国家代码指定绘图区域
GMT 最擅长绘制地图,同时也适合绘制最简单的线性坐标轴。同样的,要想绘制线性坐标轴,我们依然需要使用 -R 指定坐标轴范围,使用 -B 绘制边框并指定边框和坐标轴属性,同时,我们还需要使用 -JX 指定线性坐标轴的宽度和高度。
下面的示例中,我们使用了:
-JX8c/5c 表明线性坐标轴的宽度为 8 厘米,高度为 5 厘米
-R10/70/-4/8 表明 X 轴范围为 10 到 70,Y 轴范围为 -4 到 8
-Bxa10f5g10+l”X Label” 设置了 X 轴的属性, a10f5g10 分别设置了标注(annotation)间隔为 10,刻度(frame)间隔为 5,网格线(grid )间隔为 10; +l”X Label” 则为 X 轴添加了标签;对于 Y 轴同理;
gmt begin linearXY gmt basemap -R10/70/-4/8 -JX8c/5c -Bxa10f5g10+l"X Label" -Bya4f2g2+l"Y Label" -BWSen+t"Linear X-Y Plot" gmt end show
线性坐标轴
三维坐标轴相对于二维坐标轴多了一个 Z 轴。与二维线性坐标轴类似,我们需要针对 Z 轴指定 Z 轴的范围、Z 轴的高度以及三维视角。
下面的命令绘制了一个三维线性坐标轴,相比于传统的二维线性坐标轴,其不同之处在于:
-R 选项中有 6 个数字,后面两个数字表示 Z 轴最小值和最大值
-JZ5c 指定了 Z 轴的高度为 5 厘米
-Bzaf 指定了 Z 轴的标注和刻度属性
-BSEwnZ+b 中 Z+b 表示绘制一条 Z 轴,并绘制出整个长方体的所有边
-p130/30 指定了看这个长方形的视角。130 和 30 分别为三维视角的方位角和高度角。这个解释起来稍复杂,读者可以自己试试修改这两个参数并查看效果。方位角的取值范围为 0 到 360 度,高度角的取值范围为 0 到 90 度。
gmt begin 3DMap gmt basemap -R10/70/-4/8/-10/10 -JX8c/5c -JZ5c -Bxa10+lX -Bya4+lY -Bzaf+lDepth -BSEwnZ+b+t"3D Plot" -p130/30 gmt end show
三维线性坐标轴
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论