如何在Matlab的条形图中将值置于条形上方?
请注意,每个位置的宽度未知的位置可能会有多个条,所以您不能只做text
y1 = [1; 2; 3; 4; 5];
y2 = [5; 4; 3; 2; 1];
bar([y1, y2]);
text(0.75:1:(length(y1)-0.25), y1, num2str(y1,'%.0f'), 'VerticalAlignment', 'bottom', 'HorizontalAlignment', 'center');
text(1.0:1:(length(y2)+0.0), y2, num2str(y2,'%.0f'), 'VerticalAlignment', 'bottom', 'HorizontalAlignment', 'center');
我可以尝试一些位置推测,但想避免。
答案 0 :(得分:3)
您可以通过以下方式了解栏的位置
b=bar([y1, y2]);
b.XData
为您提供位置,b.BarWidth
其宽度,b.BarLayout
会告诉您在同一位置是否有多个(用于调整宽度),依此类推。 Read more about the available properties。
有了这些信息,您应该可以将text
放到任何想要的地方。