How can I add individual error bars to a grouped bar graph plot?
4 次查看(过去 30 天)
显示 更早的评论
x1 = [2.5; 7.5];
y = [y1PB y5PB; y2PB y6PB; y3PB y7PB; y4PB y8PB; y1RW y5RW; y3RW y7RW];
%error bars
errorplus = [0.000733045 0.000677482; 0.000782014 0.001159467; 0.001100796 0.000036955; 0.000698661 0.001299515; 0.000346841 0.001043998; 0.00040963 0.002191148];
errorneg = errorplus
figure;
% Plot the bar graph
b = bar(x1, y, 'FaceColor', 'flat');
[nGroups,nBars] = size(y);
hold on
x = reshape([b.XEndPoints],[nGroups, nBars]);
errorbar(x,y,errorplus, errorneg,'k','linestyle','none');
hold off

0 个评论
采纳的回答
Voss
2024-8-27
Replace
x = reshape([b.XEndPoints],[nGroups, nBars]);
with
x = vertcat(b.XEndPoints);
Example, using random data:
x1 = [2.5; 7.5];
% y = [y1PB y5PB; y2PB y6PB; y3PB y7PB; y4PB y8PB; y1RW y5RW; y3RW y7RW];
y = 0.035*rand(6,2);
%error bars
errorplus = [0.000733045 0.000677482; 0.000782014 0.001159467; 0.001100796 0.000036955; 0.000698661 0.001299515; 0.000346841 0.001043998; 0.00040963 0.002191148];
errorneg = errorplus;
figure;
% Plot the bar graph
b = bar(x1, y, 'FaceColor', 'flat');
[nGroups,nBars] = size(y);
hold on
x = vertcat(b.XEndPoints);
errorbar(x,y,errorplus, errorneg,'k','linestyle','none');
hold off