Gnuplot + скрипт bash - версия 2 - PullRequest
0 голосов
/ 30 декабря 2011

Мне просто интересно, как мне использовать предыдущий опубликованный скрипт (см. этот вопрос) при построении множества файлов одновременно, то есть, в каких-то случаях с несколькими заговорами ...

Я хотел бы заменить это на лучшее, которое знает это свойство 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, ... необходимо заменить их и, наконец, получить один график.

МожетКто-нибудь посоветует мне какой-нибудь более-менее приятный алгоритм или что-то для этого?

1 Ответ

0 голосов
/ 11 сентября 2013
n=0
substitutions=
for i in $(<data.list)
 do substitutions+="s:\(INPUTFILE-$((++n))\|OUTPUTFILE\):$i:;"
 done
<plot.gnu sed "$substitutions" | gnuplot

Обратите внимание, что выходные данные и заголовок будут названы после первого входного файла.

...