How can I use the ERRORBAR function with a logarithmic axis in MATLAB?

45 vues (au cours des 30 derniers jours)
When I type the following at the MATLAB prompt, I get a an errorbar with a log x axis:
x = 1:100;
y = sin(x);
e = std(y)*ones(size(x));
errorbar(x,y,e)
set(gca,'xscale','log')
However, the errorbars of the first point in the resulting figure extend much farther than the other errorbars. I would like a function that can account for the logrithmic X-axis and make all of the errorbars have a uniform width.

Réponse acceptée

MathWorks Support Team
MathWorks Support Team le 27 Juin 2009
A function that can account for the logarithmic X-axis and make all of the errorbars have a uniform width is not available in MATLAB.
As a workaround, try using the function 'errorbarlogx' from MATLAB Central. When ERRORBAR is used on a logarithmic scale the horizontal lines also become scaled and the lines become uneven. 'errorbarlogx' makes the horizontal lines uniform again.
Note that MathWorks does not guarantee or warrant the use or content of these submissions. Any questions, issues, or complaints should be directed to the contributing author.

Plus de réponses (0)

Catégories

En savoir plus sur Errorbars dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by