Gnuplot + bash脚本 - 版本2

时间:2011-12-29 21:26:40

标签: bash shell gnuplot

我只是想知道如何在同时绘制多个文件时使用之前发布的脚本(请参阅this问题),即某种多重案例......

我想用一个更好的替换它,它知道这个多时间属性:

for i in `cat ./data.list`
 do 
   cat ./plot.gnu | sed "s:\(INPUTFILE\|OUTPUTFILE\):$i:g" | gnuplot
 done

plot.gnu与以前几乎相同,但我们需要以某种方式以适当的方式修改它,同时考虑到多时隙要求:

set term postscript enhanced color
set output 'OUTPUTFILE.eps'
set title 'OUTPUTFILE'

set multiplot layout 2,2
p 'INPUTFILE-1.data' u 1:2 w l
p 'INPUTFILE-2.data' u 1:2 w l
p 'INPUTFILE-3.data' u 1:2 w l
p 'INPUTFILE-4.data' u 1:2 w l
unset multiplot

data.list文件包含4个不同的文件,因此INPUTFILE-1.data, INPUTFILE-2.data, ...必须由它们替换,最后得到一个图。

任何人都可以建议我一些或多或少的好算法,或者其他什么?

1 个答案:

答案 0 :(得分:0)

n=0
substitutions=
for i in $(<data.list)
 do substitutions+="s:\(INPUTFILE-$((++n))\|OUTPUTFILE\):$i:;"
 done
<plot.gnu sed "$substitutions" | gnuplot

请注意,输出和标题将以第一个输入文件命名。