All,

Based on what everyone has been saying I have submitted an update to axes.py 
that reverts the get/set xlim/ylim methods to their
original state with their original interface.  I have removed the state flag 
that keeps track of inverted axes.

Currently I have added the method get/set xbound/ybound that handles getting 
and setting of the upper and lower bounds and will
handle inverted axes.  I have made a couple of changes within the Axes class to 
now call the xbound/ybound methods so that the
handling of inversion is automatic.  This at least solves the immediate 
problems and provides some level of protection by giving a
"safe" method to call when writing methods that deal with axes limits.

Let me know what you think.
--James Evans

> -----Original Message-----
> From: Ted Drain [mailto:[EMAIL PROTECTED]
> Sent: Thursday, October 04, 2007 2:34 PM
> To: Eric Firing
> Cc: James Evans; John Hunter; matplotlib development list
> Subject: Re: [matplotlib-devel] API additions
> 
> Sounds fine - I don't think we care too much about the "how".  I
> talked w/ James and as far as we know, the aspect code is the only
> area that's having a problem right now (James is going to submit a
> patch to that to handle x1>x2 today).
> 
> Since we do these plots all the time, we've just seen a number of
> problems come up as new features get added and people forget that
> x1 > x2 is a possibility.  We were just trying to think of ways of
> "future proofing" the new system by making it more obvious that this
> case does show up.  It might be able to be handled by some extra
> comments in the existing code so that people who are looking for
> examples would get a reminder that this case has to be handled.
> 
> Ted
> 
> At 02:11 PM 10/4/2007, Eric Firing wrote:
> >Ted Drain wrote:
> > > John,
> > > I think keeping the existing API is probably a good idea.  What about
> > > something like this:
> > >
> > > - Keep xlim and viewlim as they are.
> > >
> > > - Add xbound() (or maybe a better name) that returns (x1,x2) where x1 < 
> > > x2.
> > >
> > > - Add set_xbound(x1,x2) that takes x1<x2, checks the inversion flag, and
> > > then calls set_xlim() w/ the args in the proper order.
> >
> >The fundamental object containing the relevant information is the
> >Interval instance.  Instead of having a proliferation of flags and
> >functions at the python level, I am thinking about adding a few very
> >simple methods to the Interval object. Maybe
> >
> >swap() to reverse the order of the bounds
> >increasing() to yield True if val2 >= val1
> >
> >Your xbound and set_xbound functionality could also be done this way, as
> >Interval methods.
> >
> >
> >Mike, how would this fit in with your reworking of transforms?
> >
> >Eric
> >
> > >
> > > - Change the existing axis code that messes w/ bounds (autoscale, aspect
> > > ratio, etc) to use xbound.  These algorithm can then be written so
> > > they're independent of the order of x1 and x2 and they won't flip the
> > > bounds back if the inversion flag is set.
> > >
> > > Ted
> >
> >-------------------------------------------------------------------------
> >This SF.net email is sponsored by: Splunk Inc.
> >Still grepping through log files to find problems?  Stop.
> >Now Search log events and configuration files using AJAX and a browser.
> >Download your FREE copy of Splunk now >> http://get.splunk.com/
> >_______________________________________________
> >Matplotlib-devel mailing list
> >Matplotlib-devel@lists.sourceforge.net
> >https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
> 
> Ted Drain     Jet Propulsion Laboratory   [EMAIL PROTECTED]
> 



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to