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