pylab.axis(ymin=-1) crashes with exception

hi

the recent announcment of matplotlib 0.9 made me look through my notes on bugs I've found. With 0.87.7 pylab.axis does not support setting of axislimits, I have attached a crash report. I think the problem is a change in the handling of kwargs in set_*lim in axes.py.

/J�rgen

In [1]: x=arange(0,pi,0.1)

In [2]: plot(x,sin(x))

Out[2]: [<matplotlib.lines.Line2D instance at 0x01BF6828>]

In [3]: axis(ymin=-1)

···

---------------------------------------------------------------------------
<type 'exceptions.TypeError'> Traceback (most recent call last)

C:\Python25\<ipython console> in <module>()

c:\Python25\lib\site-packages\matplotlib\pylab.py in axis(*v=(), **kwargs={'ymin': -1})
     622 """
     623 ax = gca()
--> 624 v = ax.axis(*v, **kwargs)
         v = ()
         ax.axis = <bound method Subplot.axis of <matplotlib.axes.Subplot instance at 0x01BEF1E8>>
         kwargs = {'ymin': -1}
     625 draw_if_interactive()
     626 return v

c:\Python25\lib\site-packages\matplotlib\axes.py in axis(self=<matplotlib.axes.Subplot instance at 0x01BEF1E8>, *v=(), **kwargs={'ymin': -1})
     774 try: v[0]
     775 except IndexError:
--> 776 xmin, xmax = self.set_xlim(**kwargs)
         xmin = undefined
         xmax = undefined
         self.set_xlim = <bound method Subplot.set_xlim of <matplotlib.axes.Subplot instance at 0x01BEF1E8>>
         kwargs = {'ymin': -1}
     777 ymin, ymax = self.set_ylim(**kwargs)
     778 return xmin, xmax, ymin, ymax
<type 'exceptions.TypeError'>: set_xlim() got an unexpected keyword argument 'ymin'

In [4]:

Hmm, I find your post a little confusing. You mention that you notice
0.90 is out and yet you test on 0.87.7.... This bug was fixed in the
0.90 release. Do you not have access to 0.90 for some reason, ie you
need a binary that hasn't been built?

···

On 2/9/07, Jörgen Stenarson <jorgen.stenarson@...173...> wrote:

the recent announcment of matplotlib 0.9 made me look through my notes
on bugs I've found. With 0.87.7 pylab.axis does not support setting of
axislimits, I have attached a crash report. I think the problem is a
change in the handling of kwargs in set_*lim in axes.py.