gnuplotはグラフソフトであり、本実験では分光器データを視覚化するため に利用する。gnuplotの基本的な使い方は、「一般物理学実験用計算機システムの使い 方」の第7章を参照すること。またUNIXのコマンドについては同書付録Aが参考 になる。ここでは分光器から取り込んだデータをプロットする具体的な方法に ついて述べる。
まずSTEXにloginする。次に、分光器から取り込んだデータを加工するプログ ラムを用意してあるので、それを持ってくる。UNIXシェルのコマンドラインか ら次のように入力する。
/home/ohba/gnuplot/setup.sh rehash
/home/ohba/gnuplot/setup.sh を実行すると、以下のファイルが、各自の、 home directory19 の、bin20 と biophys directory にコピー される。
normal 最大値で規格化するプログラム area 面積で規格化するプログラム area と normal に -s start_X -e end_X のオプションを与 えると、その範囲での最大値や面積で規格化する。(散乱の あるスペクトルで、散乱部分は除いて規格化したい場合に便利) spec_calc Yの値に定数を加減乗除するプログラム spec_calc2 X座標が同じふたつのファイルの、Yの値の加減乗除を行い出力する nm2wavenumver X座標を、波長(nm)から波数(cm-1)に変更するプログラム xshift X座標の値から、一定量だけ引いて、出力する g-factor G因子の励起波長依存性を計算するプログラム anisotropy 蛍光異方性の励起波長依存性を計算するプログラム raw データファイルから余分なヘッダーを取り除くプログラム rawall current directory にある .txt のファイルすべてについて、 余分なヘッダーを取り除き、.dat の名前で保存する。 aniso_vs_temp 実験3,4の各温度での偏光の強度から、異方性や強度を出力する。 psjoin 複数の印刷用(ポストスクリプト)ファイルをひとつにまとめる。 (ここまでは、実行形式のプログラムなので、~/binにコピー) (以下は、サンプルデータなどなので、~/biophysにコピー) spec グラフの体裁を整えるスクリプト psplot postscriptで出力するスクリプト rf1500.txt RF1500のサンプルデータ fp6300.txt FP6300のサンプルデータ sample_dopc.txt aniso_vs_temp で使うデータ形式
なお、上記の解析プログラムには、ほとんどの場合、プログラムの最初に簡単な 使い方が書いてある。使い方がわからない場合は、
less ~/bin/normalのように、直接、プログラムの内容を見て、(必要があれば)変更して用いること。 また、新たに解析用のプログラムを追加する場合もある。その場合には、最新情 報は、
以下では、RF1500およびFP6300から取り込んだデータのファイル名をそれぞれ rf1500.txtおよびfp6300.txtとし、current directory にあるとする。
gnuplotを起動するには、シェルのコマンドラインから
gnuplotと入力する(リターンキーも押すこと)。すると何やらメッセージが表示される が、無視して構わない。最後の行に
gnuplot>と表示されるので、これからここにコマンド(命令)を入力してgnuplotを使う ことになる。
gnuplot で、実際にデータをプロットするためには、そのデータが置いてある directory にいた方が便利である。その directory に移ってから、gnuplot を起動すれば良いのだが、gnuplot を立ち上げた後でも、current directory を変更出来る。例えば、home directory で gnuplot を立ち上げたあとで、上 で作成した biophys directory に移り、そこにあるファイルのリストを見る ためには(括弧内は説明)、
gnuplot>pwd (current directory を表示させる) /net/s1/home/ohba gnuplot> cd "biophys" (biophys directory に移る) gnuplot> pwd (current directory を確認する) /net/s1/home/ohba/biophys gnuplot> !ls -l (シェルの ls -l コマンドを起動) total 13 -rw-r--r-- 1 ohba wheel 48 Sep 3 16:25 psplot -rw-r--r-- 1 ohba wheel 2917 Sep 3 16:25 rf1500.txt -rw-r--r-- 1 ohba wheel 8071 Sep 3 16:25 fp6300.txt -rw-r--r-- 1 ohba wheel 94 Sep 3 16:25 spec ! gnuplot>とする。ちなみに、ひとつ上の directory に移るのは、
cd "../"
である。
分光器から転送したデータには、実験条件などの(gnuplotにとってはよけいな) ヘッダが付いているため、そのままではプロットできない。そこで用意してある raw コマンドを使って適切に変換してからプロットする。それには、gnuplotの コマンドラインで、次のようにする。
gnuplot> plot "<raw rf1500.txt"これで画面にグラフが表示される。
"<raw rf1500.txt"
の部分は、plot の入力
として、raw rf1500.txt の出力を用いることを意味する。
ひとつのデータを plot する場合には、上記の方法が簡単であるが、多くのファ イルにraw コマンドを通すのは面倒である。そこで、rawall というコマンド(シェ ルスクリプト)を準備した。これは単純なスクリプトであるので、ソースを見れ ばわかるが、current directory にある、".txt"
という拡張子のついた ファイルすべてについて raw を通した結果を".dat"
というファイルに書 き出すようになっている。RF1500でとったデータの拡張子が".txt"
以外 の場合には、エディターでrawallを変更する。また、raw を他のプログラムに変 更することも可能。例えば、prog="normal"
とすれば、最大値で規格化し たファイルを生成する。
上述の方法では、グラフの縦軸は分光器の測定条件によりまちまちで、デー タの比較の際に都合が悪い。そこで、規格化するプログラムを2種類用意した。
最大値による規格化
normalは最大値による規格化を行なうプログラムである21。 gnuplotのコマン ドラインで
gnuplot> plot "<normal rf1500.txt"とすると、最大値で規格化されたグラフが表示される。散乱が発光スペクトルの ピークよりも強い場合、全領域の最大値で規格化すると、散乱のピークで規格化 されてしまい、比較したいスペクトルで規格化されない。その場合には、
gnuplot> plot "<normal -s start_X -e end_X rf1500.txt"のように、-s と -e で、最大値を捜す範囲を与えると、その範囲の最大値で規 格化したスペクトルを出力する。
面積による規格化
areaは面積による規格化を行なうプログラムである。gnuplotのコマンドラ インで
gnuplot> plot "<area rf1500.txt"とすると、面積で規格化されたグラフが表示される。この場合も、-s と -e で、 面積を計算する範囲を与えることができる。
複数のグラフを重ねて表示するときは、ファイル名をcommaで区切って連ね る。例えば次のようにする。
gnuplot> plot "<normal rf1500.txt","<normal fp6300.txt"
グラフを線で描く
デフォルト(何も指定しないこと)では、データは点でプロットされる。グラ フを線で描くには、gnuplotのコマンドラインで、あらかじめ次のように指定 しておく。
gnuplot> set data style linesこの後plotコマンドを使うと、折れ線グラフで表示される。(すでにplotコマ ンドを使用した後なら、単にreplotと入力するだけでグラフが再表示される。)
なお、点で表示したいときは
gnuplot> set data style points点と線で表示したいときは
gnuplot> set data style linespとする(linespはlinespointsの略)。
グラフの表題と軸ラベルの変更
グラフの表題を「fluorescence」(蛍光)にする。
set title "fluorescence"
x軸のラベルを「wavelength」(波長)にする。
set xlabel "wavelength"
y軸のラベルを「intensity」(輝度)にする。
set ylabel "intensity"
凡例の変更
デフォルトでは、凡例はデータファイル名になっている。これを変更するに は、plotコマンドにtitleオプションを付ける。
gnuplot> plot "<normal rf1500.txt" title "RF1500","<normal fp6300.txt" title "FP6300"(コマンドが長くなり行が折り返しても、1行に続けて入力し、最後だけリター ンキーを押すこと。)
グラフの大きさの変更
例えば、縦横70%に縮小して出力したい場合、
gnuplot> set size 0.7,0.7と指定した後plotする。この指定はプリンタへの(postscriptファイルへの)出 力にも有効である。
利用するプリンタはpostscriptプリンタであるため、gnuplotのグラフを postscript形式でファイルに出力しておく必要がある。
gnuplot> set output "fp6300.ps"次に、postscript形式で出力するように設定する。
gnuplot> set terminal postscript続けて、実際に出力するグラフをプロットする。
gnuplot> plot "fp6300.txt"(すでにplotコマンドを使用した後なら、単にreplotと入力するだけでよい。) これでfp6300.psという名前のpostscriptファイルが生成された。このとき、 画面にグラフは表示されない。
gnuplot> ! lpr fp6300.ps(「!」はgnuplotのコマンドで、シェルコマンドを実行する機能を持つ。)これでグ ラフがプリンタから出力される22。
gnuplot> set terminal x11とする23。
G因子のスペクトルを計算する
シェル上で次のコマンドにより、 hvとhhのスペクトルからG因子のスペクトルを計算し、 g.txtに保存する。
g-factor hv.txt hh.txt > g.txt
その後gnuplotでg.txtをプロットする。
蛍光異方性のスペクトルを計算する
シェル上で次のコマンドにより、 vv, vh, hvおよびhhのスペクトルから蛍光異方性のスペクトルを計算し、 r.txtに保存する。
anisotropy vv.txt vh.txt hv.txt hh.txt > r.txt
その後gnuplotでr.txtをプロットする。