いちからはじめる GMT その38 - psxy -Sf

2011年 1月 2日 掲載


ひさしぶりに,psxyコマンドをあつかう. 今回はたくさんある -Sオプションから, 前線を描画する -Sfオプションをためしてみる.


psxyコマンドに -Sfオプションを付すと, 引かれた線が前線(front)になる.

まずは,man psxy を見てみよう.

-Sf    front.   -Sfgap/size[dir][type][:offset].   Supply  distance gap
       between symbols and symbol size.  If  gap  is  negative,  it  is
       interpreted  to  mean  the  number  of  symbols  along the front
       instead.  Append dir to plot symbols on the left or  right  side
       of  the  front  [Default  is  centered].  Append type to specify
       which symbol to plot: box, circle,  fault,  slip,  or  triangle.
       [Default  is  fault].   Slip means left-lateral or right-lateral
       strike-slip arrows (centered is not an option).  Append  :offset
       to  offset  the  first symbol from the beginning of the front by
       that amount [Default is 0].

最低限,記号の間隔(gap)と大きさ(size)を指定する必要があるようだ.

では,さっそく描画をためしてみる. サンプルとして円弧のデータを作ろう.

$ awk 'BEGIN{for(x=0;x<=5;x+=0.125)print x, sqrt(25-x**2)}' > arc.txt

オプションなしでは,半径 5 の円弧が描かれる.

$ psxy arc.txt -Jx1 -R-1/6/-1/6 > arc.eps

円弧

これに,-Sfオプションを付けて前線にする. とりあえず,記号の間隔,大きさとも 1 にしてみる. パラメータは間隔,大きさの順に,「/」で区切って指定する.

$ psxy arc.txt -Jx1 -R-1/6/-1/6 -Sf1/1 > front.eps

前線

円弧に長さ 1 の横線が 9本付いた. 円弧の長さが 5×2π/4 = 7.85… だから, たしかに間隔は,だいたい 1 になっているようだ.

間隔を 2 にすると,横線は 5本になる.

$ psxy arc.txt -Jx1 -R-1/6/-1/6 -Sf2/1 > front.eps

前線

間隔の数値にマイナスを付けると, 横線の間隔ではなく,横線の本数になる. -4 とすると,横線が 4本になる.

$ psxy arc.txt -Jx1 -R-1/6/-1/6 -Sf-4/1 > front.eps

前線

横線の長さも変えてみよう.0.5 にしてみる.

$ psxy arc.txt -Jx1 -R-1/6/-1/6 -Sf1/0.5 > front.eps

前線

-Sfオプションに「l」「r」を付すと, 線の左側(l),右側(r)だけに横線が描かれる.

$ psxy arc.txt -Jx1 -R-1/6/-1/6 -Sf1/0.5l > front.eps

前線

$ psxy arc.txt -Jx1 -R-1/6/-1/6 -Sf1/0.5r > front.eps

前線

ここでの左右は,線を描く方向に対する向きである. arc.txt は (0, 5)から (5, 0) への曲線なので, 「l」では円弧の外側に,「r」では円弧の内側に横線が付く.


次回は,横線以外の種類の前線を描いてみます.


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


(C) 2011 KDO