Matlab/Octave 饼图分类
Matlab/Octave Pie Chart Categorization
你们知道我如何创建一个饼图吗?如果一个数据点大于或小于一个值,它在饼图上被归类为增加或减少。如果是这样,如何?
例如,如果我 运行 此代码:
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)
时,它被标记为增加,当它较低时,被标记为减少。这样饼图将按增加与减少的时间百分比分开。
如果您使用问题中的示例,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)})
这将创建:
或类似的东西,因为数据是随机的。
你们知道我如何创建一个饼图吗?如果一个数据点大于或小于一个值,它在饼图上被归类为增加或减少。如果是这样,如何? 例如,如果我 运行 此代码:
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)
时,它被标记为增加,当它较低时,被标记为减少。这样饼图将按增加与减少的时间百分比分开。
如果您使用问题中的示例,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)})
这将创建:
或类似的东西,因为数据是随机的。