From: Eric F. <ef...@ha...> - 2009-03-03 20:19:30
|
Keoki Seu wrote: > Greeting everyone, > In pylab (matplotlib 0.98.3.001 on Mac OS X) I've discovered that > changing the xscale from linear to log removes the previously set xlim. > > For example > In [1]: import pylab > In [2]: x = pylab.arange(100) > In [3]: y = pylab.sin(x) > In [4]: pylab.plot(x, y) > Out[4]: [<matplotlib.lines.Line2D object at 0x1a0981f0>] > In [5]: pylab.xlim(30, 50) > Out[5]: (30, 50) > In [6]: print pylab.xlim() > (30.0, 50.0) > In [7]: pylab.xscale('log') > In [8]: print pylab.xlim() > (1.0, 100.0) > > There are easy workarounds, such as saving the axes before switching > to log and restoring them after, but is this expected behavior? An argument could be made either way, but I think the present behavior, in which autoscale_view is called after changing the scale, will cause the least surprise in the majority of cases. The default locator depends on the scale, and is used in the autoscaling process. The suggested way of preventing the autoscaling (using pylab syntax to go with your example above) is to use "gca().set_autoscale_on(False)" before changing the scale. Eric > > Thanks, > Keoki > > ------------------------------------------------------------------------------ > Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA > -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise > -Strategies to boost innovation and cut costs with open source participation > -Receive a $600 discount off the registration fee with the source code: SFAD > http://p.sf.net/sfu/XcvMzF8H > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |