comparison scripts/plot/area.m @ 7215:dd88d61d443f

[project @ 2007-11-29 16:44:45 by jwe]
author jwe
date Thu, 29 Nov 2007 16:46:40 +0000
parents fdb3840cec66
children 9a6f4713f765 3342d1a7c4c9
comparison
equal deleted inserted replaced
7214:86d0b16f2bb2 7215:dd88d61d443f
38 ## @seealso{plot, patch} 38 ## @seealso{plot, patch}
39 ## @end deftypefn 39 ## @end deftypefn
40 40
41 function h = area (varargin) 41 function h = area (varargin)
42 42
43 [ax, varargin, nargin] = __plt_get_axis_arg__ ("area", varargin{:});
44
43 if (nargin > 0) 45 if (nargin > 0)
44 idx = 1; 46 idx = 1;
45 ax = [];
46 x = y = []; 47 x = y = [];
47 bv = 0; 48 bv = 0;
48 args = {}; 49 args = {};
49 ## Check for axes parent.
50 if (ishandle (varargin{idx})
51 && strcmp (get (varargin{idx}, "type"), "axes"))
52 ax = varargin{idx};
53 idx++;
54 endif
55 ## Check for (X) or (X,Y) arguments and possible base value. 50 ## Check for (X) or (X,Y) arguments and possible base value.
56 if (nargin >= idx && ismatrix (varargin{idx})) 51 if (nargin >= idx && ismatrix (varargin{idx}))
57 y = varargin{idx}; 52 y = varargin{idx};
58 idx++; 53 idx++;
59 if (nargin >= idx) 54 if (nargin >= idx)
85 x = repmat ([1:size(y, 1)]', 1, size (y, 2)); 80 x = repmat ([1:size(y, 1)]', 1, size (y, 2));
86 elseif (isvector (x)) 81 elseif (isvector (x))
87 x = repmat (x(:), 1, size (y, 2)); 82 x = repmat (x(:), 1, size (y, 2));
88 endif 83 endif
89 84
90 if (isempty (ax)) 85 oldax = gca ();
91 tmp = __area__ (gca (), x, y, bv, args{:}); 86 unwind_protect
92 else 87 axes (ax);
93 tmp = __area__ (ax, x, y, bv, args{:}); 88 tmp = __area__ (ax, x, y, bv, args{:});
94 endif 89 unwind_protect_cleanup
90 axes (oldax);
91 end_unwind_protect
95 92
96 if (nargout > 0) 93 if (nargout > 0)
97 h = tmp; 94 h = tmp;
98 endif 95 endif
99 else 96 else