Add text above grouped bars

8 views (last 30 days)
I found a code that adds the numerical values of my bars above the bars in my plot, but I want to add a %-sign after the values, to highlight that the values are measured in percentage.
y1 = [0.0 3.3; 4.8 7.7; 19.3 6.6; 49.4 35.2; 26.5 47.3];
hBar = bar(y1,1);
for k1 = 1:size(y1,2)
ctr(k1,:) = bsxfun(@plus, hBar(1).XData, hBar(k1).XOffset');
ydt(k1,:) = hBar(k1).YData;
text(ctr(k1,:), ydt(k1,:), sprintfc('%.1f', ydt(k1,:)), 'HorizontalAlignment','center', 'VerticalAlignment','bottom', 'FontSize',14, 'Color','black')
Is there any way to do this?
Thank you in advance.

Accepted Answer

Praveen Iyyappan Valsala
Praveen Iyyappan Valsala on 12 Nov 2019
'%%' is the escape sequence for percentage symbol as shown here.
sprintfc('%.1f %%', ydt(k1,:))
  1 Comment
Jesper Nielsen
Jesper Nielsen on 12 Nov 2019
You are my hero. Thank you.

Sign in to comment.

More Answers (0)


Find more on Migrate GUIDE Apps 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!

Translated by