MATLAB Answers

Stacked bar chart with errorbars

7 次查看(过去 30 天)
Iron1759
Iron17592021-9-8
评论: Iron1759 ,2021-9-10
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!

采纳的回答

Adam Danz
Adam Danz 2021-9-8
编辑:Adam Danz 2021-9-9
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 个评论
Iron1759
Iron1759 2021-9-10
Sometimes the solution is easier than expected, the 'hold on' works. Thanks.

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by