Mercurial > hg > octave-nkf
annotate scripts/plot/draw/polar.m @ 20496:42b7d7758c4a
Remove axes "interpreter" property (bug #45388)
* graphics.in.h (axes::properties): remove interpreter property
* genpropdoc.m: remove "interpreter" from the list of axes properties
* legend.m: create legend axes specific "interpreter" property
* polar.m: bind labels "interpreter" to the axes "ticklabelinterpreter"
* cla.m: use "ticklabelinterpreter" in test
* __go_draw_axes__.m: use "ticklabelinterpreter" property for axes objects
author | Pantxo Diribarne <pantxo.diribarne@gmail.com> |
---|---|
date | Thu, 25 Jun 2015 00:22:32 +0200 |
parents | 4197fc428c7d |
children | e2feb806332a |
rev | line source |
---|---|
19898
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
19794
diff
changeset
|
1 ## Copyright (C) 1993-2015 John W. Eaton |
2313 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7016 | 7 ## the Free Software Foundation; either version 3 of the License, or (at |
8 ## your option) any later version. | |
2313 | 9 ## |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
7016 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
245 | 18 |
3368 | 19 ## -*- texinfo -*- |
10730
390d93e20531
Plot commands now print usage information without errors
Rik <octave@nomad.inbox5.com>
parents:
10549
diff
changeset
|
20 ## @deftypefn {Function File} {} polar (@var{theta}, @var{rho}) |
390d93e20531
Plot commands now print usage information without errors
Rik <octave@nomad.inbox5.com>
parents:
10549
diff
changeset
|
21 ## @deftypefnx {Function File} {} polar (@var{theta}, @var{rho}, @var{fmt}) |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
22 ## @deftypefnx {Function File} {} polar (@var{cplx}) |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
23 ## @deftypefnx {Function File} {} polar (@var{cplx}, @var{fmt}) |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
24 ## @deftypefnx {Function File} {} polar (@var{hax}, @dots{}) |
10730
390d93e20531
Plot commands now print usage information without errors
Rik <octave@nomad.inbox5.com>
parents:
10549
diff
changeset
|
25 ## @deftypefnx {Function File} {@var{h} =} polar (@dots{}) |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
26 ## Create a 2-D plot from polar coordinates @var{theta} and @var{rho}. |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
27 ## |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
28 ## If a single complex input @var{cplx} is given then the real part is used |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
29 ## for @var{theta} and the imaginary part is used for @var{rho}. |
2311 | 30 ## |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
31 ## The optional argument @var{fmt} specifies the line format in the same way |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
32 ## as @code{plot}. |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
33 ## |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17072
diff
changeset
|
34 ## If the first argument @var{hax} is an axes handle, then plot into this axis, |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17072
diff
changeset
|
35 ## rather than the current axes returned by @code{gca}. |
14001
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
12789
diff
changeset
|
36 ## |
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
12789
diff
changeset
|
37 ## The optional return value @var{h} is a graphics handle to the created plot. |
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
12789
diff
changeset
|
38 ## |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
39 ## Implementation Note: The polar axis is drawn using line and text objects |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
40 ## encapsulated in an hggroup. The hggroup properties are linked to the |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
41 ## original axes object such that altering an appearance property, for example |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
42 ## @code{fontname}, will update the polar axis. Two new properties are |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
43 ## added to the original axes--@code{rtick}, @code{ttick}--which replace |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
44 ## @code{xtick}, @code{ytick}. The first is a list of tick locations in the |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
45 ## radial (rho) direction; The second is a list of tick locations in the |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
46 ## angular (theta) direction specified in degrees, i.e., in the range 0--359. |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
47 ## @seealso{rose, compass, plot} |
3368 | 48 ## @end deftypefn |
4 | 49 |
2314 | 50 ## Author: jwe |
51 | |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
52 function h = polar (varargin) |
4 | 53 |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
54 [hax, varargin, nargs] = __plt_get_axis_arg__ ("polar", varargin{:}); |
7216 | 55 |
10730
390d93e20531
Plot commands now print usage information without errors
Rik <octave@nomad.inbox5.com>
parents:
10549
diff
changeset
|
56 if (nargs < 1) |
14846
460a3c6d8bf1
maint: Use Octave coding convention for cuddled parenthis in function calls with empty argument lists.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
57 print_usage (); |
10730
390d93e20531
Plot commands now print usage information without errors
Rik <octave@nomad.inbox5.com>
parents:
10549
diff
changeset
|
58 endif |
390d93e20531
Plot commands now print usage information without errors
Rik <octave@nomad.inbox5.com>
parents:
10549
diff
changeset
|
59 |
17211
87ba70043bfc
Don't use ifelse in plot fcns to avoid unnecessary fcn evaluations.
Rik <rik@octave.org>
parents:
17190
diff
changeset
|
60 oldfig = []; |
17301
68bcac3c043a
Correct inversion accidentally introduced in cset 87ba70043bfc.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
61 if (! isempty (hax)) |
17211
87ba70043bfc
Don't use ifelse in plot fcns to avoid unnecessary fcn evaluations.
Rik <rik@octave.org>
parents:
17190
diff
changeset
|
62 oldfig = get (0, "currentfigure"); |
87ba70043bfc
Don't use ifelse in plot fcns to avoid unnecessary fcn evaluations.
Rik <rik@octave.org>
parents:
17190
diff
changeset
|
63 endif |
7207 | 64 unwind_protect |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
65 hax = newplot (hax); |
3063 | 66 |
7207 | 67 if (nargs == 3) |
68 if (! ischar (varargin{3})) | |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
69 error ("polar: FMT argument must be a string"); |
7207 | 70 endif |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
71 htmp = __plr2__ (hax, varargin{:}); |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
72 maxr = max (varargin{2}(:)); |
7321 | 73 elseif (nargs == 2) |
7207 | 74 if (ischar (varargin{2})) |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
75 htmp = __plr1__ (hax, varargin{:}); |
14868
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14846
diff
changeset
|
76 if (iscomplex (varargin{1})) |
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14846
diff
changeset
|
77 maxr = max (imag (varargin{1})(:)); |
10549 | 78 else |
79 maxr = max (varargin{1}(:)); | |
80 endif | |
7207 | 81 else |
10549 | 82 fmt = ""; |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
83 htmp = __plr2__ (hax, varargin{:}, fmt); |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
84 maxr = max (varargin{2}(:)); |
7207 | 85 endif |
7321 | 86 elseif (nargs == 1) |
7207 | 87 fmt = ""; |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
88 htmp = __plr1__ (hax, varargin{:}, fmt); |
14868
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14846
diff
changeset
|
89 if (iscomplex (varargin{1})) |
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14846
diff
changeset
|
90 maxr = max (imag (varargin{1})(:)); |
7321 | 91 else |
10549 | 92 maxr = max (varargin{1}(:)); |
7321 | 93 endif |
7207 | 94 else |
95 print_usage (); | |
934 | 96 endif |
7207 | 97 |
19077
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
98 if (! ishold (hax)) |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
99 hg = hggroup (hax, "tag", "polar_grid", "handlevisibility", "off"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
100 |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
101 set (hax, "visible", "off", "plotboxaspectratio", [1, 1, 1], |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
102 "zlim", [-1 1]); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
103 |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
104 if (! isprop (hax, "rtick")) |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
105 addproperty ("rtick", hax, "data"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
106 endif |
7321 | 107 |
19077
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
108 set (hax, "rtick", __calc_rtick__ (hax, maxr)); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
109 |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
110 ## add t(heta)tick |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
111 if (! isprop (hax, "ttick")) |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
112 addproperty ("ttick", hax, "data"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
113 endif |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
114 |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
115 ## theta(angular) ticks in degrees |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
116 set (hax, "ttick", 0:30:330); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
117 |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
118 __update_polar_grid__ (hax, [], hg); |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
119 |
19077
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
120 set (hg, "deletefcn", {@resetaxis, hax}); |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
121 |
19077
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
122 addlistener (hax, "rtick", {@__update_polar_grid__, hg}); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
123 addlistener (hax, "ttick", {@__update_polar_grid__, hg}); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
124 addlistener (hax, "color", {@__update_patch__, hg}); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
125 addlistener (hax, "fontangle", {@__update_text__, hg, "fontangle"}); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
126 addlistener (hax, "fontname", {@__update_text__, hg, "fontname"}); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
127 addlistener (hax, "fontsize", {@__update_text__, hg, "fontsize"}); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
128 addlistener (hax, "fontunits", {@__update_text__, hg, "fontunits"}); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
129 addlistener (hax, "fontweight", {@__update_text__, hg, "fontweight"}); |
20496
42b7d7758c4a
Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19898
diff
changeset
|
130 addlistener (hax, "ticklabelinterpreter", |
42b7d7758c4a
Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19898
diff
changeset
|
131 {@__update_text__, hg, "interpreter"}); |
19077
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
132 addlistener (hax, "layer", {@__update_layer__, hg}); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
133 addlistener (hax, "gridlinestyle",{@__update_lines__,hg,"gridlinestyle"}); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
134 addlistener (hax, "linewidth", {@__update_lines__, hg, "linewidth"}); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
135 else |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
136 hg = findall (hax, "tag", "polar_grid"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
137 if (! isempty (hg)) |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
138 oldrtick = max (get (hax, "rtick")); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
139 if (maxr > oldrtick) |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
140 set (hax, "rtick", __calc_rtick__ (hax, maxr)); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
141 endif |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
142 endif |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
143 endif |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
144 |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
145 unwind_protect_cleanup |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
146 if (! isempty (oldfig)) |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
147 set (0, "currentfigure", oldfig); |
934 | 148 endif |
7207 | 149 end_unwind_protect |
6302 | 150 |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
151 if (nargout > 0) |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
152 h = htmp; |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
153 endif |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
154 |
4 | 155 endfunction |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
156 |
19077
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
157 function rtick = __calc_rtick__ (hax, maxr) |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
158 ## FIXME: workaround: calculate r(ho)tick from xtick |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
159 savexlim = get (hax, "xlim"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
160 saveylim = get (hax, "ylim"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
161 set (hax, "xlim", [-maxr maxr], "ylim", [-maxr maxr]); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
162 xtick = get (hax, "xtick"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
163 rtick = xtick(find (xtick > 0, 1):find (xtick >= maxr, 1)); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
164 if (isempty (rtick)) |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
165 rtick = [0.5 1]; |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
166 endif |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
167 set (hax, "xlim", savexlim, "ylim", saveylim); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
168 endfunction |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
169 |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
170 function retval = __plr1__ (h, theta, fmt) |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
171 |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
172 theta = theta(:); |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
173 if (iscomplex (theta)) |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
174 rho = imag (theta); |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
175 theta = real (theta); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
176 else |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
177 rho = theta; |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
178 theta = (1:rows (rho))'; |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
179 endif |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
180 |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
181 retval = __plr2__ (h, theta, rho, fmt); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
182 |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
183 endfunction |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
184 |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
185 function retval = __plr2__ (h, theta, rho, fmt) |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
186 |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
187 if (ndims (theta) > 2 || ndims (rho) > 2) |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
188 error ("polar: THETA and RHO must be 2-D objects"); |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
189 endif |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
190 theta = real (theta); |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
191 rho = real (rho); |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
192 |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
193 if (isscalar (theta)) |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
194 if (isscalar (rho)) |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
195 x = rho * cos (theta); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
196 y = rho * sin (theta); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
197 retval = __plt__ ("polar", h, x, y, fmt); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
198 else |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
199 error ("polar: Can't plot constant THETA with varying RHO"); |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
200 endif |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
201 elseif (isvector (theta)) |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
202 if (isvector (rho)) |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
203 if (length (theta) != length (rho)) |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
204 error ("polar: THETA and RHO vector lengths must match"); |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
205 endif |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
206 rho = rho(:); |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
207 theta = theta(:); |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
208 x = rho .* cos (theta); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
209 y = rho .* sin (theta); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
210 retval = __plt__ ("polar", h, x, y, fmt); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
211 elseif (ismatrix (rho)) |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
212 theta = theta(:); |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
213 t_nr = rows (theta); |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
214 [r_nr, r_nc] = size (rho); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
215 if (t_nr != r_nr) |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
216 rho = rho'; |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
217 r_nr = r_nc; |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
218 endif |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
219 if (t_nr != r_nr) |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
220 error ("polar: THETA vector and RHO matrix sizes must match"); |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
221 endif |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
222 x = diag (cos (theta)) * rho; |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
223 y = diag (sin (theta)) * rho; |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
224 retval = __plt__ ("polar", h, x, y, fmt); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
225 else |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
226 error ("polar: invalid data for plotting"); |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
227 endif |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
228 elseif (ismatrix (theta)) |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
229 if (isvector (rho)) |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
230 rho = rho(:); |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
231 r_nr = rows (rho); |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
232 [t_nr, t_nc] = size (theta); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
233 if (r_nr != t_nr) |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
234 theta = theta'; |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
235 t_nr = t_nc; |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
236 endif |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
237 if (r_nr != t_nr) |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
238 error ("polar: THETA matrix and RHO vector sizes must match"); |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
239 endif |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
240 diag_r = diag (rho); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
241 x = diag_r * cos (theta); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
242 y = diag_r * sin (theta); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
243 retval = __plt__ ("polar", h, x, y, fmt); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
244 elseif (ismatrix (rho)) |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
245 if (! size_equal (rho, theta)) |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
246 error ("polar: THETA and RHO matrix dimensions must match"); |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
247 endif |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
248 x = rho .* cos (theta); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
249 y = rho .* sin (theta); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
250 retval = __plt__ ("polar", h, x, y, fmt); |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
251 else |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
252 error ("polar: invalid data for plotting"); |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
253 endif |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
254 else |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
255 error ("polar: invalid data for plotting"); |
9896
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
256 endif |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
257 |
1aeb39118764
convert some plot functions to subfunctions or make some them private
John W. Eaton <jwe@octave.org>
parents:
7321
diff
changeset
|
258 endfunction |
12789
482cc053281b
codesprint: Add 2 demos for polar.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
259 |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
260 ## Callback functions for listeners |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
261 |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
262 function __update_text__ (hax, ~, hg, prop) |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
263 |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
264 kids = get (hg, "children"); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
265 idx = strcmp (get (kids, "type"), "text"); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
266 set (kids(idx).', prop, get (hax, prop)); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
267 |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
268 endfunction |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
269 |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
270 function __update_lines__ (hax, ~, hg, prop) |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
271 |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
272 kids = get (hg, "children"); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
273 idx = strcmp (get (kids, "type"), "line"); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
274 lprop = prop; |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
275 if (strcmp (prop, "gridlinestyle")) |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
276 lprop = "linestyle"; |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
277 endif |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
278 set (kids(idx).', lprop, get (hax, prop)); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
279 |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
280 endfunction |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
281 |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
282 function __update_patch__ (hax, ~, hg) |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
283 |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
284 kids = get (hg, "children"); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
285 idx = strcmp (get (kids, "type"), "patch"); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
286 set (kids(idx).', "facecolor", get (hax, "color")); |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
287 |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
288 endfunction |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
289 |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
290 function __update_layer__ (hax, ~, hg) |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
291 |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
292 set (hg, "handlevisibility", "on"); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
293 kids = get (hax, "children"); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
294 if (strcmp (get (hax, "layer"), "bottom")) |
19794
db92e7e28e1f
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19077
diff
changeset
|
295 set (hax, "children", [kids(kids != hg); hg]); |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
296 else |
19794
db92e7e28e1f
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19077
diff
changeset
|
297 set (hax, "children", [hg; kids(kids != hg)]); |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
298 endif |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
299 set (hg, "handlevisibility", "off"); |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
300 |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
301 endfunction |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
302 |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
303 function __update_polar_grid__ (hax, ~, hg) |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
304 |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
305 ## Delete existing polar grid |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
306 delete (get (hg, "children")); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
307 |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
308 rtick = unique (get (hax, "rtick")(:)'); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
309 rtick = rtick(rtick > 0); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
310 if (isempty (rtick)) |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
311 rtick = [0.5 1]; |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
312 endif |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
313 |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
314 ttick = unique (get (hax, "ttick")(:)'); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
315 ttick = ttick(ttick >= 0); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
316 if (isempty (ttick)) |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
317 ttick = 0:30:330; |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
318 endif |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
319 |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
320 lprops = {"linestyle", get(hax, "gridlinestyle"), ... |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
321 "linewidth", get(hax, "linewidth")}; |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
322 ## "fontunits" should be first because it affects "fontsize" property. |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
323 tprops(1:2:12) = {"fontunits", "fontangle", "fontname", "fontsize", ... |
20496
42b7d7758c4a
Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19898
diff
changeset
|
324 "fontweight", "ticklabelinterpreter"}; |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
325 tprops(2:2:12) = get (hax, tprops(1:2:12)); |
20496
42b7d7758c4a
Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19898
diff
changeset
|
326 tprops(1:2:12) = strrep (tprops(1:2:12), "ticklabelinterpreter", |
42b7d7758c4a
Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19898
diff
changeset
|
327 "interpreter"); |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
328 |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
329 ## The number of points used for a circle |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
330 circle_points = 50; |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
331 t = linspace (0, 2*pi, circle_points)'; |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
332 x = kron (cos (t), rtick); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
333 y = kron (sin (t), rtick); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
334 |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
335 ## Draw colored disk under axes at Z-depth = -1 |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
336 patch (x(:,end), y(:,end), -ones (circle_points, 1), |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
337 get (hax, "color"), "parent", hg); |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
338 |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
339 ## Plot dotted circles |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
340 line (x(:,1:end-1), y(:,1:end-1), lprops{:}, "parent", hg); |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
341 |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
342 ## Outer circle is drawn solid |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
343 line (x(:,end), y(:,end), lprops{:}, "linestyle", "-", "parent", hg); |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
344 |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
345 ## Add radial labels |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
346 [x, y] = pol2cart (0.42 * pi, rtick); |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
347 text (x, y, num2cell (rtick), "verticalalignment", "bottom", tprops{:}, |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
348 "parent", hg); |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
349 |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
350 ## add radial lines |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
351 s = rtick(end) * sin (ttick * pi / 180); |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
352 c = rtick(end) * cos (ttick * pi / 180); |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
353 x = [zeros(1, numel (ttick)); c]; |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
354 y = [zeros(1, numel (ttick)); s]; |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
355 line (x, y, "linestyle", ":", lprops{:}, "parent", hg); |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
356 |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
357 ## add angular labels |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
358 tticklabel = num2cell (ttick); |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
359 ## FIXME: This tm factor does not work as fontsize increases |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
360 tm = 1.08; |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
361 text (tm * c, tm * s, tticklabel, "horizontalalignment", "center", |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
362 tprops{:}, "parent", hg); |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
363 |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
364 lim = 1.1 * rtick(end); |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
365 set (hax, "xlim", [-lim, lim], "ylim", [-lim, lim]); |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
366 |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
367 ## Put polar grid behind or ahead of plot |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
368 __update_layer__ (hax, [], hg); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
369 |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
370 endfunction |
12789
482cc053281b
codesprint: Add 2 demos for polar.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
371 |
19077
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
372 function resetaxis (~, ~, hax) |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
373 if (isaxes (hax)) |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
374 dellistener (hax, "rtick"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
375 dellistener (hax, "ttick"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
376 dellistener (hax, "color"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
377 dellistener (hax, "fontangle"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
378 dellistener (hax, "fontname"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
379 dellistener (hax, "fontsize"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
380 dellistener (hax, "fontunits"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
381 dellistener (hax, "fontweight"); |
20496
42b7d7758c4a
Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19898
diff
changeset
|
382 dellistener (hax, "ticklabelinterpreter"); |
19077
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
383 dellistener (hax, "layer"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
384 dellistener (hax, "gridlinestyle"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
385 dellistener (hax, "linewidth"); |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
386 endif |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
387 endfunction |
cff49c82f722
polar.m: Fix scaling of polar plot (bug #39495).
Stefan Mahr <dac922@gmx.de>
parents:
19066
diff
changeset
|
388 |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
389 |
12789
482cc053281b
codesprint: Add 2 demos for polar.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
390 %!demo |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
391 %! clf; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
392 %! theta = linspace (0,2*pi,1000); |
12789
482cc053281b
codesprint: Add 2 demos for polar.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
393 %! rho = sin (7*theta); |
482cc053281b
codesprint: Add 2 demos for polar.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
394 %! polar (theta, rho); |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
395 %! title ('polar() plot'); |
12789
482cc053281b
codesprint: Add 2 demos for polar.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
396 |
482cc053281b
codesprint: Add 2 demos for polar.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
397 %!demo |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
398 %! clf; |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
399 %! theta = linspace (0,2*pi,1000); |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
400 %! cplx = theta + i*sin (7*theta); |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
401 %! polar (cplx, 'g'); |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
402 %! title ('polar() plot of complex data'); |
17072
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
403 |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
404 %!demo |
22fa8c77b92d
polar.m, rose.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
405 %! clf; |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
406 %! theta = linspace (0,2*pi,1000); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
407 %! rho = sin (2*theta).*cos (2*theta); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
408 %! polar (theta, rho, '--r'); |
19066
cafffc1b70b1
update plot demo blocks for compare_plot_demos
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18916
diff
changeset
|
409 %! set (gca, 'rtick', 0.1:0.1:0.6, 'ttick', 0:20:340); |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
410 %! title ('polar() plot with finer grid'); |
12789
482cc053281b
codesprint: Add 2 demos for polar.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
411 |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
412 %!demo |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
413 %! clf; |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
414 %! theta = linspace (0,2*pi,1000); |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
415 %! rho = sin (2*theta).*cos (2*theta); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
416 %! polar (theta, rho, '--b'); |
19066
cafffc1b70b1
update plot demo blocks for compare_plot_demos
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18916
diff
changeset
|
417 %! set (gca, 'fontsize', 12, 'linewidth', 2, 'color', [0.8 0.8 0.8]); |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
418 %! title ('polar() plot with modified axis appearance'); |
18910
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
419 |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
420 %!demo |
b5b73959907f
polar.m: add circular theta/rho axes (bug 39495).
Andreas Weber <andy.weber.aw@gmail.com>
parents:
17744
diff
changeset
|
421 %! clf; |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
422 %! theta = linspace (0,8*pi,1000); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
423 %! rho = sin (5/4*theta); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
424 %! polar (theta, rho); |
19066
cafffc1b70b1
update plot demo blocks for compare_plot_demos
Andreas Weber <andy.weber.aw@gmail.com>
parents:
18916
diff
changeset
|
425 %! set (gca, 'rtick', 0.2:0.2:1); |
18916
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
426 %! title ('polar() plot'); |
56bff71de2ca
polar.m: Link polar grid with axes properties (bug #39495).
Rik <rik@octave.org>
parents:
18910
diff
changeset
|
427 |