繪製符號¶
繪製各種類型的符號也是常見的繪圖需求之一。GMT支持繪製十幾種常見的符號類型,還支持自定義複雜的符號類型,足以滿足日常的科研繪圖需求。這一節將介紹如何使用 plot 模塊繪製多樣的符號。
符號一覽¶
plot 模塊繪製符號需要使用 -S 選項。-S 選項後面緊跟着符號類型代碼,以及符號大小。GMT中常見的十幾種簡單符號及其對應的符號類型代碼如下圖所示。比如 c 代表圓(circle),t 代表三角形(triangle)。

繪製簡單符號¶
以繪製圓圈爲例,通過查詢文件或者看上圖可知,圓圈對應的符號類型代碼爲 c。 -Sc0.5c 則表示繪製直徑爲0.5釐米的圓圈。爲了繪製圓圈,我們需要給定圓圈的位置,因而輸入數據中需要提供圓圈的X和Y座標。
下面的示例中在(2,3)、(5,6)、(8,2) 三個點繪製了三個直徑爲0.5釐米的圓圈。
gmt begin symbols png,pdf
gmt plot -R0/10/0/10 -JX10c/10c -Baf -Sc0.5c << EOF
2 3
5 6
8 2
EOF
gmt end show
與繪製線段和多邊形類似,我們可以使用 -W 選項控制符號輪廓的畫筆屬性,使用 -G 選項爲符號設置填充色。下面的命令就繪製了三個黑邊紅色圓圈。
gmt begin symbols png,pdf
gmt plot -R0/10/0/10 -JX10c/10c -Baf -Sc0.5c -W1p,black -Gred << EOF
2 3
5 6
8 2
EOF
gmt end show
若想要繪製其它符號,則只需要使用對應的符號類型代碼即可。例如,將 -Sc0.5c 改成 -St0.5c 則會繪製三角形。
當然,某些符號類型可能需要額外的輸入數據。比如 -Sr 表示繪製長方形,此時輸入數據中除了需要長方形的X和Y座標之外,還需要長方形的寬和高,因而輸入數據需要四列。對於這些輸入數據稍複雜的符號,可以閱讀文件以瞭解其輸入數據的格式。
大小變化的符號¶
若想要繪製大小變化的符號,則需要在輸入數據中額外加上一列以控制每個符號的大小,同時,在 -S 選項中則不再需要指定符號大小。
下面的示例中,-Sc 中沒有指定圓圈大小,此時輸入數據的第三列控制圓圈大小。由此,我們即得到了大小變化的符號。
gmt begin symbols png,pdf
gmt plot -R0/10/0/10 -JX10c/10c -Baf -Sc -W1p,black -Gred << EOF
2 3 0.3
5 6 0.8
8 2 0.5
EOF
gmt end show
顏色變化的符號¶
前面提到,使用 -G 選項可以爲符號填充顏色,但其只能同時爲所有符號指定單一的顏色。如果想要讓符號的顏色根據某個數值的不同而使用不同的顏色,則需要使用 -C 選項。 -C 選項表示符號的填充色由某個數值以及CPT顏色表所控制。CPT顏色表給出了數值與顏色之間的對應關係。因而對於任意一個符號,我們都可以給其一個數值,GMT會根據該數值從CPT顏色表中找到對應的顏色作爲該符號的填充色。因而,在輸入數據中,我們需要在 X和Y座標的基礎上額外加一列Z值,用於控制符號的填充色。
下面的示例中,我們首先使用 makecpt 模塊,以GMT內置CPT顏色表 hot 爲基礎,生成了一個新的CPT顏色表。關於CPT顏色表的具體細節在後面會介紹到。此處,讀者只需要知道,我們製作了一個CPT文件供後面的命令使用。該CPT顏色表爲0到3之內的每個數值都對應了一個顏色。
同時,對於輸入數據,我們額外增加一列(通常稱這一列爲Z值),該列的值決定了符號的填充色。
gmt begin symbols png,pdf
gmt makecpt -Chot -T0/3/1
gmt plot -R0/10/0/10 -JX10c/10c -Baf -Sc0.5c -W1p,black -C << EOF
2 3 0
5 6 1
8 2 2
EOF
gmt end show
繪製不同的符號¶
前面說到,-S 選項中指定不同的符號類型代碼則代表繪製不同的符號,但每次只能指定一種符號類型代碼。如果想要不同的數據使用不同的符號繪製,則可以只指定符號大小而不指定符號類型代碼,並在輸入數據的最後一列指定符號類型代碼。
下面的示例中,我們使用 -S0.5c 指定了符號的大小,但是沒有指定符號類型。輸入數據的最後一列中 c、t和 i 則分別爲三個數據指定了各自的符號類型。
gmt begin symbols png,pdf
gmt basemap -R0/10/0/10 -JX10c/10c -Baf
gmt plot -S0.5c -W1p,black -Gred << EOF
2 3 c
5 6 t
8 2 i
EOF
gmt end show
大小、顏色和符號類型都變化的符號¶
前面介紹瞭如何繪製大小變化或顏色變化或符號類型變化的符號。那麼如何實現顏色、大小以及符號三者都變化的符號呢?可以使用 -S 但不指定符號類型以及符號大小,同時使用 -C 選項。
關鍵問題在於,此時的數據數據格式是怎樣的。根據GMT的規定,此時輸入數據的格式爲:
X Y Z size symbol
即第三列控制符號填充色,第四列爲符號大小,最後一列爲符號類型代碼。
gmt begin symbols png,pdf
gmt makecpt -Chot -T0/3/1
gmt plot -R0/10/0/10 -JX10c/10c -Baf -S -W1p,black -C << EOF
2 3 0 0.3 c
5 6 1 0.8 t
8 2 2 0.5 i
EOF
gmt end show