ternary

官方文档:ternary
简介:绘制三角图解

ternary 从文件或者标准输入中读取数据,并在三角图中绘制符号。如果给定符号类型,但未给出符号大小,ternary 会将第四列数据作为符号大小,符号大小值小于0的将会被跳过。如果没指定符号类型,就必须在数据的最后一列给出符号代码。

语法

gmt ternary [ table ] [ -JXwidth[unit] ] [ -Rwest/east/south/north[/zmin/zmax][+r][+uunit] ] [ -Bparameters ] [ -Ccpt ] [ -Gfill ] [ -La/b/c ] [ -M ] [ -N ] [ -S[symbol][size[u] ] [ -U[stamp] ] [ -V[level] ] [ -W[pen][attr] ] [ -X[a|c|f|r][xshift[u]] ] [ -Y[a|c|f|r][xshift[u]] ] [ -aflags ] [ -bibinary ] [ -dinodata ] [ -eregexp ] [ -fflags ] [ -ggaps ] [ -hheaders ] [ -iflags ] [ -pflags ] [ -ttransp ] [ -:[i|o] ] [ --PAR=value ]

必须选项

必须使用 -M 或者 -R-J

可选选项

table
一个或多个ASCII或二进制表数据。若不提供表数据,则会从标准输入中读取。
-B[a|b|c]args

设置三角图的三条边的属性。

与常规图不同,三角图有三条不同的边。三条边从下面这条边开始,逆时针旋转,分别称为 abc。其余用法与标准选项 -B 相同。

-Ccpt

使用CPT文件,或者直接使用 -Ccolor1,color2[,color3,…] 自动建立一个线性连续CPT文件。

若使用了 -S 选项,则符号填充色由第四列数值决定,其它字段向右移动一列(即若需要指定符号大小,符号大小应置于第5列)。

现代模式下,若不指定CPT,则使用当前CPT。

-Gfill

指定符号填充色。

对于多段数据,段头记录中的 -G 字符串会覆盖命令行中该选项的值。

-JXwidth[unit]
指定三角图的宽度
-La/b/c
设置三个顶点的标签,标签距离顶点的距离为 MAP_LABEL_OFFSET 三倍。
-M

不绘图。将三角图数据 (a,b,c[,z]) 转换为笛卡尔坐标 (x,y,[,z]),x,y 为在三角图解中的归一化坐标值。x 的取值范围为0-1,y 的取值范围为0到 \(\frac{\sqrt{3}}{2}\)

如果一个点在三角图中坐标为(a,b,c),则笛卡尔坐标(x, y)为:

\[ \begin{align}\begin{aligned}x = \frac{(100-a)+b}{2\times100}\\y =\frac{\sqrt{3}}{2\times 100}\times c\end{aligned}\end{align} \]
-N
不裁剪落在三角图外的符号 [默认只绘制三角图内的符号]
-Ramin/amax/bmin/bmax/cmin/cmax
指定三条边 abc 的最大最小值。
-S[symbol][size[u]]

指定要绘制的符号类型及大小

详见 plot 中的 -S 选项。

-U[label][+c][+jjust][+odx/dy] (more …)
在图上绘制GMT时间戳logo
-V[level] (more …)
设置 verbose 等级 [c]
-W[pen][attr]
设置符号的画笔属性。
-t[transp] (more …)
设置图层透明度(百分比)。取值范围为0(不透明)到100(全透明)

-X[a|c|f|r][xshift[u]]

-Y[a|c|f|r][yshift[u]] (more …)
移动绘图原点
-bi[ncols][t] (more …)
设置二进制输入数据的格式
-dinodata (more …)
将输入数据中值为 nodata 的列替换为 NaN
-e[~]”pattern” | -e[~]/regexp/[i] (more …)
只接受匹配指定模式的数据记录
-f[i|o]colinfo (more …)
指定输入或输出列的数据类型
-g[a]x|y|d|X|Y|D|[col]zgap[u][+n|p] (more …)
确定数据或线段的间断
-h[i|o][n][+c][+d][+rremark][+rtitle] (more …)
跳过或生成指定数目的头段记录
-icols[+l][+sscale][+ooffset][,][,t[word]] (more …)
设置输入数据列及简单变换(0表示第一列,t 表示文本列)
-:[i|o] (more …)
交换输入或输出中的第1和第二列。
-p[x|y|z]azim[/elev[/zlevel]][+wlon0/lat0[/z0]][+vx0/y0] (more …)
设置3D透视视角
-t[transp] (more …)
设置图层透明度(百分比)。取值范围为0(不透明)到100(全透明)
-^-
显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -
-++
显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明
-? 或无参数
显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明
--PAR=value
临时修改GMT参数的值,可重复多次使用。参数列表见 gmt.conf

示例

gmt begin map pdf,png
gmt makecpt -Cturbo -T0/80/10
gmt ternary @ternary.txt -R0/100/0/100/0/100 -JX6i -Sc0.1c -C -LWater/Air/Limestone \
    -Baafg+l"Water component"+u" %" -Bbafg+l"Air component"+u" %" -Bcagf+l"Limestone component"+u" %" \
    -B+givory+t"Example data from MATLAB Central"
gmt end show
../../_images/ternary-gmtplot-0.png

相关模块

basemap, plot, plot3d