繁体   English   中英

Matlab中带有标签的条形图

[英]Bar plot with labels in Matlab

如何在Matlab中简单地将当前值的垂直标签添加到条形图中?

我想在“此处”为当前位置添加当前值:

在此处输入图片说明

在评论中链接到的问题是一种解决方法。 还有其他自定义条形图的方法,例如,请参见本文 (尽管从HG2开始,内部结构已经发生了很大变化,因此进入内部并检索我们所需的数据变得更加棘手)。

如果您愿意深入研究,以下是一种适用于MATLAB R2014b及更高版本的解决方案(请注意,我正在使用未记录的属性来获取由条形图创建的隐藏的“ Face”图形对象):

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM