hi Eric, then I misunderstood what the code does.... I thought it was 
transforming the data. In any case, my second figure in my previous post 
is wrong because the code should read:
plt.errorbar(cE,corrE*fluxes, yerr=corrE*unc_fluxes)
instead of
plt.errorbar(cE,corrE*fluxes, yerr=unc_fluxes)

and indeed this seems to behave correctly, so I guess I got completely 
confused while trying to understand what was happening. I will check out 
your patch and start from the beginning.

thanks a lot and sorry,
Johann

Eric Firing wrote:
> 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