From: Eric Firing <efiring@ha...>  20090404 23:11:49

CohenTanugi Johann wrote: > ok, maybe it is in scale.py :) > And what I see there confirms my initial fears : the log scale transform > applies a log to the argument, which is incorrect for an error..... So > first of all, another transform needs to be created so that erry is > transformed into erry/y/log(base) where base was 10 in my example. Johann, I don't understand your objection here. It seems to me that an errorbar should always be in the same units, and on the same scale, as the point to which it applies. Therefore when switching from linear to log scales, one simply plots the same data and error ranges on a log scale instead of a linear scale. This is what mpl does. If what you want is for the error to be proportional to the value of the point, then you need to specify the error bounds so that they have that property. For estimation of a power spectrum, for example, this is often the case; the error bars are some fraction (depending on the equivalent number of degrees of freedom) of the spectral level at each frequency, so on a log plot they will have equal length. It is not the job of the errorbar function to figure that out, however. If I am misunderstanding, then please provide a very simple concrete example that will make your point clear. > > past midnight here.... I will see tomorrow if I find time to try out a > patch (not the easiest entry point for starting developer's activities > in MPL I am afraid....) I have just committed a change (trunk r7023) that allows nonpositive numbers to be clipped to a small positive value. To illustrate its use with an errorbar, I added the example provided by Matthias to examples/pylab_examples/log_demo.py, as a 4th subplot. Eric > > Johann 