Mercurial > hg > octave-nkf
annotate scripts/plot/appearance/axis.m @ 18823:01aa90ece9a4 stable
axis.m: Fix regression setting tight limits on non-image objects.
* axis.m: Don't apply image pixel calculations to non-image objects.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 23 Apr 2014 22:40:24 -0700 |
parents | bf0d2e51c8f0 |
children | 78fac67300e8 446c46af4b42 |
rev | line source |
---|---|
17744
d63878346099
maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents:
17572
diff
changeset
|
1 ## Copyright (C) 1994-2013 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/>. | |
590 | 18 |
3368 | 19 ## -*- texinfo -*- |
10687
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
10557
diff
changeset
|
20 ## @deftypefn {Function File} {} axis () |
12642
f96b9b9f141b
doc: Periodic grammarcheck and spellcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents:
11589
diff
changeset
|
21 ## @deftypefnx {Function File} {} axis ([@var{x}_lo @var{x}_hi]) |
f96b9b9f141b
doc: Periodic grammarcheck and spellcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents:
11589
diff
changeset
|
22 ## @deftypefnx {Function File} {} axis ([@var{x}_lo @var{x}_hi @var{y}_lo @var{y}_hi]) |
f96b9b9f141b
doc: Periodic grammarcheck and spellcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents:
11589
diff
changeset
|
23 ## @deftypefnx {Function File} {} axis ([@var{x}_lo @var{x}_hi @var{y}_lo @var{y}_hi @var{z}_lo @var{z}_hi]) |
10687
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
10557
diff
changeset
|
24 ## @deftypefnx {Function File} {} axis (@var{option}) |
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
10557
diff
changeset
|
25 ## @deftypefnx {Function File} {} axis (@dots{}, @var{option}) |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17045
diff
changeset
|
26 ## @deftypefnx {Function File} {} axis (@var{hax}, @dots{}) |
10793
be55736a0783
Grammarcheck the documentation from m-files.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
27 ## @deftypefnx {Function File} {@var{limits} =} axis () |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17045
diff
changeset
|
28 ## Set axis limits and appearance. |
3426 | 29 ## |
11563
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
30 ## The argument @var{limits} should be a 2-, 4-, or 6-element vector. The |
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
31 ## first and second elements specify the lower and upper limits for the |
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
32 ## x-axis. The third and fourth specify the limits for the y-axis, and the |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
8953
diff
changeset
|
33 ## fifth and sixth specify the limits for the z-axis. |
3426 | 34 ## |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11577
diff
changeset
|
35 ## Without any arguments, @code{axis} turns autoscaling on. |
4945 | 36 ## |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17045
diff
changeset
|
37 ## With one output argument, @code{@var{limits} = axis} returns the current |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17045
diff
changeset
|
38 ## axis limits. |
3667 | 39 ## |
3668 | 40 ## The vector argument specifying limits is optional, and additional |
41 ## string arguments may be used to specify various axis properties. For | |
3667 | 42 ## example, |
43 ## | |
44 ## @example | |
45 ## axis ([1, 2, 3, 4], "square"); | |
46 ## @end example | |
47 ## | |
48 ## @noindent | |
3668 | 49 ## forces a square aspect ratio, and |
50 ## | |
51 ## @example | |
11563
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
52 ## axis ("tic", "labely"); |
3668 | 53 ## @end example |
54 ## | |
55 ## @noindent | |
56 ## turns tic marks on for all axes and tic mark labels on for the y-axis | |
57 ## only. | |
3667 | 58 ## |
59 ## @noindent | |
60 ## The following options control the aspect ratio of the axes. | |
61 ## | |
11563
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
62 ## @table @asis |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
63 ## @item @qcode{"square"} |
3667 | 64 ## Force a square aspect ratio. |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
65 ## |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
66 ## @item @qcode{"equal"} |
3667 | 67 ## Force x distance to equal y-distance. |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
68 ## |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
69 ## @item @qcode{"normal"} |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17045
diff
changeset
|
70 ## Restore default aspect ratio. |
3667 | 71 ## @end table |
72 ## | |
73 ## @noindent | |
74 ## The following options control the way axis limits are interpreted. | |
75 ## | |
11563
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
76 ## @table @asis |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
77 ## @item @qcode{"auto"} |
3667 | 78 ## Set the specified axes to have nice limits around the data |
79 ## or all if no axes are specified. | |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
80 ## |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
81 ## @item @qcode{"manual"} |
3667 | 82 ## Fix the current axes limits. |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
83 ## |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
84 ## @item @qcode{"tight"} |
9277
be84e9654feb
Update axis.m documentation to reflect addition of "tight" option.
Rik <rdrider0-list@yahoo.com>
parents:
9209
diff
changeset
|
85 ## Fix axes to the limits of the data. |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17045
diff
changeset
|
86 ## |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
87 ## @item @qcode{"image"} |
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
88 ## Equivalent to @qcode{"tight"} and @qcode{"equal"}. |
3667 | 89 ## @end table |
90 ## | |
91 ## @noindent | |
92 ## The following options affect the appearance of tic marks. | |
93 ## | |
11563
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
94 ## @table @asis |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
95 ## @item @qcode{"on"} |
3667 | 96 ## Turn tic marks and labels on for all axes. |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
97 ## |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
98 ## @item @qcode{"off"} |
3667 | 99 ## Turn tic marks off for all axes. |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
100 ## |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
101 ## @item @qcode{"tic[xyz]"} |
3668 | 102 ## Turn tic marks on for all axes, or turn them on for the |
103 ## specified axes and off for the remainder. | |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
104 ## |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
105 ## @item @qcode{"label[xyz]"} |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11577
diff
changeset
|
106 ## Turn tic labels on for all axes, or turn them on for the |
3668 | 107 ## specified axes and off for the remainder. |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
108 ## |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
109 ## @item @qcode{"nolabel"} |
3667 | 110 ## Turn tic labels off for all axes. |
111 ## @end table | |
15007
8f0e3c5bfa5f
doc: Periodic grammarcheck of documentation
Rik <rik@octave.org>
parents:
14868
diff
changeset
|
112 ## |
3667 | 113 ## Note, if there are no tic marks for an axis, there can be no labels. |
114 ## | |
115 ## @noindent | |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17045
diff
changeset
|
116 ## The following options affect the direction of increasing values on the axes. |
3667 | 117 ## |
11563
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
118 ## @table @asis |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
119 ## @item @qcode{"ij"} |
3667 | 120 ## Reverse y-axis, so lower values are nearer the top. |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
121 ## |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
122 ## @item @qcode{"xy"} |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11577
diff
changeset
|
123 ## Restore y-axis, so higher values are nearer the top. |
3667 | 124 ## @end table |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11577
diff
changeset
|
125 ## |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17045
diff
changeset
|
126 ## If the first argument @var{hax} is an axes handle, then operate on |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17045
diff
changeset
|
127 ## this axes rather than the current axes returned by @code{gca}. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17045
diff
changeset
|
128 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17045
diff
changeset
|
129 ## @seealso{xlim, ylim, zlim, daspect, pbaspect, box, grid} |
3368 | 130 ## @end deftypefn |
590 | 131 |
2314 | 132 ## Author: jwe |
133 | |
17045
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
134 function limits = axis (varargin) |
590 | 135 |
17045
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
136 [hax, varargin, nargin] = __plt_get_axis_arg__ ("axis", varargin{:}); |
7216 | 137 |
17211
87ba70043bfc
Don't use ifelse in plot fcns to avoid unnecessary fcn evaluations.
Rik <rik@octave.org>
parents:
17190
diff
changeset
|
138 oldfig = []; |
17301
68bcac3c043a
Correct inversion accidentally introduced in cset 87ba70043bfc.
Rik <rik@octave.org>
parents:
17281
diff
changeset
|
139 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
|
140 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
|
141 endif |
7215 | 142 unwind_protect |
17045
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
143 if (isempty (hax)) |
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
144 hax = gca (); |
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
145 endif |
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
146 if (nargin == 0) |
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
147 limits = __axis__ (hax, varargin{:}); |
7189 | 148 else |
17045
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
149 __axis__ (hax, varargin{:}); |
7189 | 150 endif |
7215 | 151 unwind_protect_cleanup |
17045
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
152 if (! isempty (oldfig)) |
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
153 set (0, "currentfigure", oldfig); |
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
154 endif |
7215 | 155 end_unwind_protect |
590 | 156 |
7189 | 157 endfunction |
158 | |
17045
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
159 function limits = __axis__ (ca, ax, varargin) |
7189 | 160 |
161 if (nargin == 1) | |
4945 | 162 if (nargout == 0) |
6257 | 163 set (ca, "xlimmode", "auto", "ylimmode", "auto", "zlimmode", "auto"); |
4945 | 164 else |
6257 | 165 xlim = get (ca, "xlim"); |
166 ylim = get (ca, "ylim"); | |
9427
7b74a7fd4761
axis: return 4-element vector for 2-d view
John W. Eaton <jwe@octave.org>
parents:
9357
diff
changeset
|
167 view = get (ca, "view"); |
7b74a7fd4761
axis: return 4-element vector for 2-d view
John W. Eaton <jwe@octave.org>
parents:
9357
diff
changeset
|
168 if (view(2) == 90) |
17045
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
169 limits = [xlim, ylim]; |
9427
7b74a7fd4761
axis: return 4-element vector for 2-d view
John W. Eaton <jwe@octave.org>
parents:
9357
diff
changeset
|
170 else |
10549 | 171 zlim = get (ca, "zlim"); |
17045
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
172 limits = [xlim, ylim, zlim]; |
9427
7b74a7fd4761
axis: return 4-element vector for 2-d view
John W. Eaton <jwe@octave.org>
parents:
9357
diff
changeset
|
173 endif |
4945 | 174 endif |
3667 | 175 |
5443 | 176 elseif (ischar (ax)) |
4340 | 177 len = length (ax); |
3667 | 178 |
179 ## 'matrix mode' to reverse the y-axis | |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
180 if (strcmpi (ax, "ij")) |
6257 | 181 set (ca, "ydir", "reverse"); |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
182 elseif (strcmpi (ax, "xy")) |
6257 | 183 set (ca, "ydir", "normal"); |
3667 | 184 |
185 ## aspect ratio | |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
186 elseif (strcmpi (ax, "image")) |
11589
b0084095098e
missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents:
11587
diff
changeset
|
187 __axis__ (ca, "equal"); |
18544
df8e5e3a0f67
axis.m: Make "image" and "square" compatible with Matlab (bug #41581).
Rik <rik@octave.org>
parents:
18537
diff
changeset
|
188 set (ca, "plotboxaspectratiomode", "auto"); |
7376 | 189 __do_tight_option__ (ca); |
8953
a6945f92b868
__go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
190 elseif (strcmpi (ax, "square")) |
18544
df8e5e3a0f67
axis.m: Make "image" and "square" compatible with Matlab (bug #41581).
Rik <rik@octave.org>
parents:
18537
diff
changeset
|
191 set (ca, "dataaspectratiomode", "auto", |
df8e5e3a0f67
axis.m: Make "image" and "square" compatible with Matlab (bug #41581).
Rik <rik@octave.org>
parents:
18537
diff
changeset
|
192 "plotboxaspectratio", [1, 1, 1]); |
14552
86854d032a37
maint: miscellaneous style fixes for .m files
John W. Eaton <jwe@octave.org>
parents:
14247
diff
changeset
|
193 elseif (strcmp (ax, "equal")) |
11577 | 194 if (strcmp (get (get (ca, "parent"), "__graphics_toolkit__"), "gnuplot")) |
11001
2ab8cc6dcced
Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10953
diff
changeset
|
195 ## FIXME - gnuplot applies the aspect ratio activepostionproperty. |
2ab8cc6dcced
Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10953
diff
changeset
|
196 set (ca, "activepositionproperty", "position"); |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11577
diff
changeset
|
197 ## The following line is a trick used to trigger the recalculation of |
11185
5b48695f3c13
Making 'axis equal' equivalent to 'daspect([1,1,1])'
Konstantinos Poulios <logari81@googlemail.com>
parents:
11183
diff
changeset
|
198 ## aspect related magnitudes even if the aspect ratio is the same |
5b48695f3c13
Making 'axis equal' equivalent to 'daspect([1,1,1])'
Konstantinos Poulios <logari81@googlemail.com>
parents:
11183
diff
changeset
|
199 ## (useful with the x11 gnuplot terminal after a window resize) |
5b48695f3c13
Making 'axis equal' equivalent to 'daspect([1,1,1])'
Konstantinos Poulios <logari81@googlemail.com>
parents:
11183
diff
changeset
|
200 set (ca, "dataaspectratiomode", "auto"); |
11001
2ab8cc6dcced
Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10953
diff
changeset
|
201 endif |
18537
343718b2eee4
axis.m: restore plotbox and data aspect ratios with 'axis normal' (bug #41581).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
202 set (ca, "dataaspectratio", [1, 1, 1], "plotboxaspectratio", [5 4 4]); |
343718b2eee4
axis.m: restore plotbox and data aspect ratios with 'axis normal' (bug #41581).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
203 |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
204 elseif (strcmpi (ax, "normal")) |
18537
343718b2eee4
axis.m: restore plotbox and data aspect ratios with 'axis normal' (bug #41581).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
205 ## Set plotboxaspectratio to something obtuse so that switching |
343718b2eee4
axis.m: restore plotbox and data aspect ratios with 'axis normal' (bug #41581).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
206 ## back to "auto" will force a re-calculation. |
343718b2eee4
axis.m: restore plotbox and data aspect ratios with 'axis normal' (bug #41581).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
207 set (ca, "plotboxaspectratio", [3 2 1]); |
343718b2eee4
axis.m: restore plotbox and data aspect ratios with 'axis normal' (bug #41581).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
208 set (ca, "plotboxaspectratiomode", "auto", |
343718b2eee4
axis.m: restore plotbox and data aspect ratios with 'axis normal' (bug #41581).
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
209 "dataaspectratiomode", "auto"); |
3667 | 210 |
211 ## axis limits | |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
212 elseif (len >= 4 && strcmpi (ax(1:4), "auto")) |
4340 | 213 if (len > 4) |
10549 | 214 if (any (ax == "x")) |
215 set (ca, "xlimmode", "auto"); | |
216 endif | |
217 if (any (ax == "y")) | |
218 set (ca, "ylimmode", "auto"); | |
219 endif | |
220 if (any (ax == "z")) | |
221 set (ca, "zlimmode", "auto"); | |
222 endif | |
3667 | 223 else |
10549 | 224 set (ca, "xlimmode", "auto", "ylimmode", "auto", "zlimmode", "auto"); |
3667 | 225 endif |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
226 elseif (strcmpi (ax, "manual")) |
3667 | 227 ## fixes the axis limits, like axis(axis) should; |
6257 | 228 set (ca, "xlimmode", "manual", "ylimmode", "manual", "zlimmode", "manual"); |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
229 elseif (strcmpi (ax, "tight")) |
7376 | 230 ## sets the axis limits to the min and max of all data. |
231 __do_tight_option__ (ca); | |
3667 | 232 ## tic marks |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
233 elseif (strcmpi (ax, "on") || strcmpi (ax, "tic")) |
6257 | 234 set (ca, "xtickmode", "auto", "ytickmode", "auto", "ztickmode", "auto"); |
8953
a6945f92b868
__go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
235 if (strcmpi (ax, "on")) |
a6945f92b868
__go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
236 set (ca, "xticklabelmode", "auto", "yticklabelmode", "auto", |
10549 | 237 "zticklabelmode", "auto"); |
8953
a6945f92b868
__go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
238 endif |
6765 | 239 set (ca, "visible", "on"); |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
240 elseif (strcmpi (ax, "off")) |
6257 | 241 set (ca, "xtick", [], "ytick", [], "ztick", []); |
6765 | 242 set (ca, "visible", "off"); |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
243 elseif (len > 3 && strcmpi (ax(1:3), "tic")) |
4340 | 244 if (any (ax == "x")) |
10549 | 245 set (ca, "xtickmode", "auto"); |
3667 | 246 else |
10549 | 247 set (ca, "xtick", []); |
3667 | 248 endif |
4340 | 249 if (any (ax == "y")) |
10549 | 250 set (ca, "ytickmode", "auto"); |
3667 | 251 else |
10549 | 252 set (ca, "ytick", []); |
3667 | 253 endif |
4340 | 254 if (any (ax == "z")) |
10549 | 255 set (ca, "ztickmode", "auto"); |
3667 | 256 else |
10549 | 257 set (ca, "ztick", []); |
3667 | 258 endif |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
259 elseif (strcmpi (ax, "label")) |
6257 | 260 set (ca, "xticklabelmode", "auto", "yticklabelmode", "auto", |
10549 | 261 "zticklabelmode", "auto"); |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
262 elseif (strcmpi (ax, "nolabel")) |
6257 | 263 set (ca, "xticklabel", "", "yticklabel", "", "zticklabel", ""); |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
264 elseif (len > 5 && strcmpi (ax(1:5), "label")) |
4340 | 265 if (any (ax == "x")) |
10549 | 266 set (ca, "xticklabelmode", "auto"); |
3667 | 267 else |
10549 | 268 set (ca, "xticklabel", ""); |
3667 | 269 endif |
4340 | 270 if (any (ax == "y")) |
10549 | 271 set (ca, "yticklabelmode", "auto"); |
3667 | 272 else |
10549 | 273 set (ca, "yticklabel", ""); |
3667 | 274 endif |
4340 | 275 if (any (ax == "z")) |
10549 | 276 set (ca, "zticklabelmode", "auto"); |
3667 | 277 else |
10549 | 278 set (ca, "zticklabel", ""); |
3667 | 279 endif |
280 | |
281 else | |
4259 | 282 warning ("unknown axis option '%s'", ax); |
3667 | 283 endif |
284 | |
4030 | 285 elseif (isvector (ax)) |
590 | 286 |
287 len = length (ax); | |
288 | |
289 if (len != 2 && len != 4 && len != 6) | |
290 error ("axis: expecting vector with 2, 4, or 6 elements"); | |
291 endif | |
292 | |
5627 | 293 for i = 1:2:len |
13031 | 294 if (ax(i) >= ax(i+1)) |
295 error ("axis: limits(%d) must be less than limits(%d)", i, i+1); | |
5627 | 296 endif |
297 endfor | |
298 | |
590 | 299 if (len > 1) |
6257 | 300 set (ca, "xlim", [ax(1), ax(2)]); |
590 | 301 endif |
302 | |
303 if (len > 3) | |
6257 | 304 set (ca, "ylim", [ax(3), ax(4)]); |
590 | 305 endif |
306 | |
307 if (len > 5) | |
6257 | 308 set (ca, "zlim", [ax(5), ax(6)]); |
590 | 309 endif |
310 | |
311 else | |
595 | 312 error ("axis: expecting no args, or a vector with 2, 4, or 6 elements"); |
590 | 313 endif |
314 | |
7376 | 315 if (! isempty (varargin)) |
7189 | 316 __axis__ (ca, varargin{:}); |
3667 | 317 endif |
6447 | 318 |
590 | 319 endfunction |
3667 | 320 |
7376 | 321 function lims = __get_tight_lims__ (ca, ax) |
322 | |
323 ## Get the limits for axis ("tight"). | |
324 ## AX should be one of "x", "y", or "z". | |
7994
8ccd9b0bf6bc
plot/axis.m (__get_tight_lims__): don't fail if data is not a vector
John W. Eaton <jwe@octave.org>
parents:
7376
diff
changeset
|
325 kids = findobj (ca, "-property", strcat (ax, "data")); |
14054
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
326 ## The data properties for hggroups mirror their children. |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
327 ## Exclude the redundant hgroup values. |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
328 hg_kids = findobj (kids, "type", "hggroup"); |
11174
2114867f2a50
axis.m: Exclude hggroup {x,y,z}data properties when determing tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
11001
diff
changeset
|
329 kids = setdiff (kids, hg_kids); |
7376 | 330 if (isempty (kids)) |
331 ## Return the current limits. | |
7994
8ccd9b0bf6bc
plot/axis.m (__get_tight_lims__): don't fail if data is not a vector
John W. Eaton <jwe@octave.org>
parents:
7376
diff
changeset
|
332 lims = get (ca, strcat (ax, "lim")); |
7376 | 333 else |
7994
8ccd9b0bf6bc
plot/axis.m (__get_tight_lims__): don't fail if data is not a vector
John W. Eaton <jwe@octave.org>
parents:
7376
diff
changeset
|
334 data = get (kids, strcat (ax, "data")); |
18592
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18544
diff
changeset
|
335 types = get (kids, "type"); |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18544
diff
changeset
|
336 |
11201
6c8791cb35b1
__go_draw_axes__.m: Set proper tight axis limits for log scale.
Ben Abbott <bpabbott@mac.com>
parents:
11191
diff
changeset
|
337 scale = get (ca, strcat (ax, "scale")); |
14054
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
338 if (! iscell (data)) |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
339 data = {data}; |
14552
86854d032a37
maint: miscellaneous style fixes for .m files
John W. Eaton <jwe@octave.org>
parents:
14247
diff
changeset
|
340 endif |
18592
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18544
diff
changeset
|
341 |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18544
diff
changeset
|
342 ## Extend image data one pixel |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18544
diff
changeset
|
343 idx = strcmp (types, "image"); |
18823
01aa90ece9a4
axis.m: Fix regression setting tight limits on non-image objects.
Rik <rik@octave.org>
parents:
18592
diff
changeset
|
344 if (any (idx) && (ax == "x" || ax == "y")) |
18592
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18544
diff
changeset
|
345 imdata = data(idx); |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18544
diff
changeset
|
346 px = arrayfun (@__image_pixel_size__, kids(idx), "uniformoutput", false); |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18544
diff
changeset
|
347 ipx = ifelse (ax == "x", 1, 2); |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18544
diff
changeset
|
348 imdata = cellfun (@(x,dx) [(min (x) - dx(ipx)), (max (x) + dx(ipx))], |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18544
diff
changeset
|
349 imdata, px, "uniformoutput", false); |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18544
diff
changeset
|
350 data(idx) = imdata; |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18544
diff
changeset
|
351 endif |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18544
diff
changeset
|
352 |
14054
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
353 if (strcmp (scale, "log")) |
14063
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
354 tmp = data; |
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
355 data = cellfun (@(x) x(x>0), tmp, "uniformoutput", false); |
17426
aa380b380315
axis.m: Fix bug when data sets differ in size and dimension (bug #40036).
Rik <rik@octave.org>
parents:
17386
diff
changeset
|
356 n = cellfun ("isempty", data); |
14063
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
357 data(n) = cellfun (@(x) x(x<0), tmp(n), "uniformoutput", false); |
13174
bd2cd4fd3edf
maint: use specific endif, endfor tokens instead of simple end
John W. Eaton <jwe@octave.org>
parents:
13154
diff
changeset
|
358 endif |
14868
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14552
diff
changeset
|
359 data = cellfun (@(x) x(isfinite (x)), data, "uniformoutput", false); |
14054
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
360 data = data(! cellfun ("isempty", data)); |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
361 if (! isempty (data)) |
17426
aa380b380315
axis.m: Fix bug when data sets differ in size and dimension (bug #40036).
Rik <rik@octave.org>
parents:
17386
diff
changeset
|
362 ## Change data from cell array of various sizes to a single column vector |
aa380b380315
axis.m: Fix bug when data sets differ in size and dimension (bug #40036).
Rik <rik@octave.org>
parents:
17386
diff
changeset
|
363 data = cat (1, cellindexmat (data, ":"){:}); |
aa380b380315
axis.m: Fix bug when data sets differ in size and dimension (bug #40036).
Rik <rik@octave.org>
parents:
17386
diff
changeset
|
364 lims = [min(data), max(data)]; |
7376 | 365 else |
14054
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
366 lims = [0, 1]; |
8610
85c9906abfd1
use endif and endfor instead of end
John W. Eaton <jwe@octave.org>
parents:
8507
diff
changeset
|
367 endif |
85c9906abfd1
use endif and endfor instead of end
John W. Eaton <jwe@octave.org>
parents:
8507
diff
changeset
|
368 endif |
9357
95ec56601497
axis.m: Fix bug for 'axis tight' with multiple surface plots, add demo.
Ben Abbott <bpabbott@mac.com>
parents:
9317
diff
changeset
|
369 |
7376 | 370 endfunction |
371 | |
372 function __do_tight_option__ (ca) | |
373 | |
17023 | 374 xlim = __get_tight_lims__ (ca, "x"); |
375 if (all (xlim == 0)) | |
376 xlim = eps () * [-1 1]; | |
377 elseif (diff (xlim == 0)) | |
378 xlim = xlim .* (1 + eps () * [-1, 1]); | |
379 endif | |
380 ylim = __get_tight_lims__ (ca, "y"); | |
381 if (all (ylim == 0)) | |
382 ylim = eps () * [-1 1]; | |
383 elseif (diff (ylim == 0)) | |
384 ylim = ylim .* (1 + eps () * [-1, 1]); | |
385 endif | |
386 set (ca, "xlim", xlim, "ylim", ylim) | |
17564
234731d524c2
axis.m: Fix 'axis tight' with pcolor plots.
Rik <rik@octave.org>
parents:
17427
diff
changeset
|
387 nd = __calc_dimensions__ (ca); |
234731d524c2
axis.m: Fix 'axis tight' with pcolor plots.
Rik <rik@octave.org>
parents:
17427
diff
changeset
|
388 is3dview = (get (ca, "view")(2) != 90); |
234731d524c2
axis.m: Fix 'axis tight' with pcolor plots.
Rik <rik@octave.org>
parents:
17427
diff
changeset
|
389 if (nd > 2 && is3dview) |
17023 | 390 zlim = __get_tight_lims__ (ca, "z"); |
391 if (all (zlim == 0)) | |
392 zlim = eps () * [-1 1]; | |
393 elseif (diff (zlim == 0)) | |
394 zlim = zlim .* (1 + eps () * [-1, 1]); | |
395 endif | |
396 set (ca, "zlim", zlim); | |
11183
ac6a199be45e
Leave zlim unchanged during 'axis tight' on 2D plots
Konstantinos Poulios <logari81@googlemail.com>
parents:
11174
diff
changeset
|
397 endif |
7376 | 398 |
399 endfunction | |
400 | |
17045
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
401 |
3667 | 402 %!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
|
403 %! clf; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
404 %! t = 0:0.01:2*pi; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
405 %! x = sin (t); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
406 %! |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
407 %! subplot (221); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
408 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
409 %! title ('normal plot'); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
410 %! |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
411 %! subplot (222); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
412 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
413 %! title ('square plot'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
414 %! axis ('square'); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
415 %! |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
416 %! subplot (223); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
417 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
418 %! title ('equal plot'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
419 %! axis ('equal'); |
3667 | 420 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
421 %! subplot (224); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
422 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
423 %! title ('normal plot again'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
424 %! axis ('normal'); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
425 |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
426 %!demo |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
427 %! clf; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
428 %! t = 0:0.01:2*pi; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
429 %! x = sin (t); |
3667 | 430 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
431 %! subplot (121); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
432 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
433 %! title ('ij plot'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
434 %! axis ('ij'); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
435 %! |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
436 %! subplot (122); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
437 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
438 %! title ('xy plot'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
439 %! axis ('xy'); |
3667 | 440 |
441 %!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
|
442 %! clf; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
443 %! t = 0:0.01:2*pi; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
444 %! x = sin (t); |
3667 | 445 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
446 %! subplot (331); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
447 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
448 %! title ('x tics and labels'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
449 %! axis ('ticx'); |
3667 | 450 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
451 %! subplot (332); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
452 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
453 %! title ('y tics and labels'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
454 %! axis ('ticy'); |
3667 | 455 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
456 %! subplot (333); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
457 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
458 %! title ('axis off'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
459 %! axis ('off'); |
3667 | 460 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
461 %! subplot (334); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
462 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
463 %! title ('x and y tics, x labels'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
464 %! axis ('labelx','tic'); |
3667 | 465 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
466 %! subplot (335); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
467 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
468 %! title ('x and y tics, y labels'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
469 %! axis ('labely','tic'); |
3667 | 470 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
471 %! subplot (336); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
472 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
473 %! title ('all tics but no labels'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
474 %! axis ('nolabel','tic'); |
3667 | 475 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
476 %! subplot (337); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
477 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
478 %! title ('x tics, no labels'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
479 %! axis ('nolabel','ticx'); |
3667 | 480 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
481 %! subplot (338); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
482 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
483 %! title ('y tics, no labels'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
484 %! axis ('nolabel','ticy'); |
3667 | 485 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
486 %! subplot (339); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
487 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
488 %! title ('all tics and labels'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
489 %! axis ('on'); |
3667 | 490 |
491 %!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
|
492 %! clf; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
493 %! t = 0:0.01:2*pi; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
494 %! x = sin (t); |
3667 | 495 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
496 %! subplot (321); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
497 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
498 %! title ('axes at [0 3 0 1]'); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
499 %! axis ([0,3,0,1]); |
3667 | 500 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
501 %! subplot (322); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
502 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
503 %! title ('auto'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
504 %! axis ('auto'); |
3667 | 505 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
506 %! subplot (323); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
507 %! plot (t, x, ';sine [0:2pi];'); hold on; |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
508 %! plot (-3:3,-3:3, ';line (-3,-3)->(3,3);'); hold off; |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
509 %! title ('manual'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
510 %! axis ('manual'); |
3667 | 511 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
512 %! subplot (324); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
513 %! plot (t, x, ';sine [0:2pi];'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
514 %! title ('axes at [0 3 0 1], then autox'); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
515 %! axis ([0,3,0,1]); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
516 %! axis ('autox'); |
3667 | 517 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
518 %! subplot (325); |
17026
be52288f827b
Tweak some plotting demos for messages and spelling.
Rik <rik@octave.org>
parents:
17023
diff
changeset
|
519 %! plot (t, x, ';sine [0:2pi];'); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
520 %! title ('axes at [3 6 0 1], then autoy'); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
521 %! axis ([3,6,0,1]); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
522 %! axis ('autoy'); |
3667 | 523 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
524 %! subplot (326); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
525 %! plot (t, sin(t), t, -2*sin(t/2)); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
526 %! axis ('tight'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
527 %! title ('tight'); |
8953
a6945f92b868
__go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
528 |
a6945f92b868
__go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
529 %!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
|
530 %! clf; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
531 %! x = 0:0.1:10; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
532 %! plot (x, sin(x)); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
533 %! axis image; |
17026
be52288f827b
Tweak some plotting demos for messages and spelling.
Rik <rik@octave.org>
parents:
17023
diff
changeset
|
534 %! title ({'image', 'equivalent to "tight" & "equal"'}); |
8953
a6945f92b868
__go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
535 |
9357
95ec56601497
axis.m: Fix bug for 'axis tight' with multiple surface plots, add demo.
Ben Abbott <bpabbott@mac.com>
parents:
9317
diff
changeset
|
536 %!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
|
537 %! clf; |
14247
c4fa5e0b6193
test: Make surface demos reproducible by setting colormap to default at start of demo.
Rik <octave@nomad.inbox5.com>
parents:
14245
diff
changeset
|
538 %! colormap ('default'); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
539 %! [x,y,z] = peaks (50); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
540 %! x1 = max (x(:)); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
541 %! pcolor (x-x1, y-x1/2, z); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
542 %! hold on; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
543 %! [x,y,z] = sombrero (); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
544 %! s = x1 / max (x(:)); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
545 %! pcolor (s*x+x1, s*y+x1/2, 5*z); |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
546 %! axis tight; |
8953
a6945f92b868
__go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents:
8920
diff
changeset
|
547 |
11201
6c8791cb35b1
__go_draw_axes__.m: Set proper tight axis limits for log scale.
Ben Abbott <bpabbott@mac.com>
parents:
11191
diff
changeset
|
548 %!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
|
549 %! clf; |
11201
6c8791cb35b1
__go_draw_axes__.m: Set proper tight axis limits for log scale.
Ben Abbott <bpabbott@mac.com>
parents:
11191
diff
changeset
|
550 %! x = -10:10; |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
551 %! plot (x,x, x,-x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
552 %! set (gca, 'yscale', 'log'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
553 %! legend ({'x >= 1', 'x <= 1'}, 'location', 'north'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
554 %! title ('ylim = [1, 10]'); |
11201
6c8791cb35b1
__go_draw_axes__.m: Set proper tight axis limits for log scale.
Ben Abbott <bpabbott@mac.com>
parents:
11191
diff
changeset
|
555 |
13154 | 556 %!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
|
557 %! clf; |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
558 %! loglog (1:20, '-s'); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
559 %! axis tight; |
13154 | 560 |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
561 %!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
|
562 %! clf; |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
563 %! x = -10:0.1:10; |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
564 %! y = sin (x)./(1 + abs (x)) + 0.1*x - 0.4; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
565 %! plot (x, y); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
566 %! set (gca, 'xaxislocation', 'zero'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
567 %! set (gca, 'yaxislocation', 'zero'); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
568 %! box off; |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
569 %! title ({'no plot box', 'xaxislocation = zero, yaxislocation = zero'}); |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
570 |
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
571 %!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
|
572 %! clf; |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
573 %! x = -10:0.1:10; |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
574 %! y = sin (x)./(1+abs (x)) + 0.1*x - 0.4; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
575 %! plot (x, y); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
576 %! set (gca, 'xaxislocation', 'zero'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
577 %! set (gca, 'yaxislocation', 'left'); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
578 %! box off; |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
579 %! title ({'no plot box', 'xaxislocation = zero, yaxislocation = left'}); |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
580 |
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
581 %!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
|
582 %! clf; |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
583 %! x = -10:0.1:10; |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
584 %! y = sin (x)./(1+abs (x)) + 0.1*x - 0.4; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
585 %! plot (x, y); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
586 %! title ('no plot box'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
587 %! set (gca, 'xaxislocation', 'zero'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
588 %! set (gca, 'yaxislocation', 'right'); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
589 %! box off; |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
590 %! title ({'no plot box', 'xaxislocation = zero, yaxislocation = right'}); |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
591 |
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
592 %!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
|
593 %! clf; |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
594 %! x = -10:0.1:10; |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
595 %! y = sin (x)./(1+abs (x)) + 0.1*x - 0.4; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
596 %! plot (x, y); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
597 %! set (gca, 'xaxislocation', 'bottom'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
598 %! set (gca, 'yaxislocation', 'zero'); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
599 %! box off; |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
600 %! title ({'no plot box', 'xaxislocation = bottom, yaxislocation = zero'}); |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
601 |
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
602 %!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
|
603 %! clf; |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
604 %! x = -10:0.1:10; |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
605 %! y = sin (x)./(1+abs (x)) + 0.1*x - 0.4; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
606 %! plot (x, y); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
607 %! set (gca, 'xaxislocation', 'top'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
608 %! set (gca, 'yaxislocation', 'zero'); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
609 %! box off; |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
610 %! title ({'no plot box', 'xaxislocation = top, yaxislocation = zero'}); |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
611 |
14054
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
612 %!test |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
613 %! hf = figure ("visible", "off"); |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
614 %! unwind_protect |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
615 %! plot (11:20, [21:24, NaN, -Inf, 27:30]); |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
616 %! hold all; |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
617 %! plot (11:20, 25.5 + rand (10)); |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
618 %! axis tight; |
14063
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
619 %! assert (axis (), [11 20 21 30]); |
14054
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
620 %! unwind_protect_cleanup |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
621 %! close (hf); |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
622 %! end_unwind_protect |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
623 |
14063
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
624 %!test |
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
625 %! hf = figure ("visible", "off"); |
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
626 %! unwind_protect |
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
627 %! a = logspace (-5, 1, 10); |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
628 %! loglog (a, -a); |
14063
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
629 %! axis tight; |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
630 %! assert (axis (), [1e-5, 10, -10, -1e-5]); |
14063
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
631 %! unwind_protect_cleanup |
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
632 %! close (hf); |
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
633 %! end_unwind_protect |
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
634 |
17427
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
635 ## Test 'axis tight' with differently oriented, differently numbered data vecs |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
636 ## Bug #40036. |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
637 %!test |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
638 %! hf = figure ("visible", "off"); |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
639 %! unwind_protect |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
640 %! Z = peaks (linspace (-3, 3, 49), linspace (-2, 2, 29)); |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
641 %! surf (Z); |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
642 %! axis tight; |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
643 %! assert (axis (), [1 49 1 29 min(Z(:)) max(Z(:))]); |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
644 %! unwind_protect_cleanup |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
645 %! close (hf); |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
646 %! end_unwind_protect |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
647 |