MATLAB Answers

How to put a numerical value inside a Bar graph?

4 views (last 30 days)
I'd like to know how can I set the values inside the bar plot, just like this:
I obtain the following bar plot using the code above but I can't place values in the correct center position.
b = bar(X,Y);
hold on
b.FaceColor = 'flat';
b.CData(1,:) = [0 0.447 0.741]; % color editing
b.CData(2,:) = [0.850 0.325 0.098];
b.CData(3,:) = [0.466 0.674 0.188];
b.FaceAlpha = .7; % opacity
text(1:length(Y),Y,num2str(Y'),'vert','bottom','horiz','center'); % values position
std = [2.1 4.4 6]; % standard deviation
er = errorbar(X,Y,std);
er.Color = [0 0 0];
er.LineStyle = 'none';
set(gca, 'ytick', []);
box off
Can you help me, please?
Thank you,

Accepted Answer

Star Strider
Star Strider on 29 Nov 2020
Change the text call to:
text(1:length(Y),Y/2,num2str(Y'),'vert','bottom','horiz','center'); % values position
That should work, if I understand correctly what you want to do.


Show 1 older comment
Star Strider
Star Strider on 29 Nov 2020
As always, my pleasure!
There are a few different ways to add the ‘%’:
text(1:length(Y),Y/2,[num2str(Y') ['%';'%';'%']],'vert','bottom','horiz','center'); % values position
text(1:length(Y),Y/2,sprintfc('%g%%',Y),'vert','bottom','horiz','center'); % values position
text(1:length(Y),Y/2,compose('%g%%',Y),'vert','bottom','horiz','center'); % values position
The first concatenates the ‘['%';'%';'%']’ vector to the num2str vector, the second and third use different functions to create a cell array of strings that prints the value with the ‘%’. Since the ‘%’ is a valid cointrol character to those functions, to print one ‘%’ it is necessary to use '%%', (The same is true for other control characters in these and similar functions.)
Sara Macchiavello
Sara Macchiavello on 29 Nov 2020
Thank you very much for your advice and explaination, you're really kind!!
Star Strider
Star Strider on 29 Nov 2020
As always, my pleasure!
I very much appreciate your compliment!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!