つれづれなる備忘録

日々の発見をあるがままに綴る

gnuplotによるグラフ作成31~データ演算してプロット

 今回はgnuplotを用いてデータファイルをプロットする際に、データを演算してプロットする方法について紹介する。

1. データファイルの表示

 今回は以下のdata3.txtからデータを読み込み、演算した結果を表示する。data3.txtの中身は

#X Y
0   0
0.5 2.5
1   1
1.5 -0.5
2   2
2.5 4.5
3   3
3.5 1.5
4   4
4.5 6.5
5   5
5.5 3.5
6   6
6.5 8.5
7   7
7.5 5.5
8   8
8.5 10.5
9   9
9.5 7.5
10  10

2. データの演算

データファイルからデータを読み込んでプロットするにはplot "data3.txt"とするが、データを演算するには1行目であれば$1, 2列目では$2として、2倍するには$2*2、平方根をとるにはsqrt($2)とする。 以下、データを読み込んで何もしない場合、2列目のデータを2倍する場合、2列目のデータを平方根をとる場合をプロットするコマンドを示す。

 plot "data3.txt" using 1:2 with points, \      
"data3.txt" using 1:($2*2) with points, \ 
"data3.txt" using 1:(sqrt($2)) with points

実行結果は以下のようになる。

"データファイルを演算してプロット"
データファイルを演算してプロット

1列目のデータを演算する場合は$1を用いる。1列目、2列目同時に演算する場合は、以下のようにする

 plot "data3.txt" using ($1**2):($2**2) with points 

"データXYを両方とも演算してプロット"
データXYを両方とも演算してプロット

3. まとめ

 今回はgnuplotでデータプロットを行う際、$1や$2を用いることでファイルから読み込んだデータの演算処理できることを紹介した。