2008年 12月 1日 掲載
今回は図形の塗りつぶしである. psxy での図形の塗りつぶしは,pscoast と同じく -Gオプションを使う.
まずは例のデータ作り. 正七角形(equilateral heptagon)の頂点データを awk で作成する.
$ awk 'BEGIN{for(i=0;i<7;i++)print cos(i*2*3.1415/7), sin(i*2*3.1415/7)}' > hepta.txt
で,描画してみる.-Gオプションで,色は gray にした (色を名前で指定できない場合は,RGB値 190/190/190 で).
$ psxy hepta.txt -R-2/2/-2/2 -Jx2 -Bg1a1 -Ggray > hepta.eps
hepta.txt のデータは閉じていないのだが, -Gオプションでは,最初と最後を結んだ図形を描画してくれる.
上の例では,グリッド線が図形の上に引かれてしまった. 図形をグリッドの上に描きたいときは, psbasemapコマンドで枠とグリッドを引いた上に, psxyコマンドの出力を合成すればよい.
$ psbasemap -R-2/2/-2/2 -Jx2 -Bg1a1 -K > hepta.eps $ psxy hepta.txt -R -J -Ggray -O >> hepta.eps
-Wオプションを併用すると,図形の輪郭線が引かれる.
$ psbasemap -R-2/2/-2/2 -Jx2 -Bg1a1 -K > hepta.eps $ psxy hepta.txt -R -J -Ggray -W4 -O >> hepta.eps
輪郭線が閉じるのは,-Gオプションがついているからである. -Gオプションなしに,-Wオプションだけで描画すると, 線は閉じないので注意すること.
$ psbasemap -R-2/2/-2/2 -Jx2 -Bg1a1 -K > hepta.eps $ psxy hepta.txt -R -J -W4 -O >> hepta.eps
-Scオプションと併用すると,データで囲まれた範囲ではなく, シンボルが塗りつぶされる.
$ psbasemap -R-2/2/-2/2 -Jx2 -Bg1a1 -K > hepta.eps $ psxy hepta.txt -R -J -Sc1 -Ggray -O >> hepta.eps
-Scオプションに -Gオプションをつけると, シンボルの輪郭が描画されなくなる. 輪郭も描くには -Wオプションを追加する必要がある.
$ psbasemap -R-2/2/-2/2 -Jx2 -Bg1a1 -K > hepta.eps $ psxy hepta.txt -R -J -Sc1 -Ggray -W4 -O >> hepta.eps
[ KDOホームにもどる ] [ いちからはじめる GMT インデックスにもどる ]
(C) 2008 KDO