Multiple bar plots and error bars

3 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!