GMT Memo

基本的に4.Xに準拠。ところどころ3シリーズと異なる仕様があって少し厄介。

Installation

ここ参照。簡単です。

4.xと3.xの違い

オプションへのAppending

psxy -Sb+b2.5+u

のように、プラス記号でつなぐ(上の例は、y=2.5を基準として、幅はx軸の単位を用いるバーグラフ)。順序にも規則がある場合がある。

psbasemap

3.xでは、

psbasemap -K -R0/1/0/1 -F255 -B -JX[横幅]/[縦幅] -X[左右マージン] -Y[上下マージン] > $PSFILE

などとして、まっさらな下地を設定(-F255で枠線を白に)してから好みのサイズのEPSが作れ、論文にそのまま貼るときなどに便利だったのですが、4.xでは psbasemap に-Fオプションがなくなったため、同じことがうまく出来ません。

→僕は、psbasemapを使わずにいきなりpsxyとかpscontourとかで描画を始めるようにしました。
→GIFに変換するとき等に余白をcropすればGIFとしては問題ないが、やっぱり問題だなあ…

→下にある、gmtsetを使えば可能なことが分かりました。PAPER_MEDIAを任意(a4+等)にして、psbasemapのときだけBASEMAP_FRAME_RGBを255/255/255にする(その後0/0/0に直さないとその後の枠も白くなる)。が、めんどくさい。

→PAPER_MEDIAを任意にした場合、-Bの設定でAnnotationを付記しない面は勝手にクロップされてしまう。

psxy -Sb

ベースライン(ゼロからバーを描くのではなく、開始ラインを指定したい場合)が

3.x: -Sb/[数値]        4.x: -Sb+b[数値]

のように、「+」でつなげて数値の前にbをつけるみたい。[2007/11/19 修正]

pscoast

大河川が海岸線として認識されてしまう。-A5000で長江が、-A10000でメコン川を消すことができるが、沖縄とか小さな島まで消えてしまうことになる。今のところ解決策ナシ。3.4を使うとそのようなことが起きない。

pstext

x y size angle fontno justify text という文字列を食わせるのは同じだが、justifyが3.xは1-9などの数字だったのに対し、4.xではL/C/RとT/M/Bの組み合わせ(例えば中心揃えはCM)となった。

gmtset/PAPER_MEDIA

好きなサイズのEPSファイルを作りたいときは、gmtパラメータのPAPER_MEDIAをa4+などと変更しましょう。

gmtset PAPER_MEDIA a4+

逆に固定サイズにしたい場合は

gmtset PAPER_MEDIA a4

psxy

psxy -Sb

バーを描く。凡例を囲む枠など、四角を描くときに割と活躍。(普通に線分で囲むよりも、少し楽。)

  • 基本的に(x,y,z)の値を与える。(x,0)を出発として、yの高さ・zの幅のバーを描く。
  • -Wは線種、-Gは塗りつぶしを指定。
  • -Sb[値]b

grdgradient

塗りつぶしコンターアレコレ

  • grdcontour
    • 塗りつぶせない
    • 等間隔のコンター線をカラーパレットナシで描ける。
      • アノテーションあり・なしの線が同時に描ける。
    • コンター線のアノテーションの周りが白く塗りつぶされる。
      (ちと不細工。→オプションで何とかなるかも
      →なった。-Agtansparent その場合、他のデフォルトが相殺される(+ap(コンターと平行にする)とか。)
  • pscontour
    • ポリゴンで塗りつぶせる(-I)。
    • カラーパレットが必要。その際、全てにアノテーションが付く。
    • アノテーションが透過(-W)。きれい。
    • 解像度によってはゴツゴツ。(surface + grdimage, grdcontourで対処すると良い)
  • xyz2grd + grdcontour と pscontour の結果は同じではない。

pscontour

  • -Ccptfile -I でポリゴン塗りつぶし(GrADSはコレ)
    • そのとき、カラーパレットにグラデーションがあったらダメ。パターンはOK。

xyz2grd + grdimage

xyz2grd + surface + grdimage

grdgradient

GrADS風に