|
From: <br...@ph...> - 2006-06-20 23:14:15
|
Daniel J Sebald wrote: > There are only two valid concepts in my mind. > > 1) What I just described, which is ignore anything within (or beyond, > whatever your viewpoint) a small fraction of the total range. Likely > something so small it can't be resolved. And the trouble with that is that "can't be resolved" is a criterion that by its very definition depends on information that the autoscaling algorithm can't have. The actual resolution of the eventual output device of a plot may not even be known at 'plot' time, much less can autoscaling be allowed to depend on it. BTW: gnuplot has a parameter like your proposed "tolerance": set zero. But it's being used less and less in the actual code, and I think that's a good thing. > 2) Ignore anything within the machine resolution (i.e., epsilon) or > some small multiple of machine resolution, what Petr pointed out. Machine resolution is quite certainly the wrong way of doing this. That's the smallest value for your "TOL" parameter that's distinguishable from zero at all, effectively --- the only useful application of it would be sanity-check a 'set tolerance'. I still hold that 3) zero tolerance --- keep it small and simple is the right way to go. > Going back to your original point. The jump tells someone their data > extends beyond a tic, but in a perhaps imperceptable way. (We could do > some examples to test this.) ... and if that really bothers some user, he can always easily fix that range manually (or, if he dislikes this jumpiness altogether, put 'set autoscale xfix' in his ~/.gnuplot). > I don't know what the preference would be, honestly. Let me put it this way: that behaviour, and those demos, have been around for years, some of them decades. IIRC, we've had a total of about one complaint about that, in all that time. |