[matplotlib-devel] "shared axes" bug in matplotlib 0.98

2008-07-04 Thread David Trem

Hi,

 I narrowed down the problem I've posted on the matplotlib user list
and now it looks like I found a matplotlib bug in 0.98 version.

The shared axes auto-scaling is not properly working in 0.98 (works
with the 0.91). Indeed, As shown, in the small attached script, the
shared x scale does not show the full curves (axs1 blue curve should go 
up to 120 on axis).
In fact, if x axes is shared, the figure xmin and xmax are defined by 
the last plotted axes (axs2) and does not take into account the min/max 
from the first one which cut it. One would expect to see both curve 
entirely.


Could someone have look at this problem. I will try to dive in 
matplotlib code but I'm not an expert at all...


Thanks in advance,

David
import matplotlib
matplotlib.use('gtkagg')

import pylab as pl

if __name__ == "__main__":

axs1 = pl.subplot(111)
t = pl.arange(0.01, 200.0, 0.01)
s1 = pl.log(t)
pl.plot(t, s1, 'b-')


axs2 = pl.gcf().add_axes(axs1.get_position(),
 sharex=axs1, frameon=False)
pl.plot([-20,30], [1,2], 'r-')

pl.show()
-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] "shared axes" bug in matplotlib 0.98

2008-07-04 Thread Eric Firing
David Trem wrote:
> Hi,
> 
>  I narrowed down the problem I've posted on the matplotlib user list
> and now it looks like I found a matplotlib bug in 0.98 version.
> 
> The shared axes auto-scaling is not properly working in 0.98 (works
> with the 0.91). Indeed, As shown, in the small attached script, the
> shared x scale does not show the full curves (axs1 blue curve should go 
> up to 120 on axis).
> In fact, if x axes is shared, the figure xmin and xmax are defined by 
> the last plotted axes (axs2) and does not take into account the min/max 
> from the first one which cut it. One would expect to see both curve 
> entirely.
> 
> Could someone have look at this problem. I will try to dive in 
> matplotlib code but I'm not an expert at all...

David,

This looks like a rather fundamental problem in the present 
architecture.  I thought I had a solution figured out, but I was wrong, 
and now I am not confident that I can come up with a good solution 
quickly.  Some consultation with, or intervention by, Mike D. may be 
needed--he might even see a solution in a matter of minutes.  The 
problem is that the dataLim for each axes object is a Bbox, and in this 
implementation there is no way to share an x-interval or a y-interval 
among Bboxes.  So there is a single xaxis major locator that is shared, 
but it is only getting its dataLim updated from one of the shared axes.

Eric

> 
> Thanks in advance,
> 
> David

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel