Error bars with zero standard deviation.

Hello,
I have plotted a graph with x- and y-dataset. The standard deviation (in y-axis) has the following values and I intend to plot the error bars.
std_dev = [0 0.0295 0.0090 0.1239 0 0.5667 0.2855 0.0857]
Can I prevent the error-bars from appearing for dataset where std deviation is zero?
Thanks.

回答(1 个)

std_dev = [0 0.0295 0.0090 0.1239 0 0.5667 0.2855 0.0857];
%Lets suppose
err=rand(1,8);
idx=find(std_dev~=0)
errorbar(std_dev(idx),err(idx));

4 个评论

Thanks for your response. Maybe my question was not clear. Lets consider the following:
std_dev = [0.33 0.0295 0.0090 0.1239 0.434 0.5667 0.2855 0.0857];
err=rand(1,8); err(2) = 0;
errorbar(std_dev,err,'o','LineWidth',2);
In the above code, you can still see an error bar for the 2nd data set (which is equal to zero). I do not want this error bar, when error is zero, because it doesnt make any sense. At the same time, I want that second data set to be plotted and not removed.
std_dev = [0.33 0.0295 0.0090 0.1239 0.434 0.5667 0.2855 0.0857 ];
err=rand(1,8); err(2) = 0 ;
idx=find(err~=0);
errorbar(std_dev(idx),err(idx),'o','LineWidth',2 );
Hello,
In the above code, you can see that std_dev(2) is missing. Only 7 data has been plotted. How to get a similar plot with all the 8 data sets and no error-bar on the 2nd data?
Hello,
In order to show std_dev(2) you could use the x values and plot().
std_dev = [0.33 0.0295 0.0090 0.1239 0.434 0.5667 0.2855 0.0857 ];
xdata = 1:8;
err=rand(1,8); err(2) = 0 ;
idx=find(err~=0);
figure, hold on
plot(xdata,std_dev,'o--')
errorbar(xdata(idx),std_dev(idx),err(idx), 'LineStyle', 'none');

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Errorbars 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by