我正在使用gnuplot 4.6。 我有许多名为data_1.dat,data_2.dat,...,data_100.dat的数据文件。现在我想将文件'data_i.dat'中的数据绘制到文件'figure_i.eps'。当然,我可以按顺序为每个文件data_i.dat执行此操作:
set term postscript eps enhanced color
set out 'figure_i.eps'
pl 'data_i.dat'
set out
set term wxt
如果文件数太大,这不是一个好方法。我知道可以在gnuplot 4.6中使用'do'命令。因此,或许可以这样做:
set term postscript eps enhanced color
do for [i=1:100] {
set out 'figure_i.eps'
pl 'data_i.dat'
set out
}
set term wxt
但是,我不知道如何真正指定循环内的输入和输出文件,以便自动拾取正确的数字。任何建议都非常感谢。提前致谢。
答案 0 :(得分:3)
您可以在循环中使用sprintf:
...
outFile=sprintf("figure_%d.eps", i)
dataFile=sprintf("data_%d.dat", i)
set output outFile
plot dataFile ...
...