2011-12-29 28 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 

請注意,輸出和標題將以第一個輸入文件命名。