# # Demo of reading color information from the data file itself # # rgb(r,g,b) = int(r)*65536 + int(g)*256 + int(b) # set border 0 unset xtics; unset ytics; unset ztics set rmargin 5; set lmargin 5; set bmargin 2 set angle degrees xrgb(r,g,b) = (g-b)/255. * cos(30.) yrgb(r,g,b) = r/255. - (g+b)/255. * sin(30.) set arrow 1 from 0,0 to 0,1 nohead lw 3 lc rgb "red" back set arrow 2 from 0,0 to cos(-30), sin(-30) nohead lw 3 lc rgb "green" back set arrow 3 from 0,0 to cos(210), sin(210) nohead lw 3 lc rgb "blue" back set title "RGB color information read from data file" plot 'rgb_variable.dat' using (xrgb($1,$2,$3)):(yrgb($1,$2,$3)):(rgb($1,$2,$3)) \ with points pt 7 ps 4 lc rgb variable notitle pause -1 "Hit return to continue" # set title "Both RGB color information\n and point size controlled by input" plot 'rgb_variable.dat' using (xrgb($1,$2,$3)):(yrgb($1,$2,$3)):(1.+2.*rand(0)):(rgb($1,$2,$3)) \ with points pt 7 ps var lc rgb variable notitle pause -1 "Hit return to continue" # set border -1 front linetype -1 linewidth 1.000 set ticslevel 0 set xtics border set ytics border set ztics border # unset arrow 1 unset arrow 2 unset arrow 3 # set xlabel "Red" tc rgb "red" set xrange [0:255] set ylabel "Green" tc rgb "green" set yrange [0:255] set zlabel "Blue" tc rgb "blue" set zrange [0:255] # splot 'rgb_variable.dat' using 1:2:3:(rgb($1,$2,$3)) with points pt 7 ps 4 lc rgb variable, \ '' using 1:2:3:(sprintf("0x%x",rgb($1,$2,$3))) with labels left offset 1 notitle pause -1 "Hit return to continue" # # # Unfortunately, not all platforms allow us to read hexadecimal constants # from a data file. Warn the user if that is the case. # if (0 == int('0x01')) \ set label 99 at screen .05, screen .15 "If you see only black dots,\nthis means your platform does not \nsupport reading hexadecimal constants\nfrom a data file. Get a newer libc." splot 'rgb_variable.dat' using 1:2:3:(5*rand(0)):4 with points pt 7 ps variable lc rgb variable \ title "variable pointsize and rgb color read as hexadecimal" pause -1 "Hit return to continue" set label 99 "" # set border 0 set xtics axis nomirror set ytics axis nomirror set ztics axis nomirror set xzeroaxis lt -1 lc rgb "red" lw 2 set yzeroaxis lt -1 lc rgb "green" lw 2 set zzeroaxis lt -1 lc rgb "blue" lw 2 set xyplane at 0.0 splot 'rgb_variable.dat' using 1:2:3:(5*rand(0)):(rgb($1,$2,$3)) with points pt 7 ps variable lc rgb variable \ title "variable pointsize and rgb color computed from coords" pause -1 "Hit return to continue" set title "Demo of hidden3d with points only (no surface)" set hidden3d replot pause -1 "Hit return to continue" reset # RGB(R,G,B) = int(255.*R) * 2**16 + int(255.*G) * 2**8 + int(255.*B) set xr [0.01:1] set yr [0.01:1] set ur [0.01:1] set vr [0.01:1] set zr [0:1.065] set xtics ("R=1" 1) set ytics ("G=1" 1) set ztics ("0" 0, "B=1" 1) unset colorbox set isosamples 40,40 set xyplane at 0.0 set view 63,58,1.,1.4 set title "RGB coloring of pm3d surface" unset key # Just some function that is well-defined in this range # (except at the origin) f(x,y) = 0.4 + sin(sqrt(100.*x**2+100.*y**2)) \ / (1.5*sqrt(100.*x**2+100.*y**2)) splot '++' using 1:2:(f($1,$2)):(RGB($1,$2,f($1,$2))) \ with pm3d lc rgb variable pause -1 "Hit return to continue" set title "HSV coloring of pm3d surface\n(V=1)" unset xtics unset ytics set ztics ("0" 0) set xlabel "H" set ylabel "S" splot '++' using 1:2:(f($1,$2)):(hsv2rgb($1,$2,1.0)) \ with pm3d lc rgb variable pause -1 "Hit return to continue" set title "Explicit borders for pm3d tiling" set pm3d border lt black lw 1.5 set sample 10 set isosample 10 replot pause -1 "Hit return to continue" reset