Mercurial > hg > octave-thorsten
diff scripts/plot/polar.m @ 7321:359f464342b3
[project @ 2007-12-18 03:48:03 by jwe]
author | jwe |
---|---|
date | Tue, 18 Dec 2007 03:48:04 +0000 |
parents | 5389a52df87b |
children | 1aeb39118764 |
line wrap: on
line diff
--- a/scripts/plot/polar.m +++ b/scripts/plot/polar.m @@ -30,34 +30,48 @@ function retval = polar (varargin) - [h, varargin] = __plt_get_axis_arg__ ("polar", varargin{:}); + [h, varargin, nargs] = __plt_get_axis_arg__ ("polar", varargin{:}); oldh = gca (); unwind_protect axes (h); newplot (); - nargs = numel (varargin); - if (nargs == 3) if (! ischar (varargin{3})) error ("polar: third argument must be a string"); endif tmp = __plr2__ (h, varargin{:}); - elseif (nargin == 2) + maxr = max (varargin {2} (:)); + elseif (nargs == 2) if (ischar (varargin{2})) tmp = __plr1__ (h, varargin{:}); + if (iscomplex(varargin{1})) + maxr = max (imag(varargin{1})(:)); + else + maxr = max (varargin{1}(:)); + endif else fmt = ""; tmp = __plr2__ (h, varargin{:}, fmt); + maxr = max (varargin {2} (:)); endif - elseif (nargin == 1) + elseif (nargs == 1) fmt = ""; tmp = __plr1__ (h, varargin{:}, fmt); + if (iscomplex(varargin{1})) + maxr = max (imag(varargin{1})(:)); + else + maxr = max (varargin{1}(:)); + endif else print_usage (); endif + set (h, "xlim", [-maxr, maxr], "ylim", [-maxr, maxr], + "xaxislocation", "zero", "yaxislocation", "zero", + "dataaspectratio", [1, 1, 1]); + if (nargout > 0) retval = tmp; endif