Blame demo/heatmaps.dem

Packit 0986c0
#
Packit 0986c0
# Various ways to create a 2D heat map from ascii data
Packit 0986c0
#
Packit 0986c0
Packit 0986c0
set title "Heat Map generated from a file containing Z values only"
Packit 0986c0
unset key
Packit 0986c0
set tic scale 0
Packit 0986c0
Packit 0986c0
# Color runs from white to green
Packit 0986c0
set palette rgbformula -7,2,-7
Packit 0986c0
set cbrange [0:5]
Packit 0986c0
set cblabel "Score"
Packit 0986c0
unset cbtics
Packit 0986c0
Packit 0986c0
set xrange [-0.5:4.5]
Packit 0986c0
set yrange [-0.5:4.5]
Packit 0986c0
Packit 0986c0
$map1 << EOD
Packit 0986c0
5 4 3 1 0
Packit 0986c0
2 2 0 0 1
Packit 0986c0
0 0 0 1 0
Packit 0986c0
0 0 0 2 3
Packit 0986c0
0 1 2 4 3
Packit 0986c0
EOD
Packit 0986c0
Packit 0986c0
set view map
Packit 0986c0
splot '$map1' matrix with image
Packit 0986c0
Packit 0986c0
pause -1 "Hit return to continue"
Packit 0986c0
Packit 0986c0
set title "Heat Map generated by 'plot' from a stream of XYZ values"\
Packit 0986c0
         ."\nNB: Rows must be separated by blank lines!"
Packit 0986c0
Packit 0986c0
$map2 << EOD
Packit 0986c0
0 0 5
Packit 0986c0
0 1 4
Packit 0986c0
0 2 3
Packit 0986c0
0 3 1
Packit 0986c0
0 4 0
Packit 0986c0
Packit 0986c0
1 0 2
Packit 0986c0
1 1 2
Packit 0986c0
1 2 0
Packit 0986c0
1 3 0
Packit 0986c0
1 4 1
Packit 0986c0
Packit 0986c0
2 0 0
Packit 0986c0
2 1 0
Packit 0986c0
2 2 0
Packit 0986c0
2 3 1
Packit 0986c0
2 4 0
Packit 0986c0
Packit 0986c0
3 0 0
Packit 0986c0
3 1 0
Packit 0986c0
3 2 0
Packit 0986c0
3 3 2
Packit 0986c0
3 4 3
Packit 0986c0
Packit 0986c0
4 0 0
Packit 0986c0
4 1 1
Packit 0986c0
4 2 2
Packit 0986c0
4 3 4
Packit 0986c0
4 4 3
Packit 0986c0
EOD 
Packit 0986c0
Packit 0986c0
plot '$map2' using 2:1:3 with image
Packit 0986c0
Packit 0986c0
pause -1 "Hit return to continue"
Packit 0986c0
Packit 0986c0
set title "Heat map with non-zero pixel values written as labels"
Packit 0986c0
plot $map1 matrix using 1:2:3 with image, \
Packit 0986c0
     $map1 matrix using 1:2:($3 == 0 ? "" : sprintf("%g",$3) ) with labels
Packit 0986c0
Packit 0986c0
pause -1 "Hit return to continue"
Packit 0986c0
Packit 0986c0
set title "Heat map from csv data with column and row labels"
Packit 0986c0
Packit 0986c0
$map3 << EOD
Packit 0986c0
,Apple,Bacon,Cream,Donut,Eclair
Packit 0986c0
Row 1, 5, 4, 3, 1, 0
Packit 0986c0
Row 2, 2, 2, 0, 0, 1
Packit 0986c0
Row 3, 0, 0, 0, 1, 0
Packit 0986c0
Row 4, 0, 0, 0, 2, 3
Packit 0986c0
Row 5, 0, 1, 2, 4, 3
Packit 0986c0
EOD
Packit 0986c0
Packit 0986c0
set datafile separator comma
Packit 0986c0
plot '$map3' matrix rowheaders columnheaders using 1:2:3 with image
Packit 0986c0
set datafile separator
Packit 0986c0
Packit 0986c0
pause -1
Packit 0986c0
Packit 0986c0
# Some output modes (SVG, HTML5) allow smoothing of adjacent pixels,
Packit 0986c0
# which may not be desired. This is not normally an issue with PNG or PDF.
Packit 0986c0
# The `pixels` option forces pixel-by-pixel drawing with no smoothing.
Packit 0986c0
Packit 0986c0
unset colorbox
Packit 0986c0
set format xy ""
Packit 0986c0
set multiplot layout 1,2 title "Compare 'image' and 'image pixels' modes" \
Packit 0986c0
    margin screen 0.05, 0.95, 0.10, 0.85 spacing screen 0.05
Packit 0986c0
set title "plot with image"
Packit 0986c0
plot $map1 matrix using 1:2:3 with image
Packit 0986c0
set title "plot with image pixels"
Packit 0986c0
plot $map1 matrix using 1:2:3 with image pixels
Packit 0986c0
unset multiplot
Packit 0986c0
Packit 0986c0
pause -1 "Hit return to continue"
Packit 0986c0
Packit 0986c0
reset
Packit 0986c0
Packit 0986c0
#
Packit 0986c0
# Demonstrate use of 4th data column to color a 3D surface.
Packit 0986c0
# Also demonstrate use of the pseudodata special file '++'.
Packit 0986c0
# This plot is nice for exploring the effect of the 'l' and 'L' hotkeys.
Packit 0986c0
#
Packit 0986c0
set view 49, 28, 1, 1.48
Packit 0986c0
set urange [ 5 : 35 ] noreverse nowriteback
Packit 0986c0
set vrange [ 5 : 35 ] noreverse nowriteback
Packit 0986c0
# set zrange [ 1.0 : 3.0 ] noreverse nowriteback
Packit 0986c0
set ticslevel 0
Packit 0986c0
set format cb "%4.1f"
Packit 0986c0
set colorbox user size .03, .6 noborder
Packit 0986c0
set cbtics scale 0
Packit 0986c0
Packit 0986c0
set samples 25, 25
Packit 0986c0
set isosamples 50, 50
Packit 0986c0
Packit 0986c0
set title "4D data (3D Heat Map)"\
Packit 0986c0
          ."\nIndependent value color-mapped onto 3D surface"  offset 0,1
Packit 0986c0
set xlabel "x" offset 3, 0, 0 
Packit 0986c0
set ylabel "y" offset -5, 0, 0
Packit 0986c0
set zlabel "z" offset 2, 0, 0 
Packit 0986c0
set pm3d implicit at s
Packit 0986c0
Packit 0986c0
Z(x,y) = 100. * (sinc(x,y) + 1.5)
Packit 0986c0
sinc(x,y) = sin(sqrt((x-20.)**2+(y-20.)**2))/sqrt((x-20.)**2+(y-20.)**2)
Packit 0986c0
color(x,y) = 10. * (1.1 + sin((x-20.)/5.)*cos((y-20.)/10.))
Packit 0986c0
Packit 0986c0
splot '++' using 1:2:(Z($1,$2)):(color($1,$2)) with pm3d title "4 data columns x/y/z/color"
Packit 0986c0
Packit 0986c0
pause -1 "Hit return to continue"
Packit 0986c0
Packit 0986c0
set title "4D data (3D Heat Map)"\
Packit 0986c0
          ."\nZ is contoured. Independent value is color-mapped"  offset 0,1
Packit 0986c0
Packit 0986c0
set view map
Packit 0986c0
set ylabel norotate offset -1,0
Packit 0986c0
Packit 0986c0
set contour base
Packit 0986c0
splot '++' using 1:2:(Z($1,$2)):(color($1,$2)) with pm3d title "4 data columns x/y/z/color"
Packit 0986c0
Packit 0986c0
pause -1 "Hit return to continue"
Packit 0986c0
Packit 0986c0
# Release datablocks used in this demo
Packit 0986c0
undefine $map1 $map2 $map3
Packit 0986c0
reset