シェルスクリプトの for ループと同様の機能をgnuplotでも使うことができる.
gnuplot> plot for [i=2014:2018] '/work2/atmos/data/amedas/temperature/Okayama_Okayama_'.i.'.csv' uing 1:2
変数 i に 2014 から 2018 までの数字を順番に入れて,どんどん重ね描きする. 変数をファイル名に埋め込むところでは,変数を「.」で囲んでいる(gnuplotではこうすることになっている).
ループで複数の行をまわすこともできる. for の前に do をつけて,繰り返し部分を { と } で囲む.
gnuplot> do for [i=2014:2018] { more> input=sprintf(",i) more> set term pngcairo more> set output sprintf("dailymean%d.png",i) more> set datafile separator ',' more> set xdata time more> set timefmt "%m/%d" more> plot '/work2/atmos/data/amedas/temperature/Okayama_Okayama_'.i.'.csv' uing 1:2 more> } gnuplot>
ちゃんと動作したら,dailymean2014.png から dailymean2018.png の5つのファイルが生成したはず.