いちからはじめる GMT その58 - *_OFFSET, ps2raster -A

2011年 12月 1日 掲載


今回も,目盛り数字,軸ラベル,タイトルの描画についてである. あつかうのは,各文字列の間隔を指定するパラメータ「*_OFFSET」である.

まずは,前回同様,デフォルトで枠線を描画してみよう.

$ gmtdefaults -D > .gmtdefaults4
$ psbasemap -Jx1 -R-5/5/0/5 -Ba1:"Axis Label"::."Title": > offset.eps

OFFSET

この図では,上の軸ラベルとタイトルがくっつぎすぎに思えるので, これらを少し離して描いてみたい. 軸ラベルとタイトルの間隔は, HEADER_OFFSET というパラメータを指定することで変えることができる. 現在の値は,

$ gmtdefaults -L | grep "HEADER_OFFSET"
HEADER_OFFSET		= 0.5c

で,0.5cm となっているので,これを 1.0cm に変えてみる.

$ gmtset HEADER_OFFSET 1.0c
$ psbasemap -J -R -B > offset.eps

OFFSET

軸ラベルとタイトルの間隔が倍になった. *_OFFSET というパラメータは,以下の種類がある.

$ gmtdefaults -D | grep "OFFSET"
ANNOT_OFFSET_PRIMARY	= 0.2c
ANNOT_OFFSET_SECONDARY	= 0.2c
HEADER_OFFSET		= 0.5c
LABEL_OFFSET		= 0.3c
Y2K_OFFSET_YEAR		= 1950

それぞれ,

である. Y2K_OFFSET_YEAR は 2桁の年を 4桁にするときの基準の値で,今回は関係ない.

ためしに,ANNOT_OFFSET_PRIMARY と LABEL_OFFSET も倍にして描画してみよう.

$ gmtset ANNOT_OFFSET_PRIMARY 0.4c
$ gmtset LABEL_OFFSET 0.6c
$ psbasemap -J -R -B > offset.eps

OFFSET

目盛り数字を 2つ描く時系列図も描いてみる. ANNOT_OFFSET_SECONDARY を倍の 0.4cm にして,軸ラベルとタイトルも描いてみた.

$ gmtset ANNOT_OFFSET_SECONDARY 0.4c
$ psbasemap -Jx5T/1 -R2011-12-1T00:00:00/2011-12-4T00:00:00/0/5 -Bpa6h:"x axis label":/a1:"y axis label"::."Title": -Bsa1D/ > offset.eps

OFFSET

下と右の軸ラベルが切れてしまった. どうやら,EPSファイルの BoundingBox の値が正しくセットされていないようだ. 描画した範囲がすべて入るようにするには,ps2raster -A で変換する必要がある.

$ ps2raster offset.eps -A -Te -Foffset2

とすると,offset2.eps というファイルができて, 表示してみると,ちゃんとすべての軸ラベルが描画されている↓.

OFFSET

ここで,-A が BoundingBox を調整(Adjusting)するオプションである. -Te で出力ファイルの形式を EPS にしている. デフォルトでは,元の EPSファイルの拡張子を出力形式のものに変えたファイルに出力するので, 今回のように元ファイルと出力ファイルの形式が同じでファイル名が同じになってしまう場合は, -F で出力ファイル名を変える必要がある.

ps2rasterコマンドのくわしい使い方は,次回に説明する.


[ KDOホームにもどる] [ いちからはじめる GMT インデックスにもどる ]


(C) 2011 KDO