条形图与Matlab中的标签

时间:2016-03-27 18:07:48

标签: matlab bar-chart matlab-figure

如何在Matlab中将当前值的垂直标签添加到bar plot

我想在现在“here”中添加当前值:

enter image description here

1 个答案:

答案 0 :(得分:2)

评论中的question I linked是一种方法。还有其他方法可以自定义条形图,例如参见this article(尽管从HG2开始,内部结构发生了很大变化,因此内部到达并检索我们需要的数据变得更加棘手)。

如果你愿意深入挖掘,这里有一个适用于MATLAB R2014b及更新版本的解决方案(请注意,我正在使用未记录的属性来获取由条形图创建的隐藏的“Face”图形对象): / p>

Y = rand(3,4);
h = bar(Y);
drawnow   % this is needed for some reason!

opts = {'VerticalAlign','middle', 'HorizontalAlign','left', ...
    'FontSize',8, 'Rotation',90};
for i=1:numel(h)
    clr = h(i).Face.ColorData(1:3);
    vd = h(i).Face.VertexData;
    xy = double(vd(1:2,2:4:end) + vd(1:2,4:4:end)) / 2;
    for j=1:size(xy,2)
        text(xy(1,j), xy(2,j), sprintf(' %.2g',xy(2,j)), ...
            'Color','k', opts{:})
    end
end

barplot