Show Values on bar graph; above bar when positive values, below bar when positive values
4 次查看(过去 30 天)
显示 更早的评论
Hi,
with the code below I built a bar graph and inserted the values on each bar.
xtips2 = b(1).XEndPoints;
ytips2 = b(1).YEndPoints;
labels2 = string(b(1).YData);
text(xtips2,ytips2,labels2,'HorizontalAlignment','center',...
'VerticalAlignment','bottom')
is there a way of inserting all negative values below the bar and positive values above?
Many thanks for your reply.
0 个评论
采纳的回答
Mehmed Saad
2020-4-22
编辑:Mehmed Saad
2020-4-22
figure,
vals = randi([-10 10],1,10);
x = 1:10;
h = bar(x,vals);ylim([-12 12])
lbs1 = cellfun(@num2str,num2cell(vals),'UniformOutput',false);
cond = vals>0;
text(x(cond),vals(cond),lbs1(cond),'HorizontalAlignment','center',...
'VerticalAlignment','bottom')
text(x(~cond),vals(~cond),lbs1(~cond),'HorizontalAlignment','center',...
'VerticalAlignment','top')
0 个评论
更多回答(1 个)
Johannes Hougaard
2020-4-22
Just add an additional line, indexing the text according to ytips2
xtips2 = b(1).XEndPoints;
ytips2 = b(1).YEndPoints;
labels2 = string(b(1).YData);
text(xtips2(ytips2 > 0),ytips2(ytips2 > 0),labels2(ytips2 > 0),'HorizontalAlignment','center',...
'VerticalAlignment','bottom')
text(xtips2(ytips2 < 0),ytips2(ytips2 < 0),labels2(ytips2 < 0),'HorizontalAlignment','center',...
'VerticalAlignment','top')
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graph and Network Algorithms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!