Cohen-Tanugi 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 non-positive 
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

------------------------------------------------------------------------------
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to