comparison scripts/plot/comet.m @ 11378:a0278a856516

comet: if axes are specified, switch temporarily
author John W. Eaton <jwe@octave.org>
date Fri, 17 Dec 2010 14:08:36 -0500
parents 2c356a35d7f5
children d27008c32e0d
comparison
equal deleted inserted replaced
11377:473e4adaa5a2 11378:a0278a856516
36 ## Author: Ben Abbott bpabbott@mac.com 36 ## Author: Ben Abbott bpabbott@mac.com
37 ## Created: 2008-09-21 37 ## Created: 2008-09-21
38 38
39 function comet (varargin) 39 function comet (varargin)
40 40
41 [h, varargin, nargin] = __plt_get_axis_arg__ ("compass", varargin{:});
42
41 if (nargin == 0) 43 if (nargin == 0)
42 print_usage (); 44 print_usage ();
43 elseif (numel (varargin{1}) == 1 && ishandle (varargin{1}) 45 elseif (nargin == 1)
44 && strcmpi (get (varargin{1}, "type"), "axes"))
45 axes (varargin{1});
46 varargin = varargin(2:end);
47 numargin = nargin - 1;
48 else
49 numargin = nargin;
50 endif
51
52 p = 0.1;
53 if (numargin == 1)
54 y = varargin{1}; 46 y = varargin{1};
55 x = 1:numel(y); 47 x = 1:numel(y);
56 elseif (numargin == 2) 48 p = 0.1;
49 elseif (nargin == 2)
57 x = varargin{1}; 50 x = varargin{1};
58 y = varargin{2}; 51 y = varargin{2};
59 elseif (numargin == 3) 52 p = 0.1;
53 elseif (nargin == 3)
60 x = varargin{1}; 54 x = varargin{1};
61 y = varargin{2}; 55 y = varargin{2};
62 p = varargin{3}; 56 p = varargin{3};
63 else
64 print_usage ();
65 endif 57 endif
66 58
67 theaxis = [min(x), max(x), min(y), max(y)]; 59 oldh = gca ();
68 num = numel (y); 60 unwind_protect
69 dn = round (num/10); 61 axes (h);
70 for n = 1:(num+dn); 62 newplot ();
71 m = n - dn; 63 theaxis = [min(x), max(x), min(y), max(y)];
72 m = max ([m, 1]); 64 num = numel (y);
73 k = min ([n, num]); 65 dn = round (num/10);
74 h = plot (x(1:m), y(1:m), "r", x(m:k), y(m:k), "g", x(k), y(k), "ob"); 66 for n = 1:(num+dn);
75 axis (theaxis); 67 m = n - dn;
76 drawnow (); 68 m = max ([m, 1]);
77 pause (p); 69 k = min ([n, num]);
78 endfor 70 h = plot (x(1:m), y(1:m), "r", x(m:k), y(m:k), "g", x(k), y(k), "ob");
71 axis (theaxis);
72 drawnow ();
73 pause (p);
74 endfor
75 unwind_protect_cleanup
76 axes (oldh);
77 end_unwind_protect
79 78
80 endfunction 79 endfunction
81 80
82 %!demo 81 %!demo
83 %! clf 82 %! clf