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%"});