|
From: Petr M. <mi...@ph...> - 2006-08-25 20:56:26
|
>> With your patch of plot3d.c, all scans have the number of points as >> intended. The rectangle(s) contaning a point with NaN are not drawn. This >> looks like to be what is expected, so I propose you commit the plot3d.c >> patch. > > I think there is still a problem with the patched version. > I am not sure where it is, though. > > Have a look at the attached PNG image compared before + after the patch. > The input data file is "triangle.dat" with two individual values > replaced by "Junk" and "NaN" respectively. > > The patched version gets it almost right, but only in the case > of "splot ... using ($1):($2):($3)" > Even so, instead of skipping a single rectangle, it omits the > entire rest of the scan line. You should use 'set pm3d map' to see it better. In the non-($n) case, the plot should be the same as if you remove these junk lines from the datafile. I tried your patch, and it is correct. However, there is yet another bug: 0 2 -2 1 2 -1 2 2 0 3 2 1 0 3 0 1 3 6 2 3 2 3 3 3 0 4 1 1 4 2 2 bla 3 3 4 4 set pm3d map splot 'bla' => there is a strange feature, and the debug routine in the beginning of pm3d_plot() print the data passed into this routine: #IsoCurve = scan nb 0, 4 points #x y z type(in,out,undef) 0 2 -2 i 1 2 -1 i 2 2 0 i 3 2 1 i #IsoCurve = scan nb 1, 4 points #x y z type(in,out,undef) 0 3 0 i 1 3 6 i 2 3 2 i 3 3 3 i #IsoCurve = scan nb 2, 4 points #x y z type(in,out,undef) 0 4 1 i 1 4 2 i 2 2 2 i <====== HERE IS BUG! 3 4 4 i Thus, the reader converted the data file line 2 bla 3 into 2 2 2 i Correctly, there should be point (like a missing line), or 2 999 3 u (999 or whatever number). I think the "missing line" behaviour is compatible to "plot" command. --- PM |