地球化学三角图解的绘制

三角图解文件 | 曲线坐标数据

三角图解有很多种,这里仅讨论一下地球化学上常用的地球化学图解用 GMT 的实现方法。 该三角图解引自Mukul R. Bhatia & Keith A.W. Crook, 1986, Contrib Mineral Petrol。原图如下:

Th,Sc,La三角图解

  • 三个端元值分别为 Th、Sc 和 La含量经归一化后的值,即将三元素含量换算成各自占三者的百分含量。 以元素 Th 为例,Th’=100*Th/(Th+Sc+La),Sc 及 La 计算方法相同。

  • A,B,C,D 分别代表不同的大地构造环境,A-大洋岛弧,B-大陆岛弧,C-活动大陆边缘,D-被动大陆边缘

实现三角框架和数据投点

psternary 模块可以实现三角框架和数据投点,代码如下:

#!/bin/bash
R=0/100/0/100/0/100
J=X8c
PS=ternary.ps
data=ternary.csv         # 数据文件
Th=1; Sc=2; La=3; Zr=4; Co=5  # 数据所在表格列号
color=6  # 颜色所在的列号
symbol=7 # 符号所在的列号

# cpt
cat > color.cpt << EOF
1 red  2 red
2 blue 3 blue
3 green 4 green
4 brown 5 brown
EOF

gmt set PS_CHAR_ENCODING Standard+
gmt set PS_PAGE_ORIENTATION landscape
gmt set FONT_LABEL = 10p,4 # 坐标轴标签
gmt set MAP_FRAME_PEN = 0.3p # 图框宽度
gmt set MAP_LABEL_OFFSET = 2p # Th,Sc,La离顶点的距离
# 三角图解判断曲线引自 Mukul R. Bhatia and Keith A.W. Crook,1986, Contrib Mineral Petrol (1986)
################################## Th-Sc-La图解 #####################################
# 线段标注数为1,内容为空
gmt psternary Th-Sc-La.txt -J$J -R$R -Bf -Sqn1:+l"" -W0.4p,black,- -X1c -K -P > $PS
gmt psternary -J$J -R$R -Bf -Sl0.2c+f8p,4+t"A" -Gblack -K -O >> $PS << EOF
10 60 30 A
EOF
gmt psternary -J$J -R$R -Bf -Sl0.2c+f8p,4+t"B" -Gblack -K -O >> $PS << EOF
20 30 50 B
EOF
gmt psternary -J$J -R$R -Bf -Sl0.2c+f8p,4+t"C;D" -Gblack -K -O >> $PS << EOF
30 10 60 C;D
EOF
# 原数据作归一化;三角图解端元顺序:下左-下右-上
# 数据前3列为三个端元值,第4列为颜色值,第5列为相应的符号; 命令中-S仅给出符号大小
awk -v Th=$Th -v Sc=$Sc -v La=$La -v color=$color -v symbol=$symbol -F"[, ]+" 'NR>=2 {print \
    $Th*100/($Th+$Sc+$La), $Sc*100/($Th+$Sc+$La), $La*100/($Th+$Sc+$La), $color, $symbol}' \
	$data | gmt psternary -J$J -R$R -Bf -S0.2c -Ccolor.cpt -LTh/Sc/La -O >> $PS
gmt psconvert -A -P -Tg $PS
rm color.cpt gmt.*

绘图效果如下:

Th,Sc,La三角图解

其中,判断曲线使用 Engauge Digitizer 软件自动获得。

Next
Previous