bars with mean and std on them

2 views (last 30 days)
talayeh ghodsi
talayeh ghodsi on 9 Dec 2020
Edited: Timo Dietz on 10 Dec 2020
hi every body. i need to plot bar of 2 groups in x axis each containing 3 type of datas with mean and std on them. but i have error in the following code. could anybody help me please?
Y=[32.1 21.3 53.4;10.4 9.1 23.5]; %% mean values
X = categorical({'whole V','Proposed method'});
X = reordercats(X,{'whole V','Proposed method'});
Xv = 1:numel(X);
STD_low=[0.73 0.217 0.529;0.161 0.112 0.131]; %% standard deviations
xtips1 = b(1).XEndPoints;
ytips1 = b(1).YEndPoints;
for k1 = 1:size(Y,2)
ctr(k1,:) = bsxfun(@plus, b(k1).XData, b(k1).XOffset');
ydt(k1,:) = b(k1).YData;
hold on
heb = errorbar(ctr, ydt, STD_low.', STD_high.', '.k');
for k = 1:numel(heb)
heb(k).MarkerSize = 1;
labels1 = string(b(1).YData);
xtips2 = b(2).XEndPoints;
ytips2 = b(2).YEndPoints;
labels2 = string(b(2).YData);
legend('MAD', 'HD','DSC');
xlabel('Method of best match slice achievement')
ylabel('Mean&Standard deviation (mm)')

Accepted Answer

Timo Dietz
Timo Dietz on 10 Dec 2020
Edited: Timo Dietz on 10 Dec 2020
replace the XEndPoints/YEndPoints by XData(end)/YData(end):
xtips1 = b(1).XData(end);
ytips1 = b(1).YData(end);
Btw, xticklabels(X) won't work. Either set xticklabels('auto') or xticklabels(b(1).XData)

More Answers (0)


Find more on Data Distribution Plots in Help Center and File Exchange


Community Treasure Hunt

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

Start Hunting!