From: Eric F. <ef...@ha...> - 2012-05-25 23:29:53
|
On 05/25/2012 12:46 PM, Dan Drake wrote: > Hello matplotlib developers, > > In Sage, we've run into a problem with plotting a sequence whose > y-values change by very small amounts. Here's an example that doesn't > use anything from Sage: > > import pylab > pylab.plot([0, 1], [0, 1e-14]) > pylab.savefig("works.png") > pylab.close() > pylab.plot([0, 1], [1, 1+1e-14]) > pylab.savefig("fails.png") > pylab.close() > > We're using matplotlib 1.1. Here's a trac ticket where we are working on > this: http://trac.sagemath.org/sage_trac/ticket/11973. One of our > developers suspects matplotlib.ticker.MaxNLocator.bin_boundaries but we > don't really know. Dan, I think the behavior is coming from a threshold value of 1e-12 in ticker.scale_range. This needs more thought than I can give it at the moment, but perhaps you could file a ticket on the github mpl site. Note that even if this threshold behavior is removed, there is another one waiting in the wings behind it, with a default value of 1e-16, used to decide whether a range is singular; if it is, then it gets expanded. Eric > > Thanks for any help or comments! > > Dan |