From: <and...@us...> - 2008-08-13 12:29:50
|
Revision: 8638 http://plplot.svn.sourceforge.net/plplot/?rev=8638&view=rev Author: andrewross Date: 2008-08-13 12:29:59 +0000 (Wed, 13 Aug 2008) Log Message: ----------- Update python and perl versions of example 21 consistent with C version. Modified Paths: -------------- trunk/examples/perl/x21.pl trunk/examples/python/xw21.py Modified: trunk/examples/perl/x21.pl =================================================================== --- trunk/examples/perl/x21.pl 2008-08-13 12:04:56 UTC (rev 8637) +++ trunk/examples/perl/x21.pl 2008-08-13 12:29:59 UTC (rev 8638) @@ -61,7 +61,7 @@ my $pts = 500; my $xp = 25; my $yp = 20; - my $nl = 15; + my $nl = 16; my $knn_order = 20; my $threshold = 1.001; my $wmin = -1e3; @@ -104,7 +104,7 @@ @opt = (0., 0., 0., 0., 0., 0.); $xm = $ym = -0.2; - $xM = $yM = 0.8; + $xM = $yM = 0.6; plParseOpts (\@ARGV, PL_PARSE_PARTIAL); @@ -123,11 +123,10 @@ my ($xg, $yg) = create_grid ($xp, $yp); # grid the data at # the output grided data - my $xlab = "Npts=$pts gridx=$xp gridy=$yp"; plcol0 (1); plenv ($xm, $xM, $ym, $yM, 2, 0); plcol0 (15); - pllab ($xlab, "", "The original data"); + pllab ("X", "Y", "The original data sampling"); plcol0 (2); plpoin ($x, $y, 5); pladv (0); @@ -138,10 +137,7 @@ pladv (0); for (my $alg = 1; $alg < 7; $alg++) { - my $ct = clock (); $zg = plgriddata ($x, $y, $z, $xg, $yg, $alg, $opt [$alg - 1]); - $xlab = sprintf ("time=\%d ms", (clock () - $ct) / 1000); - $ylab = sprintf ("opt=\%.3f", $opt [$alg - 1]); # - CSA can generate NaNs (only interpolates?!). # - DTLI and NNI can generate NaNs for points outside the convex hull @@ -187,19 +183,22 @@ my $lzM = max ($zg); my $lzm = min ($zg); + $lzm = min pdl ([$lzm, $zmin]); + $lzM = max pdl ([$lzM, $zmax]); + + $lzm = $lzm - 0.01; + $lzM = $lzM + 0.01; + plcol0 (1); pladv ($alg); if ($k == 0) { - $lzm = min pdl ([$lzm, $zmin]); - $lzM = max pdl ([$lzM, $zmax]); - $clev = $lzm + ($lzM - $lzm) * sequence ($nl)/ ($nl - 1); plenv0 ($xm, $xM, $ym, $yM, 2, 0); plcol0 (15); - pllab ($xlab, $ylab, $title [$alg - 1]); + pllab ("X", "Y", $title [$alg - 1]); plshades ($zg, $xm, $xM, $ym, $yM, $clev, 1, 0, 1, 1, 0, 0, 0); plcol0 (2); @@ -210,7 +209,7 @@ cmap1_init (); plvpor (0.0, 1.0, 0.0, 0.9); - plwind (-1.0, 1.0, -1.0, 1.5); + plwind (-1.1, 0.75, -0.65, 1.20); # # For the comparition to be fair, all plots should have the # same z values, but to get the max/min of the data generated @@ -219,9 +218,9 @@ # plw3d(1., 1., 1., xm, xM, ym, yM, zmin, zmax, 30, -60); # - plw3d (1., 1., 1., $xm, $xM, $ym, $yM, $lzm, $lzM, 30, -60); - plbox3 (0.0, 0, 0.0, 0, 0.0, 4, - "bnstu", $ylab, "bnstu", $xlab, "bcdmnstuv", ""); + plw3d (1., 1., 1., $xm, $xM, $ym, $yM, $lzm, $lzM, 30.0, -40.0); + plbox3 (0.0, 0, 0.0, 0, 0.5, 0, + "bntu", "X", "bntu", "Y", "bcdfntu", "Z"); plcol0 (15); pllab ("", "", $title [$alg - 1]); plot3dc ($xg, $yg, $zg, DRAW_LINEXY | MAG_COLOR | BASE_CONT, $clev); Modified: trunk/examples/python/xw21.py =================================================================== --- trunk/examples/python/xw21.py 2008-08-13 12:04:56 UTC (rev 8637) +++ trunk/examples/python/xw21.py 2008-08-13 12:29:59 UTC (rev 8638) @@ -8,7 +8,7 @@ pts = 500 xp = 25 yp = 20 -nl = 15 +nl = 16 knn_order = 20 threshold = 1.001 wmin = -1e3 @@ -44,16 +44,23 @@ xm = -0.2 ym = -0.2 - xM = 0.8 - yM = 0.8 + xM = 0.6 + yM = 0.6 opt[2] = wmin opt[3] = knn_order opt[4] = threshold # Create the sampled data - xt = random(pts) - yt = random(pts) + # random is an efficient way of generating random numbers in + # python, but for consistency across languages we use plrandd + #xt = random(pts) + #yt = random(pts) + xt = zeros(pts) + yt = zeros(pts) + for i in range(pts) : + xt[i] = (xM-xm)*plrandd() + yt[i] = (yM-ym)*plrandd() if randn == 0 : x = xt + xm y = yt + ym @@ -74,11 +81,10 @@ xg = xm + (xM-xm)*arange(xp)/(xp-1.) yg = ym + (yM-ym)*arange(yp)/(yp-1.) - xlab = 'Npts='+`pts`+' gridx='+`xp`+' gridy='+`yp` plcol0(1) plenv(xm,xM,ym,yM,2,0) plcol0(15) - pllab(xlab,'','The original data') + pllab('X','Y','The original data sampling') plcol0(2) plpoin(x,y,5) pladv(0) @@ -88,11 +94,8 @@ for k in range(2): pladv(0) for alg in range(1,7): - ct = time.clock() zg = reshape(zeros(xp*yp),(xp,yp)) plgriddata(x, y, z, xg, yg, zg, alg, opt[alg-1]) - xlab = 'time='+`int((time.clock()-ct)*1000)`+' ms' - ylab = 'opt='+`opt[alg-1]` if alg == GRID_CSA or alg == GRID_DTLI or alg == GRID_NNLI or alg == GRID_NNI: for i in range(xp): @@ -118,25 +121,29 @@ lzM = max(zg.flat) lzm = min(zg.flat) + lzm = min(lzm,zmin) + lzM = max(lzM,zmax) + + lzm = lzm - 0.01 + lzM = lzM + 0.01 + plcol0(1) pladv(alg) if (k == 0): - lzm = min(lzm,zmin) - lzM = max(lzM,zmax) clev = lzm + (lzM-lzm)*arange(nl)/(nl-1) plenv0(xm,xM,ym,yM,2,0) plcol0(15) - pllab(xlab,ylab,title[alg-1]) + pllab('X','Y',title[alg-1]) plshades(zg, xm, xM, ym, yM, clev, 1, 1) plcol0(2) else: clev = lzm + (lzM-lzm)*arange(nl)/(nl-1) cmap1_init() plvpor(0.0, 1.0, 0.0, 0.9) - plwind(-1.0, 1.0, -1.0, 1.5) - plw3d(1.0, 1.0, 1.0, xm, xM, ym, yM, lzm, lzM, 30, -60) - plbox3('bnstu', ylab, 0.0, 0,'bnstu', xlab, 0.0, 0,'bcdmnstuv', '', 0.0, 4) + plwind(-1.1, 0.75, -0.65, 1.20) + plw3d(1.0, 1.0, 1.0, xm, xM, ym, yM, lzm, lzM, 30.0, -40.0) + plbox3('bntu', 'X', 0.0, 0,'bntu', 'Y', 0.0, 0,'bcdfntu', 'Z', 0.5, 0) plcol0(15) pllab('','',title[alg-1]) plot3dc(xg, yg, zg, DRAW_LINEXY | MAG_COLOR | BASE_CONT, clev) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |