Stacked bar chart with errorbars

Hi,
I've tried a simple code to test the idea of error bars with stacked bar chart but somehow it goes wrong:
data_bar = [8.89862100831768 10.6124723247243;
9.48697169408196 10.9541916851987;
8.97084136825914 10.6925827879448]; % 3 groups - 2 stacks per group
err = [0.2, 0.4; 0.3, 0.1; 0.5, 0.7];
XX = categorical({'sample1' , 'sample2', 'sample3'}); % group names
b = bar(XXX,data_bar,'stacked');
[ngroups,nbars] = size(data_bar);
x = nan(nbars, ngroups);
y = nan(nbars, ngroups);
for i = 1:nbars
x(i,:) = b(i).XEndPoints;
y(i,:) = b(i).YEndPoints; % for the data values
end
errorbar(x',y',err,'k','linestyle','none','HandleVisibility','off');
legend({'FFT' , 'DCT'});
x and y represent the locations of the errorbars but somehow I get something like this:
without the errorbars it looks fine:
Thanks!

 Accepted Answer

Adam Danz
Adam Danz on 8 Sep 2021
Edited: Adam Danz on 9 Sep 2021
hold on % <--- you forgot this
errorbar(x',y',err,'k','linestyle','none','HandleVisibility','off');
Also, you can replace the for-loop with,
x = vertcat(b.XEndPoints)';
y = vertcat(b.YEndPoints)';
hold on
errorbar(x,y,err,'k','linestyle','none','HandleVisibility','off');

1 Comment

Sometimes the solution is easier than expected, the 'hold on' works. Thanks.

Sign in to comment.

More Answers (0)

Tags

Asked:

on 8 Sep 2021

Commented:

on 10 Sep 2021

Community Treasure Hunt

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

Start Hunting!