Y data on the bar plot
13 次查看(过去 30 天)
显示 更早的评论
I am using Bar plot for plotting the following code i am using
ABC=xlsread('ABC.xlsx');
figure(1);
for i= 0:3
A= bar(ABC(:,i+1:i+3))
set(gca,'XTicklabel',{'25','50','75','100'})
xlabel('time')
for j=1:3
text(A(i),sprintf('(%.0f)',A(i)))
end
end
But I want the y data on it how can i proceed any hint i am using text command...Any changes in code can anyone suggest Thank you in advance ..Also i am using Matlab 2016b version
0 个评论
采纳的回答
Ankit
2022-1-19
text(A(i),sprintf('(%.0f)',A(i))) - your syntax seems doesn't right. Please follow the following syntax to defined values of y on your bar plot.
text(x,y,'string','PropertyName',PropertyValue....).
I tested this code on 2014b. Though it can be easily done with later version.
close all;
x = [25 50 75];
vals = [6000 3000 3100;7000 3100 3200;7900 3100 3200];
b = bar(x,vals);
dx = [-5, 0 , 5];
for i = 1:length(x)
for j = 1:length(vals)
text(x(i)+dx(j),vals(i,j),num2str(vals(i,j),'%.0f'),...
'HorizontalAlignment','center',...
'VerticalAlignment','bottom')
end
end
更多回答(2 个)
Simon Chan
2022-1-19
编辑:Simon Chan
2022-1-19
Why not using the example in the documentation by getting the EndPoints as follows:
clear;
clc;
x = [25 50 75];
vals = [6000 3000 3100;7000 3100 3200;7900 3100 3200];
b = bar(x,vals);
dx = [-5, 0 , 5];
text(cat(2,b.XEndPoints),cat(2,b.YEndPoints),string(cat(2,b.YData)),'HorizontalAlignment','center',...
'VerticalAlignment','bottom')
2 个评论
Ankit
2022-1-19
@Simon Chan: 'XEndPoints' property is available from 2019b version I think. And he is using 2016b.
KSSV
2022-1-19
n = 5 ;
x = (1:n) ;
y = randi(n,n,1) ;
bar(x,y)
hold on
text(x,y+0.1,num2str(y))
ylim([0 6])
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!