GNUPLOT

- not so Frequently Asked Questions -

update 2004/9/5

極座標プロットのあれこれ

データを2次元極座標でプロットする.

通常の2次元データはデカルト座標系の(X,Y)の点の組として与えられていま す.これを極座標で表示します.データファイルの書き方は,普通の2次元データと同じです.極座標表示では, (X,Y)の組が,(θ,r)として取り扱われます.つまり,X=角度,Y=動径長さ, です.角度の単位は,デフォルトではradianで,0〜2πでプロットは一周 します.度(degree)を使いたいときは, set angles degrees と します.

次の様な2次元データがあるとします.これはデカルト座標系でプロッ トしたもので,Xは0〜180度までの角度,Yは-1〜1で変化する量です.

fig/sampleP1.1

これを極座標表示します.

gnuplot> set polar

dummy variable is t for curves
gnuplot> set angles degrees
gnuplot> plot "datafile.dat" with lines
fig/sampleP1.2

次に,極座標らしくなるようにXYの範囲を調整し,またプロットの サイズにsquareを指定して,正方形にします.

gnuplot> set size square
gnuplot> set xrange [-1:1]
gnuplot> set yrange [-1:1]
gnuplot> replot
fig/sampleP1.3
up

中心からデータまでの線を引く.

上の例では,各(θ,r)の点を結んだグラフを作りました. 原点から各点へ線を引くには, with impules を使います.

gnuplot> plot "datafile.dat" with impulses
fig/sampleP2.1
up

グリッドを描く.

極座標表示では,2種類のグリッドがあります.一つは普通のプロットと同じ くXY軸の主目盛に描かれるものでset gridで表示します.もう一 つは半径rに対する同心円状のグリッドでset grid polar angle と指定します.角度angle毎に半径方向の 格子も入ります.角度を省略すると30度になります.

gnuplot> set grid polar
fig/sampleP3.1

同心円のグリッドは,XY軸両方の主目盛に関連しています.上の図では xtics, yticsいづれも0.5となっていますので,同心円も半径0.5毎に描かれて います.これを変えると円が描かれる半径も変わります.次の例では,XYの目盛 を変えていますので,0.3,0.5,0.6,0.9,1.0に円が描かれています.

gnuplot> set xtics 0.5
gnuplot> set ytics 0.3
fig/sampleP3.2
up