masterarbeit/dokumentation/evolution3d/combine.sh
2017-10-27 14:31:55 +02:00

56 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
if [[ $# -eq 0 ]]; then
echo "usage: $0 <DATA.csv>"
else
data="$1";
png="`echo $1 | sed -s "s/\.csv$//"`" # strip ending
(cat <<EOD
set datafile separator ","
f(x)=a*x+b
fit f(x) "$data" every ::1 using 1:5 via a,b
set terminal png
set xlabel 'Regularity'
set ylabel 'Number of iterations'
set output "${png}_regularity-vs-steps.png"
plot \
"$2" every ::1 using 1:5 title "$3" pt 2, \
"$4" every ::1 using 1:5 title "$5" pt 2, \
"$6" every ::1 using 1:5 title "$7" pt 2, \
f(x) title "lin. fit" lc rgb "black"
g(x)=aa*x+bb
fit g(x) "$data" every ::1 using 3:5 via aa,bb
set xlabel 'Improvement potential'
set ylabel 'Number of iterations'
set output "${png}_improvement-vs-steps.png"
plot \
"$2" every ::1 using 3:5 title "$3" pt 2, \
"$4" every ::1 using 3:5 title "$5" pt 2, \
"$6" every ::1 using 3:5 title "$7" pt 2, \
g(x) title "lin. fit" lc rgb "black"
h(x)=aaa*x+bbb
fit h(x) "$data" every ::1 using 3:4 via aaa,bbb
set xlabel 'Improvement potential'
set ylabel 'Error given by fitness-function'
set output "${png}_improvement-vs-evo-error.png"
plot \
"$2" every ::1 using 3:4 title "$3" pt 2, \
"$4" every ::1 using 3:4 title "$5" pt 2, \
"$6" every ::1 using 3:4 title "$7" pt 2, \
h(x) title "lin. fit" lc rgb "black"
i(x)=aaaa*x+bbbb
fit i(x) "$data" every ::1 using 2:4 via aaaa,bbbb
set xlabel 'Variability'
set ylabel 'Error given by fitness-function'
set output "${png}_variability-vs-evo-error.png"
plot \
"$2" every ::1 using 2:4 title "$3" pt 2, \
"$4" every ::1 using 2:4 title "$5" pt 2, \
"$6" every ::1 using 2:4 title "$7" pt 2, \
i(x) title "lin. fit" lc rgb "black"
EOD
) > "${png}.gnuplot.script"
gnuplot "${png}.gnuplot.script" 2> "${png}.gnuplot.log"
mv fit.log "${png}.gnuplot.fit.log"
fi