gnuplotで一つのファイルにデータとプロットコマンドを含める方法(datablocks)
gnuplotで一つのファイルにデータとコマンド文を含める gnuplotでデータファイルをプロットする場合、通常はデータファイルはデータファイルとして別個のファイルとして扱います。そしてそのデータファイルに対してコマンド処理をしてプロットします。 またgnuplotではその型式だけでなく、データファイルとコマンド処理を一つのファイルにまとめてプロットするという使い方も出来ます。方法自体は2つあって 一つは「inline data」 もう一つは「datablocks」 となっています。 (ネット上の情報ではdatablocksという語がデータのまとまりと扱われているケースもあるようですが、gnuplotのドキュメントでは今回扱う意味になっています) datablocksとinline data ファイル内のデータはdatablocksの方が扱いやすくなっています。それと大きな違いとしてはコマンド文がinline dataの場合はデータ部分の前、datablocksではデータ部分の後に来ます。 今回はこのうち、datablocksについて解説していきます。 簡単な例 datablocksでデータとコマンド文を書く場合、簡単には以下のような書き方になります。 $data01 << EOD 1 3 2 5 3 1 4 10 5 3 7 1 9 10 11 8 15 3 EOD plot $data01 w lp これを"test01.gp"というファイルに書いて保存。プロットするときは $ gnuplot -p test01.gp とします。 解説すると"$data01"という変数にデータを格納して、コマンド文でその変数を扱うという型式になります。データが書かれた範囲は"EOD"で挟まれた部分となります(EODという語でなくともいいようですがアルファベットで始める必要があるかと)。 複数のデータ部分 データ部分は1つで無くとも以下のように複数記述して扱うということも出来ます。当然ですがデータを含める変数は別個のものを使います。 $data01 << EOD 1 3 2 5 3 1 4 10 5 3 7 1 9