|
Packit |
0986c0 |
# 18 Aug 2017
|
|
Packit |
0986c0 |
# Each of these plot commands failed on some version between 5.0 and 5.3.
|
|
Packit |
0986c0 |
# I collect them here to use as unit tests for continued success
|
|
Packit |
0986c0 |
# of the code added to repair breakage.
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
# Usage: call 'sampling.dem' <testno>
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set urange [1:100]
|
|
Packit |
0986c0 |
set vrange [1:100]
|
|
Packit |
0986c0 |
set xrange [1:100]
|
|
Packit |
0986c0 |
set key opaque box
|
|
Packit |
0986c0 |
set style data line
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
if (ARGC < 1) ARG1 = 0
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set trange [20:50]
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
if (ARG1 <= 1) {
|
|
Packit |
0986c0 |
print "test 1: explicit trange distinct from xrange"
|
|
Packit |
0986c0 |
plot '+' using 1:(10. + sin($1)) title "trange [20:50]"
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
}
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
if (ARG1 <= 2) {
|
|
Packit |
0986c0 |
print "test 2: range set by 'sample' keyword, linear x axis"
|
|
Packit |
0986c0 |
plot sample [t=20:50] '+' using (t):(10. + sin(t))
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
}
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set log x
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
if (ARG1 <= 3) {
|
|
Packit |
0986c0 |
print "test 3: range set by 'sample' keyword, logscale x axis"
|
|
Packit |
0986c0 |
plot sample [t=20:50] '+' using (t):(10. + sin(t))
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
}
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
unset log
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
if (ARG1 <= 4) {
|
|
Packit |
0986c0 |
print "test 4: splot '++' with autoscaled y (linear xy)"
|
|
Packit |
0986c0 |
splot '++' using 1:2:($1*$2)
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
}
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set log xy
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
if (ARG1 <= 5) {
|
|
Packit |
0986c0 |
print "test 5: splot '++' with autoscaled y (logscale xy)"
|
|
Packit |
0986c0 |
splot '++' using 1:2:($1*$2)
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
}
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
unset log
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
if (ARG1 <= 6) {
|
|
Packit |
0986c0 |
print "test 6: plot '++' with image (linear xy)"
|
|
Packit |
0986c0 |
plot '++' using 1:2:($1*$2) with image
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
}
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set log xy
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
if (ARG1 <= 7) {
|
|
Packit |
0986c0 |
print "test 7: plot '++' with image (logscale xy)"
|
|
Packit |
0986c0 |
plot '++' using 1:2:($1*$2) with image
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
}
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
reset
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
# piecewise functions along nonlinear x axis
|
|
Packit |
0986c0 |
#
|
|
Packit |
0986c0 |
unset border
|
|
Packit |
0986c0 |
set key center top reverse Left
|
|
Packit |
0986c0 |
set xzeroaxis
|
|
Packit |
0986c0 |
set yzeroaxis
|
|
Packit |
0986c0 |
set xtics axis out scale 1,8
|
|
Packit |
0986c0 |
set xtics add (1.00000 1, 6.28319 1)
|
|
Packit |
0986c0 |
set ytics axis
|
|
Packit |
0986c0 |
set xrange [ .1 : 12 ] noreverse nowriteback
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
if (ARG1 <= 8) {
|
|
Packit |
0986c0 |
print "test 8: multiple sampling ranges in one 2D plot command"
|
|
Packit |
0986c0 |
set multiplot layout 2,1
|
|
Packit |
0986c0 |
set title "Piecewise function sampling along linear x" font ",13"
|
|
Packit |
0986c0 |
plot sample [*:1] x, [1:2.*pi] cos(x), [2.*pi:10] (x-8)**2
|
|
Packit |
0986c0 |
set nonlinear x via x inv x
|
|
Packit |
0986c0 |
set title "nonlinear (identity mapped) x" font ",13"
|
|
Packit |
0986c0 |
plot sample [*:1] x, [1:2.*pi] cos(x), [2.*pi:10] (x-8)**2
|
|
Packit |
0986c0 |
unset multiplot
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
}
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
reset
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set xrange [1:100]
|
|
Packit |
0986c0 |
set yrange [1:100]
|
|
Packit |
0986c0 |
set urange [0:100]
|
|
Packit |
0986c0 |
set vrange [70:90]
|
|
Packit |
0986c0 |
set style data lines
|
|
Packit |
0986c0 |
set xyplane at 0
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set hidden3d
|
|
Packit |
0986c0 |
set title "3D sampling range distinct from plot x/y range"
|
|
Packit |
0986c0 |
print "test 9: 3D sampling range distinct from plot x/y range"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
splot '++' using 1:2:($1*25.*sin($2/10)), \
|
|
Packit |
0986c0 |
[u=30:70][v=0:50] '++' using 1:2:(u*v), \
|
|
Packit |
0986c0 |
[u=40:80][v=30:60] '++' using (u):(v):(u*sqrt(v)) lt 4, \
|
|
Packit |
0986c0 |
[u=1:100][v=500:1000] '++' using (90):(u):(v) lt 6
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
reset
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
unset key
|
|
Packit |
0986c0 |
set view map
|
|
Packit |
0986c0 |
set xrange [ 20:100 ]
|
|
Packit |
0986c0 |
set yrange [ 0:80 ]
|
|
Packit |
0986c0 |
set size ratio 1.0
|
|
Packit |
0986c0 |
radius(x,y) = 10 * sqrt((x-50)**2 + (y-50)**2)
|
|
Packit |
0986c0 |
alpha(x,y) = radius(x,y) > 255 ? 0 : 255-radius(x,y)
|
|
Packit |
0986c0 |
set title "3D custom sampling on u and v using pseudofile '++'"
|
|
Packit |
0986c0 |
print "test 10: splot '++' with explicit sampling intervals"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
splot sample [u=25:75:1][v=25:75:4] '++' \
|
|
Packit |
0986c0 |
using 1:2:0:(u*4-50):(v*4-50):(255*sin(u*v/2500.)):(alpha(u,v)) with rgbalpha, \
|
|
Packit |
0986c0 |
[u=25:75:4][v=25:75:1] '++' \
|
|
Packit |
0986c0 |
using (u+20):(v-20):0:(u*4-50):(v*4-50):(255*sin(u*v/2500.)):(alpha(u,v)) with rgbalpha
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
set title "2D custom sampling on u and v using pseudofile '++'"
|
|
Packit |
0986c0 |
print "test 10: plot '++' with explicit sampling intervals"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
plot sample [u=25:75:1][v=25:75:4] '++' \
|
|
Packit |
0986c0 |
using 1:2:(u*4-50):(v*4-50):(255*sin(u*v/2500.)):(alpha(u,v)) with rgbalpha, \
|
|
Packit |
0986c0 |
[u=25:75:4][v=25:75:1] '++' \
|
|
Packit |
0986c0 |
using (u+20):(v-20):(u*4-50):(v*4-50):(255*sin(u*v/2500.)):(alpha(u,v)) with rgbalpha
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
pause -1 "Hit <cr> to continue"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
reset
|
|
Packit |
0986c0 |
|