如何在matlab中用玫瑰图绘制概率密度?

如何在matlab中用玫瑰图绘制概率密度?,matlab,statistics,histogram,normalization,rose-diagram,Matlab,Statistics,Histogram,Normalization,Rose Diagram,我试图在matlab中用rose函数绘制标准化概率直方图(我不能使用极坐标图,因为我没有最新版本的matlab。我的版本是2015b) 在正常直方图中,我通常这样做: h = histogram(x,'Normalization','probability'); 但这对罗斯不起作用。 如果我尝试将h.值传递给rose plot,这将不起作用,因为rose将其用作数据,而不是值 x=rand(100)*90; xRad = x(:)./180*pi; xRadProb = histogram(x

我试图在matlab中用rose函数绘制标准化概率直方图(我不能使用极坐标图,因为我没有最新版本的matlab。我的版本是2015b)

在正常直方图中,我通常这样做:

h = histogram(x,'Normalization','probability');
但这对罗斯不起作用。 如果我尝试将h.值传递给rose plot,这将不起作用,因为rose将其用作数据,而不是值

x=rand(100)*90;
xRad = x(:)./180*pi;
xRadProb = histogram(xRad,'Normalization','probability');
figure(1)
hax = axes();
rose(hax, xRadProb.Values,10)
有什么建议吗?
非常感谢

看来您需要自己进行规范化。但这很容易。 对于
“概率”
,标准化只是将未标准化的结果(每个箱子的计数)除以数据值的总数

因此,使用两个输出版本或
rose
,标准化,然后使用(在R2015b中)或(在较新的Matlab版本中)进行极坐标图:

[t, r] = rose(xRad, 100); % 100 is desired number of bins. Set as needed
r = r./numel(xRad); % normalize
polar(t, r) % polar plot

作为检查,以下是使用相同数量的箱子进行的
Polarrhistogram
的结果。请注意,在该功能中,箱子根据实际数据范围进行调整,因此需要指定
25
,而不是示例中的
100

polarhistogram(xRad, 25, 'Normalization', 'probability')