如何在 matlab 的 "histogram" 函数中归一化 Y 轴
How to normalize Y axis in "histogram" function in matlab
我正在使用 histogram 命令在一个图中绘制 3 个直方图,我已经使用 histogram 命令完成了功能,我不想为旧的 hist 命令重写它。但是我无法标准化 Y 轴,因为 h.Values 向量是只读的。
h=histogram(data,'Normalization','pdf');
h.Values=(h.Values-min(h.Values))/(max(h.Values)-min(h.Values);
有人可以帮助我吗?谢谢
在第一条评论后编辑:
是的,我阅读了 matlab 帮助。在直方图图像示例中,我在 Y 轴上有 PDF,但值从 0 到 3.5。我需要从 0 标准化到 1。当我将 'Normalization' 参数与 'probability' 一起使用时,我得到从 0 到 0.3 的直方图。我只需要 PDF,但是从 0 到 1。
histogram example
您可以使用另一个 'new' 函数:
[y, x]=histcounts (x);
x=x(1:end-1)+diff(x/2)
然后您可以根据需要对 y 进行归一化。此函数也具有与直方图相同的归一化参数。
我正在使用 histogram 命令在一个图中绘制 3 个直方图,我已经使用 histogram 命令完成了功能,我不想为旧的 hist 命令重写它。但是我无法标准化 Y 轴,因为 h.Values 向量是只读的。
h=histogram(data,'Normalization','pdf');
h.Values=(h.Values-min(h.Values))/(max(h.Values)-min(h.Values);
有人可以帮助我吗?谢谢
在第一条评论后编辑: 是的,我阅读了 matlab 帮助。在直方图图像示例中,我在 Y 轴上有 PDF,但值从 0 到 3.5。我需要从 0 标准化到 1。当我将 'Normalization' 参数与 'probability' 一起使用时,我得到从 0 到 0.3 的直方图。我只需要 PDF,但是从 0 到 1。 histogram example
您可以使用另一个 'new' 函数:
[y, x]=histcounts (x);
x=x(1:end-1)+diff(x/2)
然后您可以根据需要对 y 进行归一化。此函数也具有与直方图相同的归一化参数。