Matlab中带标签的条形图

Matlab中带标签的条形图,matlab,bar-chart,matlab-figure,Matlab,Bar Chart,Matlab Figure,如何简单地将当前值的垂直标签添加到Matlab中 我想添加当前值,其中现在的“here”是: 注释中的to是一种方法。还有其他定制条形图的方法,例如see(虽然从HG2开始,内部结构已经发生了很大的变化,因此要进入内部并检索我们需要的数据就变得更加棘手) 如果您愿意深入研究,这里有一个解决方案可以与MATLAB R2014b和更新版本一起使用(注意,我使用未记录的属性来获取由条形图创建的隐藏的“面”图形对象): 您必须创建文本图形对象,如下所示: Y = rand(3,4); h = bar(Y

如何简单地将当前值的垂直标签添加到Matlab中

我想添加当前值,其中现在的“here”是:

注释中的to是一种方法。还有其他定制条形图的方法,例如see(虽然从HG2开始,内部结构已经发生了很大的变化,因此要进入内部并检索我们需要的数据就变得更加棘手)

如果您愿意深入研究,这里有一个解决方案可以与MATLAB R2014b和更新版本一起使用(注意,我使用未记录的属性来获取由条形图创建的隐藏的“面”图形对象):


您必须创建文本图形对象,如下所示:
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