On Wednesday 16 January 2008 08:22:45 am Michael Droettboom wrote:
> I'm having an enormous sense of deja vu...
>
> There was a very similar bug filed here,
> http://sourceforge.net/tracker/index.php?func=detail&aid=1757315&group_id=8
>0706&atid=560720

I think it is identical, I overlooked the original bug report...

> which I thought I had resolved in revision 4197 (which would have made
> it into all of the 0.91.x releases).

and it appears to be fixed on my machine (caveat below). Lorenzo, what 
matplotlib version are you using?

> My fix there was just to forcibly set the plot back to linear in cla()
> -- the idea being that if a new plot is created and hold is False, it is
> forcibly set back to linear (i.e. pristine state) by calling
> set_xscale('linear') and set_yscale('linear), which resets both the
> transform and the locators/formatters etc.  This fix works whether you
> use loglog() to create the plot, or plot() followed by set_?scale().
>
> But reading Darren's new bug report makes me wonder if my fix was
> correct.  To be honest, I'm a little confused by the bug report, not out
> of any lack of clarity on Darren's part, but I think due to insufficient
> understanding of the problem.  As assumption about the purpose of cla is
>   that is should return the plot to a pristine state -- and in this case
> that means linear axes.  But are you suggesting that sometimes that is
> not the case?

If you have hold=True, and the x or y scale is log, repeated calls to plot() 
will add new lines to the plot without changing the scaling. If hold is 
instead False, one might reasonably expect that future calls to plot would 
replace the old line with the new one, again without changing the scaling. 
That would be consistent. Instead, the scaling changes.

> Just so we're on the page, does this bug still occur post r4197 and with
> 0.91.x, or is this a 0.90.1 issue?

I don't see the bug in svn. Lorenzo?

> Darren Dale wrote:
> > Hi Lorenzo,
> >
> > On Tuesday 15 January 2008 4:14:24 pm Lorenzo Isella wrote:
> >> Dear All,
> >> I am sending this email out of frustration, but I hope that someone will
> >> be able to tell me what is going on.
> >> I am using pylab on a Debian testing box.
> >> I have the feeling that there is some problem with pylab when I
> >> alternate, as I am doing now, many linear and log-log plots. Very often,
> >> pylab complains about the fact that I cannot take the log of a negative
> >> number even if all the quantities are positive or even if I have
> >> replaced the loglog with a linear plot...
> >> An example (sorry but there are long arrays involved and I cannot
> >> reproduce all my code here):
> >>
> >>
> >> #! /usr/bin/env python
> >>
> >> import scipy as s
> >> import numpy as n
> >> import pylab as p
> >> #from rpy import r
> >> #import distance_calc as d_calc
> >>
> >> # now I try performing a least-square fitting
> >> import scipy.optimize as sopt
> >>
> >>
> >> #do my stuff here
> >>
> >> print "my_n_clus_fit is, ", my_n_clus_fit
> >> print "my_r_sq_fit",my_r_sq_fit
> >> print "n_clu_rep2 is, ", n_clu_rep2
> >> print "R_sq is", R_sq
> >>
> >> p.plot(n_clu_rep2,R_sq,"bo",my_n_clus_fit,my_r_sq_fit, "ro")
> >> p.xlabel('particles in cluster')
> >> p.ylabel('R square')
> >> #p.legend(('beta=1e-2,100 part','beta=1e-1, 100 part', 'beta=1e-1, 200
> >> part'))
> >> p.title('Cluster-size vs average radius of gyration')
> >> p.grid(True)
> >> p.savefig("R_gyr_vs_N_fit.pdf")
> >> p.hold(False)
> >>
> >> and the relevant part of the output is:
> >
> > [...]
> >
> >> Traceback (most recent call last):
> >>   File "./r_gyr.py", line 322, in ?
> >>     p.plot(n_clu_rep2,R_sq,"bo",my_n_clus_fit,my_r_sq_fit, "ro")
> >>   File "/usr/lib/python2.4/site-packages/matplotlib/pylab.py", line
> >> 2028, in plot
> >>     ret =  gca().plot(*args, **kwargs)
> >>   File "/usr/lib/python2.4/site-packages/matplotlib/axes.py", line 2540,
> >> in plot
> >>     self.autoscale_view(scalex=scalex, scaley=scaley)
> >>   File "/usr/lib/python2.4/site-packages/matplotlib/axes.py", line 1207,
> >> in autoscale_view
> >>     self.set_xlim(XL)
> >>   File "/usr/lib/python2.4/site-packages/matplotlib/axes.py", line 1493,
> >> in set_xlim
> >>     raise ValueError('Cannot set nonpositive limits with log transform')
> >> ValueError: Cannot set nonpositive limits with log transform
> >
> > I think this is a bug. It sounds like the same issue I reported a while
> > back:
> > http://www.nabble.com/Cannot-set-nonpositive-limits-with-log-transform-to
> >12154187.html
> >
> > I havent had a chance to look into a solution. I filed a bug report at
> > sourceforge (1872462). I'm worried the fix will be disruptive, but
> > several people have run into this. I'm sorry you got bit as well.
> >
> > Darren
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by: Microsoft
> > Defy all challenges. Microsoft(R) Visual Studio 2008.
> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> > _______________________________________________
> > Matplotlib-users mailing list
> > Matplotlib-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users



-- 
Darren S. Dale, Ph.D.
Staff Scientist
Cornell High Energy Synchrotron Source
Cornell University
275 Wilson Lab
Rt. 366 & Pine Tree Road
Ithaca, NY 14853

[EMAIL PROTECTED]
office: (607) 255-3819
fax: (607) 255-9001
http://www.chess.cornell.edu

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to