Mercurial > octave-nkf
comparison scripts/plot/pareto.m @ 10549:95c3e38098bf
Untabify .m scripts
author | Rik <code@nomad.inbox5.com> |
---|---|
date | Fri, 23 Apr 2010 11:28:50 -0700 |
parents | 5247e89688e1 |
children | be55736a0783 |
comparison
equal
deleted
inserted
replaced
10548:479536c5bb10 | 10549:95c3e38098bf |
---|---|
62 x = varargin {1}(:).'; | 62 x = varargin {1}(:).'; |
63 if (nargin == 2) | 63 if (nargin == 2) |
64 y = varargin {2}(:).'; | 64 y = varargin {2}(:).'; |
65 if (! iscell (y)) | 65 if (! iscell (y)) |
66 if (ischar (y)) | 66 if (ischar (y)) |
67 y = cellstr (y); | 67 y = cellstr (y); |
68 else | 68 else |
69 y = cellfun (@(x) num2str (x), num2cell (y), "UniformOutput", false); | 69 y = cellfun (@(x) num2str (x), num2cell (y), "UniformOutput", false); |
70 endif | 70 endif |
71 endif | 71 endif |
72 else | 72 else |
73 y = cellfun (@(x) int2str (x), num2cell (1 : numel(x)), | 73 y = cellfun (@(x) int2str (x), num2cell (1 : numel(x)), |
74 "UniformOutput", false); | 74 "UniformOutput", false); |
75 endif | 75 endif |
76 | 76 |
77 [x, idx] = sort (x, "descend"); | 77 [x, idx] = sort (x, "descend"); |
78 y = y (idx); | 78 y = y (idx); |
79 cdf = cumsum (x); | 79 cdf = cumsum (x); |
81 cdf = cdf ./ maxcdf; | 81 cdf = cdf ./ maxcdf; |
82 cdf95 = cdf - 0.95; | 82 cdf95 = cdf - 0.95; |
83 idx95 = find(sign(cdf95(1:end-1)) != sign(cdf95(2:end)))(1); | 83 idx95 = find(sign(cdf95(1:end-1)) != sign(cdf95(2:end)))(1); |
84 | 84 |
85 [ax, hbar, hline] = plotyy (1 : idx95, x (1 : idx95), | 85 [ax, hbar, hline] = plotyy (1 : idx95, x (1 : idx95), |
86 1 : length(cdf), 100 .* cdf, | 86 1 : length(cdf), 100 .* cdf, |
87 @bar, @plot); | 87 @bar, @plot); |
88 | 88 |
89 axis (ax(1), [1 - 0.6, idx95 + 0.6, 0, maxcdf]); | 89 axis (ax(1), [1 - 0.6, idx95 + 0.6, 0, maxcdf]); |
90 axis (ax(2), [1 - 0.6, idx95 + 0.6, 0, 100]); | 90 axis (ax(2), [1 - 0.6, idx95 + 0.6, 0, 100]); |
91 set (ax(2), "ytick", [0, 20, 40, 60, 80, 100], | 91 set (ax(2), "ytick", [0, 20, 40, 60, 80, 100], |
92 "yticklabel", {"0%", "20%", "40%", "60%", "80%", "100%"}); | 92 "yticklabel", {"0%", "20%", "40%", "60%", "80%", "100%"}); |