如何在matlab中显示直方图上每个值的百分比标签

时间:2013-10-23 17:27:06

标签: matlab histogram

使用the answer to my previous question,我使用以下方法绘制了单元格数组的直方图:

   [nelements,centers]=hist(cellfun(@numel,S));
      numNeighbors = cellfun(@numel,S);
      [nelements,centers]=hist(numNeighbors,unique(numNeighbors))
      pcts = 100 * nelements / sum(nelements)
      figure
      bar(centers,pcts)

enter image description here

在y轴上显示每个x值出现的百分比,是否可以在上面的图像中添加直方图上的百分比数字,这样可以很容易地看到数字?

2 个答案:

答案 0 :(得分:4)

text函数是IMHO最常用的注释对象,因为它接受图形坐标而不是标准化的图形坐标。

K = numel(centers);
for k = 1:K
    text(centers(k),pcts(k),[num2str(pcts(k)) '%'],'HorizontalAlignment','center','VerticalAlignment','bottom')
end

这会将百分比值放在每个条形的顶部。查看text的帮助页面以获得进一步的增强功能,例如控制放置文本的位置,颜色,字体等。

答案 1 :(得分:0)

检查出来

Histogram Percentage

enter image description here