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
附录
其他
plot
- 官方文档
- 简介
在图上绘制线段、多边形和符号
该命令既可以绘制线段和多边形(多边形是闭合的线段),也可以绘制符号。唯一的区别在于是否使用了
- -A[m|p|x|y]
修改两点间的连接方式。
地理投影下,两点之间默认沿着大圆弧连接。
-A
:忽略当前的投影方式,直接用直线连接两点-Am
:先沿着经线画,再沿着纬线画-Ap
:先沿着纬线画,再沿着经线画
笛卡尔坐标下,两点之间默认用直线连接。
-Ax
先沿着X轴画,再沿着Y轴画-Ay
先沿着Y轴画,再沿着X轴画
下图中,黑色曲线为默认情况;红线为使用
-A
的效果;蓝线为使用-Ap
的效果;黄线为使用-Am
的效果:plot -A选项示意图
使用
-S
选项,则表示要绘制符号。-S
选项的基本语法是:-S[<symbol>][<size>[<u>]]
其中
<symbol>
指定了符号类型,<size>
为符号的大小,<u>
为<size>
的单位。不同的符号类型,需要的输入数据格式也不同,但可以统一写成(用
...
代表某符号特有的输入列):X Y ...
-S-|+|a|c|d|g|h|i|n|s|t|x|y|p
绘制一些简单的符号。
这几个符号比较简单,输入数据中不需要额外的列:
-S-
:短横线,<size>
是短横线的长度;-S+
:加号,<size>
是加号的外接圆的直径;-Sa
:五角星(star),<size>
是外接圆直径;-Sc
:圆(circle),<size>
为圆的直径;-Sd
:菱形(diamond),<size>
为外接圆直径;-Sg
:八边形(octagon),<size>
为外接圆直径;-Sh
:六边形(hexagon),<size>
为外接圆直径;-Si
:倒三角(inverted triangle),<size>
为外接圆直径;-Sn
:五边形(pentagon),<size>
为外接圆直径;-Sp
:点,不需要指定<size>
,点的大小始终为一个像素点;-Ss
:正方形(square),<size>
为外接圆直径;-St
:三角形(triangle),<size>
为外接圆直径;-Sx
:叉号(cross),<size>
为外接圆直径;-Sy
:短竖线,<size>
为短竖线的长度;
对于小写符号
acdghinst
,<size>
表示外接圆直径;对于大写符号ACDGHINST
,<size>
表示符号的面积与直径为<size>
的圆的面积相同。下图给出了上面所给出的symbol所对应的符号:
plot -S选项示意图
-S
选项相对复杂,与不同的选项连用,或者后面接不同的参数,所需要的输入数据的格式也不同。不管是什么符号,至少都需要给定符号的位置,即X和Y是必须的:X Y
不同的符号,可能还需要额外的信息,统一写成(用
...
代表某符号特有的输入列):X Y ...
若
-S
指定了符号类型但未指定大小,即-S<symbol>
,若该符号类型需要指定大小,则需要将符号大小放在输入数据的第三列,其他输入数据的列号延后,此时数据格式为:X Y size ...
若size<=0,则跳过该记录行。
若
-S
选项后未指定符号代码,则符号代码必须位于输入文件的最后一列X Y ... symbol
若使用了
-C
和-S
选项,则符号的填充色由数据的第三列决定,其他字段依次后移:X Y [Z] ... symbol
因而总结一下输入数据的格式为:
x y [Z] [size] ... [symbol]
其中
...
为某些符号所要求的特殊的数据列,symbol
是未指定符号时必须的输入列,size
是未指定大小时的输入列。制作和使用自定义符号
如果 GMT 内置的自定义符号无法满足用户的需求,用户可以根据 GMT 自定义符号文件 的格式要求自行制作自定义符号文件。
使用自定义符号时,GMT 会依次按照如下顺序去搜索自定义符号的定义文件
name.def
:当前目录,即运行脚本所在目录
~/.gmt/custom
目录(Linux 和 macOS 用户)或C:\Users\你的当前用户名\.gmt\custom
目录(Windows用户)$GMT_SHAREDIR/custom
目录
用户可以将自己制作的自定义符号复制到以上任一路径即可正常使用。建议放在
~/.gmt/custom
目录(Linux 和 macOS 用户)或C:\Users\你的当前用户名\.gmt\custom
目录(Windows 用户)下。多段数据
对于多段数据而言,每段数据的头段记录中都可以包含一些选项,以使得不同段数据拥有不同的属性。头段记录中的选项会覆盖命令中选项的参数:
-Gfill
:设置当前段数据的填充色-G-
:对当前数据段关闭填充-G
:恢复到默认填充色-W<pen>
:设置当前段数据的画笔属性-W
:恢复到默认画笔属性 MAP_DEFAULT_PEN-W-
:不绘制轮廓-Z<zval>
:从cpt文件中查找Z值<zval>所对应的颜色作为填充色-ZNaN
:从cpt文件中获取NaN颜色
详情及示例参见 数据段头记录中的额外属性
示例
最简单的命令,绘制线段或多边形,此时数据输入需要两列,即X和Y:
gmt plot -R0/10/0/10 -JX10c -B1 -png test << EOF 3 5 5 8 7 4 EOF
下面的脚本展示了
-F
选项的用法:#!/usr/bin/env bash # 此处定义了函数plotpts,用于绘制图中绿色和蓝色的圆圈,并加上文字 function plotpts { # Plots the two data tables and places given text gmt plot -Sc0.2c -Ggreen -Wfaint t1.txt gmt plot -Sc0.2c -Gblue -Wfaint t2.txt echo $* | gmt text -F+cTL+jTL+f12p -Dj0.05i } # 生成测试用的第一个数据文件 cat << EOF > t1.txt 10 10 48 15 28 20 > 40 40 30 5 5 15 EOF # 生成测试用的第二个数据文件 cat << EOF > t2.txt 7 20 29 11 8 4 EOF # -Fcs: 默认的连接方式 gmt begin plot_-F gmt basemap -R0/50/0/45 -Jx0.06i -Ba10 -BWSne gmt plot -W1p t[12].txt plotpts TWO DATA TABLES # -Fra gmt plot -W1p t[12].txt -Fra -X3.25i plotpts DATASET ORIGIN # -Frf gmt plot -W1p t[12].txt -Frf -X-3.25i -Y3.15i plotpts TABLE ORIGIN # -Frs gmt plot -W1p t[12].txt -Frs -X3.25i plotpts SEGMENT ORIGIN # -Fr10/35 gmt plot -W1p t[12].txt -Fr10/35 -X-3.25i -Y3.15i plotpts FIXED ORIGIN echo 10 35 | gmt plot -Sa0.4c -Gred -Wfaint # -Fna gmt plot -W1p t[12].txt -Fna -X3.25i plotpts NETWORK gmt end show rm t[12].txt
plot -F选项示意图
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论