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!

