2011-12-29 29 views
0

我只是想知道我应该如何使用先前发布的脚本(参见this问题)的同时绘制许多文件,即某种情况下的multiplot ...的Gnuplot + bash脚本 - 第二版

我想有一个更好的,哪知道这个的multiplot属性替换此:

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, ...必须由它们替换,最后得到一个图。

任何人都可以建议我一些或多或少好算法,或为此?

+0

你称之为'多槽属性'是什么? – fge 2011-12-29 21:54:57

+0

Multiplot之后只是许多情节:p'INPUTFILE-1.data'u 1:2 wl和p'INPUTFILE-2.data'u 1:2 wl,...等主要的一点是,我不得不替换所有的INPUTFILE-1,INPUTFILE-2,...同时 – user1116360 2011-12-29 23:42:48

+0

对不起,我还是不明白。 'set multiplot'行如何影响以下行? – fge 2011-12-30 01:03:33

回答

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

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