how to add percentage symbol (%) in a label
조회 수: 143 (최근 30일)
이전 댓글 표시
Hi,
I would like to plot a bargraph and add labels to the bars, showing a numerical value followed by the percentage symbol (%). Please find below a MWE:
x=table{:,"Xvalues"};
y=table{:,"Yvalues"};
barGraph=bar(x,y,0.9);
xtips1=barGraph(1).XEndPoints;
ytips1=barGraph(1).YEndPoints;
labels1=sprintfc('%.2f',table.labels);
text(xtips1,ytips1,labels1,'Rotation',45);
I know I can do that by defining 'labels1' as a string and then adding ' + '%' ' into the text command, as in:
x=table{:,"Xvalues"};
y=table{:,"Yvalues"};
barGraph=bar(x,y,0.9);
xtips1=barGraph(1).XEndPoints;
ytips1=barGraph(1).YEndPoints;
labels1=string(table.labels);
text(xtips1,ytips1,labels1 + '%','Rotation',45);
in this case, though, I cannot cut the values in 'labels1' after the second decimanl digit.
Thanks
댓글 수: 2
Matt J
2023년 10월 15일
We do not have your "table" variable and so cannot run the example. Also, "table" is inadvisable as a name for the varable, since it is also the name of a command.
채택된 답변
Star Strider
2023년 10월 15일
The approach seems to work here using synthetic data —
% x=table{:,"Xvalues"};
% y=table{:,"Yvalues"};
x = 1:5;
y = round(rand(1,5)*100);
barGraph=bar(x,y,0.9);
labels = y;
xtips1=barGraph(1).XEndPoints;
ytips1=barGraph(1).YEndPoints;
% labels1=string(table.labels);
labels1 = string(labels);
text(xtips1,ytips1,labels1 + '%','Rotation',45);
If this does not work with your data, you will need to supply it.
.
댓글 수: 2
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!