如何在Matlab的条形图中将值置于条形上方?

时间:2019-01-22 13:20:29

标签: matlab plot bar-chart

如何在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');

enter image description here

我可以尝试一些位置推测,但想避免。

1 个答案:

答案 0 :(得分:3)

您可以通过以下方式了解栏的位置

b=bar([y1, y2]);

b.XData为您提供位置,b.BarWidth其宽度,b.BarLayout会告诉您在同一位置是否有多个(用于调整宽度),依此类推。 Read more about the available properties

有了这些信息,您应该可以将text放到任何想要的地方。