。使用gnuplot中的do循环从不同输出文件中的许多文件中绘制数据

时间:2014-11-29 16:29:45

标签: gnuplot

我正在使用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

但是,我不知道如何真正指定循环内的输入和输出文件,以便自动拾取正确的数字。任何建议都非常感谢。提前致谢。

1 个答案:

答案 0 :(得分:3)

您可以在循环中使用sprintf:

...
outFile=sprintf("figure_%d.eps", i)
dataFile=sprintf("data_%d.dat", i)
set output outFile
plot dataFile ...
...