Matlab / Octave饼图分类

时间:2016-08-09 22:11:09

标签: matlab matlab-figure

你们知道如何创建饼图,如果数据点大于或小于某个值,它会在饼图上分类为增加或减少。如果是这样,怎么样? 例如,如果我运行此代码:

a = 0.4004990132;
b = 1.226695443;
c = 0.01709;
r(1) = 1.3975;
for t = 2:25
    r(t) = r(t-1)+a*(b-r(t-1))+c*randn;
end

我是否可以创建一个饼图,其中当r大于r(1)时,它被标记为增加,当它更低时,则减少。因此,饼图将以增加与减少的时间百分比分开。

1 个答案:

答案 0 :(得分:0)

如果您使用问题中的示例r(2:end)中的100%值大于r(1),那么我生成了一些其他示例数据来说明我认为您一直在问的解决方案:

r1 = 0.3; % threshold level
r = rand(25,1); % uniform random values between 0..1
rup = sum(r>r1); % count how many values greater than r1
rdown = sum(r<r1); % count how many values smaller than r1
% plot the precentage as a pie chart:
pie([rup rdown],{sprintf('%2.0f%% Increase',rup/25*100),...
    sprintf('%2.0f%% Decrease',rdown/25*100)})

这将创建: % pie

或类似的东西,因为数据是随机的。