1.376という様なデータを用意して下さい。では、ヒストグラムを描いてみましょう。
0.830
...
(1000行)
ntuple/create | ntupleをつくります。 |
100 | つくったntupleのIDナンバー(どんな数字でもいい) |
'title' | ntuple の名前 |
1 | データの種類の数 |
' ' | 気にしないでつけておきましょう。 |
1000 | データの数 |
name | データの名前(ヒストグラムにでます) |
次にhistを使って、領域やbin幅などを指定のできるヒストグラムを書きます。
今までに書いたヒストグラムでデータの範囲を見ておいてください。
PAW> hist/create/1dhist
110 'histname' 20 -1.5 1.5
hist/create/1dhist | 1次元のhistを作ります。 |
110 | つくったhistのIDナンバー |
(さっきのntupleのIDナンバーの100とは違う数字にします) | |
'histname' | データの名前(ヒストグラムの下に表示されます) |
20 -1.5 1.5 | 20はヒストグラムの階級の数 |
-1.5 1.5 は、ヒストグラムを書きたい範囲 | |
また、いろいろなヒストグラムがかけて
PAW> hist/plot 110 e
eをつけるとエラーバーが書けます。
PAW> hist/plot 110 b
とすると、細めのヒストグラム(棒状)が書けます。
PAW> hist/plot 110 l
ヒストグラムが折れ線グラフになります。
PAW> hist/plot 110 c
なめらかな線のグラフになります。
Histogram ID が 110 というのがあるとして、
PAW> hist/fit 110 g
とすると、Gaussian で fitting します。最後のgというのが Gaussian で
fitting するというオプションです。
PAW> hist/fit 110 e
PAW> hist/fit 110 p
PAW> hist/fit 110 p2
eはexponential fittingで、pとかp2というのはそれぞれ1次・2次のべき関数で、pn
(nは任意)とするとn次になります。
fittingした時に、統計の情報を図の上に出力したい時には
PAW> option fit
PAW> hist/fit 110 g
とすると、右上χ2、Constant、Mean、Sigmaが表示されます。
さらにそれぞれの誤差もつけたい場合には
PAW> set fit 111
PAW> hist/fit 110 g
と打っておきます。
ここでは、任意の関数の fitting をやってみます。例として、
という関数でやってみます。まず、以下のような FORTRAN のファイル cosfit.f を作ります。
function cosfit(x) common /pawpar/ par(3) cosfit=par(1)*cos(par(2)*x)+par(3) end
これは FPRTRAN ですので行の頭を6文字くらいあける必要があります。
で、あらかじめ ID = 100 という hist を作っておくとして、
PAW> vector/create par(3) R 10 1 10
ここで、vector/create については次の vector の章を見て下さい。
この par に fitting の結果がはいります。次の、R 10 1 10 は
初期値です。それで、
PAW> hist/fit 100 cosfit.f ! 3 par
で、fitting します。100 はヒストグラムの ID、cosfit.f はファイル名、
! はオプションは適当にというやつで、3 はパラメータの数、
par は上で定義した vector です。
初期値を
PAW> vector/create par(3) R 10 10 10
としてやると
PAW> hist/fit 100 cosfit.f ! 3 par
変な初期値をほり込むとむちゃくちゃになります。
0.234 1.3282次元の場合でもntupleを使うのは同じで
1.334 0.745
...
(1000行2列)
いろいろな lego plot の書き方です。
まずは、影のつく lego plot
PAW> hist/plot 140 lego1
色付の lego plot
PAW> hist/plot 140 lego2
いろいろな surface plot の書き方です。
PAW> hist/plot 140 surf1
PAW> hist/plot 140 surf2
PAW> hist/plot 140 surf3
PAW> hist/plot 140 surf4
最後についているオプションはそれぞれ、
なし | cel line のみ |
1 | 色付 |
2 | 色付(cel line なし) |
3 | contour map がつきます |
4 | shading になります。 |
さっきの lego plot もそうですが、視点の切替えがしたい場合は
PAW> angle 60 30
PAW> hist/plot 140 surf
これで、theta 方向 60 degree、phi 方向 30 degree からみたように
なります。初期値は theta = 30、 phi = 30 です。
いろいろな contour plot (等高線図) の書き方です。
等高線を色にします。
PAW> hist/plot 140 cont0
普通の contour plot。等高線のタイプが変わります。
PAW> hist/plot 140 cont1
普通の contour plot その2。等高線が全て solid です。
PAW> hist/plot 140 cont2
色でそれぞれの階層をぬりつぶします。
PAW> hist/plot 140 cont3
等高線の数は、10 ですが(tutolial には 15 ってかいてますけど)、
その階層の数を任意の値にして、しかも好きなところに等高線を引きたい場合には、
例えば次のような vector を作って
PAW> vector/create vec(5) R
50 100 150 200 250
PAW> hist/2d/contour 140 5 0 vec
5 は、等高線の階層の数、0 は等高線のタイプの指定、vec は作った
vector の名前になります。階層の数の最大は 50 です。
3次元のplotの書き方はdataがx、y、zの順に並んでるとするとntupleの
フォーマットで
PAW> ntuple/create 100 'title'
3 ' ' 400 x y z
PAW> ntuple/read 100 filename.dat
PAW> igset mtyp 29
PAW> ntuple/plot 100.z%y%x
で、3次元座標上で点をうちます。