How do i put in a bar group the value of each bar on top?
2 views (last 30 days)
Show older comments

Hi, I have a grouped bar graph and i want to add text off the value on the top of each bar in each group.
Example :
Y_as = [ 165 160 121 ; 59 84 62 ; 106 76 58 ]
X_as = categorical({'1. apples & pears' , '2. apples', '3. pears'})
HB = bar(X_as , Y_as , 'group')
%Result is in the image
%I know you need to put your numbers to a string bij @num2str but thats it.
%Do i use a for loop?
If somewhone can help me please give me also some comment why you use that code.
Thanks in advance
0 Comments
Accepted Answer
KL
on 20 Nov 2017
Edited: KL
on 20 Nov 2017
Try this,
Y_as = [ 165 160 121 ; 59 84 62 ; 106 76 58 ] ;
X_as = categorical({'1. apples & pears' , '2. apples', '3. pears'});
HB = bar(X_as , Y_as , 'group');
a = (1:size(Y_as,1)).';
x = [a-0.25 a a+0.25];
for k=1:size(Y_as,1)
for m = 1:size(Y_as,2)
text(x(k,m),Y_as(k,m),num2str(Y_as(k,m),'%0.2f'),...
'HorizontalAlignment','center',...
'VerticalAlignment','bottom')
end
end
More Answers (1)
See Also
Categories
Find more on Environment and Settings 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!