凡例の描き方を少し系統立てて試してみました。
凡例の位置および大きさは-Dオプションで指定します。
赤枠の凡例のように -Dx1c/16cで左から1cm下から16cmを基準点とし、+jTLにより基準点との位置関係(凡例の左上を基準点とする)を指定します。+w10c/2cで幅10cm高さ2cmが指定できます。
凡例の内容は外部テキストファイルで指定します。同じく赤枠の凡例について述べるならば、
N 1
# T はText
L - - BC 見出し(既定値)
T 左から1cm下から16cm幅10cm高さ2cm
G 0.5c
T 枠線3pt,red
が、それにあたります。Lコマンドはラベル、Tコマンドはテキストです。Lの方がセンタリングなどができるため便利そうです。
黒枠の凡例では、見出しのフォントやテキストの文字色を変更してみました。変更しない場合、
gmt gmtset FONT_TITLE 16p,GothicBBB-Medium-UniJIS-UTF8-H
gmt gmtset FONT_LABEL 12p,GothicBBB-Medium-UniJIS-UTF8-H
gmt gmtset FONT_ANNOT_PRIMARY 10p,GothicBBB-Medium-UniJIS-UTF8-H
などで指定したフォントが使用されます。
緑枠の凡例では、線種のバリエーションを示しました。
Sコマンドはシンボルを表します。
S 0.5c - 1.0c 0/0/0 1p,black 2c 1ポイント黒線
は、左から0.5cmの位置に-(線分)シンボルを1.0cmの大きさで配置する。
塗色は0/0/0 線種は1pで色は黒
2cm間隔を空けて「1ポイント黒線」と文字を入れる
という意味です。
少し気になったのは下から3つです。左から0.1cmの位置にシンボルを配置せよ、と指定しているにも関わらず左にはみ出してしまっています。なおかつシンボルの大きさ(1.0cm,0.5cm,0.3cm)次第で、はみ出具合が異なっています。dx1とsizeについては、試行錯誤が必要になりそうです。
#!/bin/bash psfile=legend_test.ps gmt gmtset FONT_TITLE 16p,GothicBBB-Medium-UniJIS-UTF8-H gmt gmtset FONT_LABEL 12p,GothicBBB-Medium-UniJIS-UTF8-H gmt gmtset FONT_ANNOT_PRIMARY 0.35c,GothicBBB-Medium-UniJIS-UTF8-H # 方眼紙の描画 gmt psbasemap -JX25c/18c -R0/25/0/18 -BnSeW \ -Bxa5g1+l"(cm)" -Bya5g1+l"(cm)" -K > $psfile # 左上の赤い凡例 cat << + |\ gmt pslegend -R -J -Dx1c/16c+w10c/2c+jTL \ -F+p3p,#FF0000+gwhite -O -K >> $psfile N 1 # T はText L - - BC 見出し(既定値) T 左から1cm下から16cm幅10cm高さ2cm G 0.5c T 枠線3pt,red + # 右上の黒い凡例 cat << + |\ gmt pslegend -R -J -Dx13c/15c+w10c/2c+jTL \ -F+p1p,#000000+g#FFFFFF -O -K >> $psfile N 1 L 10p Ryumin-Light-UniJIS-UTF8-H BC 見出し(10pt) C 0/255/0 T 左から13cm下から15cm幅10cm高さ2cm G 0.5c T 枠線1pt 黒 T 文字色 緑 + # 右下の緑の凡例 cat << + |\ gmt pslegend -R -J -Dx15c/12c+w6c/10c+jTL \ -F+p2p,#00DD00+g#FFFFFF -O -K >> $psfile N 1 L - - BC 線種 D 0.5p G 0.578c S 0.5c - 1.0c 0/0/0 1p,black 2c 1ポイント黒線 G 0.65c S 0.5c - 1.0c 0/0/0 1p,#FF00FF 2c 1ポイントマゼンタ G 0.65c S 0.5c - 1.0c 0/0/0 1p,black,- 2c 破線 G 0.65c S 0.5c - 1.0c 0/0/0 1p,black,. 2c 点線 G 0.65c S 0.5c - 1.0c 0/0/0 1p,#000000,-..- 2c 二点鎖線 G 0.65c S 0.8c - 1.0c 0/0/0 2p,black 2c 少し右寄り2ポイント G 0.65c S 0.1c - 1.0c 0/0/0 1p,black 2c dx1=0.1c size=1.0c G 0.65c S 0.1c - 0.5c 0/0/0 1p,black 2c dx1=0.1c size=0.5c G 0.65c S 0.1c - 0.3c 0/0/0 1p,black 2c dx1=0.1c size=0.3c G 0.65c + # 左下の青い凡例 cat << + |\ gmt pslegend -R -J -Dx1c/10c+w3c/8c+jTL \ -F+p3p,#0000FF -O >> $psfile N 1 # SはSymbol # 枠からのオフセット 記号 記号のサイズ 記号の塗りつぶし 記号の線 記号と文字の間隔 文字 S 0.1c a 0.1c 0/0/0 2p,black 1c 星型(a) G 0.65c S 0.2c c 0.2c 255/0/0 2p,black 1c 円(c) G 0.65c S 0.3c d 0.3c 0/255/0 2p,#888888 1c ひし形(d) G 0.65c S 0.4c - 0.3c 0/0/0 2p,red 1c 直線(-) G 0.65c S 0.5c x 0.3c 0/0/0 2p,#00FF00 1c 十字(x) G 0.65c S 0.6c h 0.3c 0/0/255 1p,#FF0000 1c 六角形(h) G 0.65c S 0.5c v0.2c+a60+bt+ea 0.5c 128/0/0 1p,#FF0000 1c 矢印(v) G 0.65c S 0.4c s 0.3c 255/0/255 1p,#FF00FF 1c 四角(s) G 0.65c +