いちからはじめる GMT その9 - psxy -G

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