54 lines
1.3 KiB
Bash

#!/bin/bash
#
# run it like
# ./plot 19.12.25/11\:20_T0.dat
#
OUT=tmpfile.txt
awk '{print $2 "\t" $3 "\t" $4}' $1 > $OUT
DATE=$(echo $1 | sed -e 's|/| |' -e 's|_.*||')
TX=$(echo $1 | sed 's|.*_\(.*\).dat|\1|')
if [ $TX = "T0" ]; then Tname="TOP side"
else Tname="BOTTOM side"
fi
VAL=$(head -n1 $1 | awk '{print $4}')
echo -e "30\t30\t$VAL\n-30\t-30\t$VAL" >> $OUT
cat << EOF > gnutplt
#!/usr/bin/gnuplot
set contour
unset surface
set cntrparam order 4
set cntrparam bspline
#set cntrparam levels auto 6
#set cntrparam levels incremental -30,0.1,30
set view map
set size square
set xrange [-40:40]
set yrange [-40:40]
set dgrid3d 100,100,4
set table "contour.txt"
splot '$OUT' u 1:2:3
unset table
unset contour
set surface
set table "dgrid.txt"
splot '$OUT' u 1:2:3
unset table
reset
set terminal jpeg enhanced size 1024,768
set output "$TX.jpg"
set size square
set xrange [-30:30]
set yrange [-30:30]
set xlabel "X, dm"
set ylabel "Y, dm"
set title "Mirror temperature $TX for $DATE ($Tname)"
set pm3d map
unset key
circle(x,y,z) = x**2+y**2 > 900 ? NaN : z
splot 'dgrid.txt' u 1:2:(circle(\$1,\$2,\$3)) w pm3d, 'contour.txt' u 1:2:(circle(\$1,\$2,\$3)) w l lc rgb "black", '$OUT' u 1:2:(circle(\$1,\$2,\$3)):3 with labels font ",8"
EOF
chmod 755 gnutplt
./gnutplt
rm -f gnutplt $OUT contour.txt dgrid.txt