データの読み込み

作成者:上道 賢太

自前で用意したデータをグラフにしたいことは多々あります.
gnuplotでは簡単にデータを読み込んでグラフにすることができます.


・データを1つ読み込む

以下のようなデータを読み込んでみます(#部分はコメント). 以下のデータは1列目がx,2列目がsin(2*PI*x)である.

#data_sin.txt
0.000000 0.000000
0.062500 0.382683
0.125000 0.707107
0.187500 0.923880
0.250000 1.000000
0.312500 0.923880
0.375000 0.707107
0.437500 0.382683
0.500000 0.000000
0.562500 -0.382683
0.625000 -0.707107
0.687500 -0.923880
0.750000 -1.000000
0.812500 -0.923880
0.875000 -0.707107
0.937500 -0.382683
1.000000 0.000000

これをdata_sin.txt(拡張子は何でも良い)として保存しておきます.
そして,gnuplot上で以下のコマンドを実行します.

$gnuplot > plot "./data_sin.txt" with line

・出力結果

・データを複数読み込む

次は,データをもう1つ用意して2つグラフを同時に描画します.

#data_cos.txt
0.000000 1.000000
0.062500 0.923880
0.125000 0.707107
0.187500 0.382683
0.250000 0.000000
0.312500 -0.382683
0.375000 -0.707107
0.437500 -0.923880
0.500000 -1.000000
0.562500 -0.923880
0.625000 -0.707107
0.687500 -0.382683
0.750000 -0.000000
0.812500 0.382683
0.875000 0.707107
0.937500 0.923880
1.000000 1.000000

これをdata_cos.txtとして保存しておきます.
先ほどのdata_sin.txtと同時に描画します.
以下のように「,」で区切ることで複数のデータを読み込めます(w l は with lineのこと).

$gnuplot > plot "./data_sin.txt" w l , "./data_cos.txt" w l

・出力結果

また,データを2つ用意しなくても1つのデータに書き込んで描画することもできます.
以下のデータは1列目がx,2列目がsin(2*PI*x),3列目がcos(2*PI*x)です.

#data_sin_cos.txt
0.000000 0.000000 1.000000
0.062500 0.382683 0.923880
0.125000 0.707107 0.707107
0.187500 0.923880 0.382683
0.250000 1.000000 0.000000
0.312500 0.923880 -0.382683
0.375000 0.707107 -0.707107
0.437500 0.382683 -0.923880
0.500000 0.000000 -1.000000
0.562500 -0.382683 -0.923880
0.625000 -0.707107 -0.707107
0.687500 -0.923880 -0.382683
0.750000 -1.000000 -0.000000
0.812500 -0.923880 0.382683
0.875000 -0.707107 0.707107
0.937500 -0.382683 0.923880
1.000000 0.000000 1.000000

1つのデータに書き込んだ場合は何列目のデータを使用するかをusingで指定します.

$gnuplot > plot "./data_sin_cos.txt" using 1:2 w l, "./data_sin_cos.txt" using 1:3 w l

・出力結果