Multiple bar plots and error bars

10 views (last 30 days)
Hi,
Could you please help me on how to plot multiple bars (means) and their respective error bars(standard deviations)?
please find example of my data below;
meanA = [1.9000 5.1333 9.6167]
meanB =[2.1069 4.8297 8.8746]
meanC =[1.6632 6.1078 9.9431]
SD_A =[0.1549 0.3983 0.2137]
SD_B =[0.5744 1.0037 0.9494]
SD_C =[0.7757 1.6038 1.5165]
THANKS

Accepted Answer

Star Strider
Star Strider on 13 Feb 2019
Try this:
meanA = [1.9000 5.1333 9.6167];
meanB =[2.1069 4.8297 8.8746];
meanC =[1.6632 6.1078 9.9431];
SD_A =[0.1549 0.3983 0.2137];
SD_B =[0.5744 1.0037 0.9494];
SD_C =[0.7757 1.6038 1.5165];
meanABC = [meanA; meanB; meanC]';
SD_ABC = [SD_A; SD_B; SD_C];
figure
hBar = bar(meanABC, 0.8); % Return ‘bar’ Handle
for k1 = 1:size(meanABC,1)
ctr(k1,:) = bsxfun(@plus, hBar(k1).XData, hBar(k1).XOffset'); % Note: ‘XOffset’ Is An Undocumented Feature, This Selects The ‘bar’ Centres
ydt(k1,:) = hBar(k1).YData; % Individual Bar Heights
end
hold on
errorbar(ctr, ydt, SD_ABC, '.r') % Plot Error Bars
  4 Comments
YoungBae Jeon
YoungBae Jeon on 13 Jan 2021
Thanks a lot !!!! Perfect answer
Star Strider
Star Strider on 13 Jan 2021
YoungBae Jeon — Thank you!

Sign in to comment.

More Answers (1)

StefBu
StefBu on 13 Feb 2019
Hi,
you can use the functions bar and errorbar.
Plot your Mean-Data with bar and your standard deviation with errorbar.
Greetings
Stefan

Community Treasure Hunt

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

Start Hunting!