make gnuplot map circle

This commit is contained in:
eddyem 2018-08-29 17:07:33 +03:00
parent 07cadf587f
commit 146587f6b6

View File

@ -1,23 +1,28 @@
#!/bin/bash #!/bin/bash
OUT=tmpfile.txt
cat $1 > $OUT
VAL=$(head -n1 $1 | awk '{print $3}')
echo -e "30\t30\t$VAL\n-30\t-30\t$VAL" >> $OUT
cat << EOF > gnutplt cat << EOF > gnutplt
#!/usr/bin/gnuplot #!/usr/bin/gnuplot
set contour set contour
unset surface unset surface
set cntrparam order 4 set cntrparam order 4
set cntrparam bspline set cntrparam bspline
set cntrparam levels auto 6 #set cntrparam levels auto 6
#set cntrparam levels incremental -30,0.1,30
set view map set view map
set size square set size square
set xrange [-30:30] set xrange [-40:40]
set yrange [-30:30] set yrange [-40:40]
set dgrid3d 20,20,20 set dgrid3d 100,100,4
set table "contour.txt" set table "contour.txt"
splot '$1' u 1:2:3 splot '$OUT' u 1:2:3
unset table unset table
unset contour unset contour
set surface set surface
set table "dgrid.txt" set table "dgrid.txt"
splot '$1' u 1:2:3 splot '$OUT' u 1:2:3
unset table unset table
reset reset
set terminal canvas enhanced mousing size 1024,768 jsdir 'js' set terminal canvas enhanced mousing size 1024,768 jsdir 'js'
@ -25,10 +30,13 @@ set output "$1.html"
set size square set size square
set xrange [-30:30] set xrange [-30:30]
set yrange [-30:30] set yrange [-30:30]
set xlabel "X, dm"
set ylabel "Y, dm"
set title "Mirror temperature"
set pm3d map set pm3d map
unset key unset key
#set label font ",2" circle(x,y,z) = x**2+y**2 > 900 ? NaN : z
splot 'dgrid.txt' w pm3d, 'contour.txt' w l lc rgb "black", '$1' u 1:2:3:3 with labels font ",8" 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 EOF
chmod 755 gnutplt chmod 755 gnutplt