For anyone who might be looking to do the same thing, here's my solution. You just have to adjust the value of 'b' based on what your x-values are.
x=[1:3]';
y=round(rand(3,5)*10);
bar(x,y)
[size_x,size_y]=size(y);
a=0;
b=0;
for i1=1:size_x
for j1=1:size_y
a=a+1;
if a==1
b=-0.3;
end
if a==2
b=-0.15;
end
if a==3
b=0;
end
if a==4
b=0.15;
end
if a==5
b=0.3;
end
text((x(i1)+b),y(i1,j1),num2str(y(i1,j1),'%0.1f'),...
'HorizontalAlignment','center',...
'VerticalAlignment','bottom')
if a==5
a=0;
end
end
end