いちからはじめる GMT その15 - psxy -Sb

2009年 3月 1日 掲載


-Sオプションは,基本的にその座標にシンボル(Symbol)を描画するのだが, -Sb と指定すると,その座標までの棒グラフ(bar)が描画される. さっそくためしてみよう.

まずは,データ作り. シンプルに直線上の点を 7つ用意する.

$ awk 'BEGIN{for(i=1; i<8; i++)print i, i}' > x.txt

用意したデータの座標を psxy -Sx で確認しておこう.

$ psxy x.txt -Jx1.2 -R0/8/0/8 -Ba4f1 -Sx1 > x.eps

直線上の 7点

さて,このデータを使って棒グラフを描画する. -Sx のかわりに -Sb を指定.指定したサイズは棒グラフの幅になる.

$ psxy x.txt -Jx1.2 -R0/8/0/8 -Ba4f1 -Sb1 > bar.eps

y=0 からの棒グラフ

できた図を見ると,間隔が 1で,幅も 1 なのに, 棒グラフの間にすき間ができている. これは,指定した棒グラフの幅の単位が, デフォルトでは(紙に)プロットするときの単位だからで, 縮尺が 1(-Jx1)でない場合は,座標系と合わないのである. 棒グラフの幅を座標系の x軸の単位で描画するには, 幅の値に u を付加する.

$ psxy x.txt -Jx1.2 -R0/8/0/8 -Ba4f1 -Sb1u > bar.eps

y=0 からの棒グラフ

ぴっちり並んだ図ができた.

この例では,棒グラフは x軸(y=0)から描画されたが, オプションに,さらに bbase を追加すると, y=base からの棒グラフになる. ためしに base=4 として描画してみよう.

$ psxy x.txt -Jx1.2 -R0/8/0/8 -Ba4f1 -Sb1ub4 > bar.eps

y=4 からの棒グラフ

前回ためした -S? では,指定するシンボルを大文字にするか, 小文字にするかで描画内容が異なっていたが,-Sb ではどうだろうか. -SB として描画してみる.

$ psxy x.txt -Jx1.2 -R0/8/0/8 -Ba4f1 -SB1u > bar.eps

x=0 からの棒グラフ

横の棒グラフになった.

-W,-Gオプションを追加することにより,他のシンボル同様, 線種を変更したり,棒を塗りつぶしたりすることができる.

$ psxy x.txt -Jx1.2 -R0/8/0/8 -Ba4f1 -SB1u -W5 -Ggray > bar.eps

x=0 からの棒グラフ(色付き)


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


(C) 2009 KDO