Mercurial > hg > octave-nkf
diff scripts/plot/polar.m @ 7207:71c03c7239fb
[project @ 2007-11-28 02:19:25 by jwe]
author | jwe |
---|---|
date | Wed, 28 Nov 2007 02:20:48 +0000 |
parents | 55ff2d9a27c7 |
children | dd88d61d443f |
line wrap: on
line diff
--- a/scripts/plot/polar.m +++ b/scripts/plot/polar.m @@ -30,34 +30,39 @@ function retval = polar (varargin) - newplot (); + [h, varargin] = __plt_get_axis_arg__ ("loglogerr", varargin{:}); + oldh = gca (); + unwind_protect + axes (h); + newplot (); - ## [h, varargin] = __plt_get_axis_arg__ ("semilogx", varargin{:}); - h = gca (); + nargs = numel (varargin); - nargs = numel (varargin); - - if (nargs == 3) - if (! ischar (varargin{3})) - error ("polar: third argument must be a string"); + if (nargs == 3) + if (! ischar (varargin{3})) + error ("polar: third argument must be a string"); + endif + tmp = __plr2__ (h, varargin{:}); + elseif (nargin == 2) + if (ischar (varargin{2})) + tmp = __plr1__ (h, varargin{:}); + else + fmt = ""; + tmp = __plr2__ (h, varargin{:}, fmt); + endif + elseif (nargin == 1) + fmt = ""; + tmp = __plr1__ (h, varargin{:}, fmt); + else + print_usage (); endif - tmp = __plr2__ (h, varargin{:}); - elseif (nargin == 2) - if (ischar (varargin{2})) - tmp = __plr1__ (h, varargin{:}); - else - fmt = ""; - tmp = __plr2__ (h, varargin{:}, fmt); + + if (nargout > 0) + retval = tmp; endif - elseif (nargin == 1) - fmt = ""; - tmp = __plr1__ (h, varargin{:}, fmt); - else - print_usage (); - endif - if (nargout > 0) - retval = tmp; - endif + unwind_protect_cleanup + axes (oldh); + end_unwind_protect endfunction