週末はいつも晴れ

社会人3年目の日記です。プログラミングとか旅行とかラーメン。

gnuplotでファイルをプロットするときのチップス

データファイルの特定の行の値を使う

4行のデータファイルのうち、2行目をx軸、3行目をy軸にしたいとき

plot "data.dat" using 2:3

データファイルの行番号を利用する

1行のデータファイルの場合は、自動的にx軸が行番号になります。
しかし、2行以上のデータファイルの場合はデータを利用しようとします。
例えば、1行目にy軸の値、2行目にy軸の誤差が含まれるファイルを次のようにプロットすると、

plot "data.dat"

x軸は1行目のデータ、y軸は2行目の誤差が使われます。
これを回避するには、0行目の値(行番号)を使います。

plot "data.dat" using 0:1

もしくは、

plot "data.dat" using 0:1:2 with yerrorbar

省略記法

上の例だと、省略記法を用いると次のようになります。

p "data.dat" u 0:1:2 w ye

あるデータの値を定数倍する

これもよく使います。単位合わせとかで。一行目を3倍して50加えたい場合

p "data.dat" u ($1*3+50):2

外部コマンドを呼び出す

クォーテーション(!)を前につけるだけです。epsをconvertコマンドで変換するときなど、よく使いますね。