我正在尝试绘制类似于此图(显然是用R制作)但在Matlab中绘制的图:
几个直方图(而不是条形图)围绕一个圆圈组织
我的数据可以由M个组表示,其中N个数据,每个组的N长度不同。我希望围绕一个圆圈的M个直方图以一种很好的方式将它们可视化。
Group1 = rand(1,20); Hist1 = hist(Group1)
Group2 = rand(1,10); Hist2 = hist(Group2)
Group3 = rand(1,40); Hist3 = hist(Group3)
答案 0 :(得分:0)
您可以使用polarhistogram
做类似的事情;
下面的代码不是很通用,但是可以帮助您入门:
N1 = 20; Group1 = rand(1,N1);
N2 = 10; Group2 = rand(1,N2);
N3 = 40; Group3 = rand(1,N3);
M = 3; % Number of groups
aWidth = 2*pi/M; % Area width in unit circle for each group
% Remap data values to area
Group1 = Group1*aWidth + 0*aWidth;
Group2 = Group2*aWidth + 1*aWidth;
Group3 = Group3*aWidth + 2*aWidth;
polarhistogram(Group1, N1/5, 'FaceColor','red', 'BinLimits', [0 1]*aWidth); hold on;
polarhistogram(Group2, N2/5, 'FaceColor','blue', 'BinLimits', [1 2]*aWidth);
polarhistogram(Group3, N3/5, 'FaceColor','green', 'BinLimits', [2 3]*aWidth);
legend('Group1', 'Group2', 'Group3');