gnuplotでplot for
gnuplotでは,複数個のグラフをfor文を用いてplotすることができる.
例えば,手元に連番ファイル「00.dat, 01.dat, ... , 09.dat」があったとする.for文を使わない場合は
plot "00.dat" u 1:2 with lp title "data 00" replot "00.dat" u 1:2 with lp title "data 01" ... replot "09.dat" u 1:2 with lp title "data 09"
などとなる.
plot forを使う場合は以下のようになる.
plot for [i=0:9] sprintf( "%02d.dat", i ) using 1:2 with lp title sprint("data %02d", i )
「sprintf("----")」が「"----"」に置き換わるので,規則性をもつファイル名に対して大変便利である.
メモ
他の機能と組み合わせて
plot for [i=0:10] sprintf( "<head -%d output.dat |tail -8", (i+1)*8 ) using 2 with lp notitle
というように使用した.