Mercurial > octave
annotate scripts/plot/appearance/axis.m @ 22069:9121d6584f6a
Overhaul graphics implementation of hold() (bug #43559).
* NEWS: Announce possible color changes in plots relying on "hold on".
* hold.m: Deprecate "hold all" in docstring. Eliminate use of __hold_all__
graphics property. Update %!demo to use "hold on" only.
* ishold.m: Put input validation first. Use switch statement rather than
if/else tree for clarity.
* graphics.in.h: Remove hidden __hold_all__ graphics property of axes.
* graphics.cc (axes::properties::set_defaults): Remove use of __hold_all__.
* newplot.m: Delete kluge use of __next_line_color__ and __next_line_style__.
Set colororderindex and linestyleorderindex to 1 on new plots.
* __next_line_color__.m: Completely rewrite to use the axes graphic property
"colororderindex" to keep track of which color should be used next. Also
increment "linestyleorderindex" when number of colors used rolls over so that
colors will repeat with the next linestyle in the series. Update BIST test.
* __next_line_style__.m: Completely rewrite to use the axes graphic property
"linestyleorderindex" to keep track of which linestyle should be used next.
* imagesc.m, axis.m, legend.m: Replace "hold all" with "hold on" in all demos.
author | Rik <rik@octave.org> |
---|---|
date | Thu, 07 Jul 2016 13:07:03 -0700 |
parents | a4c744194bbb |
children | 283d8dfcad37 |
rev | line source |
---|---|
19697
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
19596
diff
changeset
|
1 ## Copyright (C) 1994-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/>. | |
590 | 18 |
3368 | 19 ## -*- texinfo -*- |
20852
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20778
diff
changeset
|
20 ## @deftypefn {} {} axis () |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20778
diff
changeset
|
21 ## @deftypefnx {} {} axis ([@var{x}_lo @var{x}_hi]) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20778
diff
changeset
|
22 ## @deftypefnx {} {} axis ([@var{x}_lo @var{x}_hi @var{y}_lo @var{y}_hi]) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20778
diff
changeset
|
23 ## @deftypefnx {} {} axis ([@var{x}_lo @var{x}_hi @var{y}_lo @var{y}_hi @var{z}_lo @var{z}_hi]) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20778
diff
changeset
|
24 ## @deftypefnx {} {} axis (@var{option}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20778
diff
changeset
|
25 ## @deftypefnx {} {} axis (@dots{}, @var{option}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20778
diff
changeset
|
26 ## @deftypefnx {} {} axis (@var{hax}, @dots{}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20778
diff
changeset
|
27 ## @deftypefnx {} {@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 |
18571
89a8a90ac850
axis.m: Use -Inf/Inf to indicated autoscaling for a particular bound (bug #37006).
pantxo <pantxo.diribarne@gmail.com>
parents:
18524
diff
changeset
|
33 ## fifth and sixth specify the limits for the z-axis. The special values |
89a8a90ac850
axis.m: Use -Inf/Inf to indicated autoscaling for a particular bound (bug #37006).
pantxo <pantxo.diribarne@gmail.com>
parents:
18524
diff
changeset
|
34 ## -Inf and Inf may be used to indicate that the limit should automatically be |
89a8a90ac850
axis.m: Use -Inf/Inf to indicated autoscaling for a particular bound (bug #37006).
pantxo <pantxo.diribarne@gmail.com>
parents:
18524
diff
changeset
|
35 ## computed based on the data in the axis. |
3426 | 36 ## |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11577
diff
changeset
|
37 ## Without any arguments, @code{axis} turns autoscaling on. |
4945 | 38 ## |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17045
diff
changeset
|
39 ## 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
|
40 ## axis limits. |
3667 | 41 ## |
20173
777f26aa8e3e
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19880
diff
changeset
|
42 ## The vector argument specifying limits is optional, and additional string |
777f26aa8e3e
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19880
diff
changeset
|
43 ## arguments may be used to specify various axis properties. For example, |
3667 | 44 ## |
45 ## @example | |
46 ## axis ([1, 2, 3, 4], "square"); | |
47 ## @end example | |
48 ## | |
49 ## @noindent | |
3668 | 50 ## forces a square aspect ratio, and |
51 ## | |
52 ## @example | |
11563
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
53 ## axis ("tic", "labely"); |
3668 | 54 ## @end example |
55 ## | |
56 ## @noindent | |
20173
777f26aa8e3e
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19880
diff
changeset
|
57 ## turns tic marks on for all axes and tic mark labels on for the y-axis 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"} |
21808
a4c744194bbb
Add equal data aspect ratio to gnuplot graphics toolkit 3D plots (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
21385
diff
changeset
|
64 ## Force a square axis 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"} |
21808
a4c744194bbb
Add equal data aspect ratio to gnuplot graphics toolkit 3D plots (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
21385
diff
changeset
|
67 ## Force x-axis unit distance to equal y-axis (and z-axis) unit 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"} |
20173
777f26aa8e3e
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19880
diff
changeset
|
78 ## Set the specified axes to have nice limits around the data or all if no |
777f26aa8e3e
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19880
diff
changeset
|
79 ## 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]"} |
20173
777f26aa8e3e
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19880
diff
changeset
|
102 ## Turn tic marks on for all axes, or turn them on for the specified axes and |
777f26aa8e3e
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19880
diff
changeset
|
103 ## 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]"} |
20173
777f26aa8e3e
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19880
diff
changeset
|
106 ## Turn tic labels on for all axes, or turn them on for the specified axes |
777f26aa8e3e
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19880
diff
changeset
|
107 ## 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 ## |
20173
777f26aa8e3e
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19880
diff
changeset
|
126 ## If the first argument @var{hax} is an axes handle, then operate on this |
777f26aa8e3e
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
19880
diff
changeset
|
127 ## axes rather than the current axes returned by @code{gca}. |
17122
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"); |
18475
00d684465379
axis.m: Make "image" and "square" compatible with Matlab (bug #41581).
Rik <rik@octave.org>
parents:
18468
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")) |
18475
00d684465379
axis.m: Make "image" and "square" compatible with Matlab (bug #41581).
Rik <rik@octave.org>
parents:
18468
diff
changeset
|
191 set (ca, "dataaspectratiomode", "auto", |
00d684465379
axis.m: Make "image" and "square" compatible with Matlab (bug #41581).
Rik <rik@octave.org>
parents:
18468
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")) |
18468 | 194 set (ca, "dataaspectratio", [1, 1, 1], "plotboxaspectratio", [5 4 4]); |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
18668
diff
changeset
|
195 |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
196 elseif (strcmpi (ax, "normal")) |
18468 | 197 ## Set plotboxaspectratio to something obtuse so that switching |
198 ## back to "auto" will force a re-calculation. | |
199 set (ca, "plotboxaspectratio", [3 2 1]); | |
200 set (ca, "plotboxaspectratiomode", "auto", | |
201 "dataaspectratiomode", "auto"); | |
3667 | 202 |
203 ## axis limits | |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
204 elseif (len >= 4 && strcmpi (ax(1:4), "auto")) |
4340 | 205 if (len > 4) |
10549 | 206 if (any (ax == "x")) |
207 set (ca, "xlimmode", "auto"); | |
208 endif | |
209 if (any (ax == "y")) | |
210 set (ca, "ylimmode", "auto"); | |
211 endif | |
212 if (any (ax == "z")) | |
213 set (ca, "zlimmode", "auto"); | |
214 endif | |
3667 | 215 else |
10549 | 216 set (ca, "xlimmode", "auto", "ylimmode", "auto", "zlimmode", "auto"); |
3667 | 217 endif |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
218 elseif (strcmpi (ax, "manual")) |
3667 | 219 ## fixes the axis limits, like axis(axis) should; |
6257 | 220 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
|
221 elseif (strcmpi (ax, "tight")) |
7376 | 222 ## sets the axis limits to the min and max of all data. |
223 __do_tight_option__ (ca); | |
3667 | 224 ## tic marks |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
225 elseif (strcmpi (ax, "on") || strcmpi (ax, "tic")) |
6257 | 226 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
|
227 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
|
228 set (ca, "xticklabelmode", "auto", "yticklabelmode", "auto", |
10549 | 229 "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
|
230 endif |
6765 | 231 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
|
232 elseif (strcmpi (ax, "off")) |
6257 | 233 set (ca, "xtick", [], "ytick", [], "ztick", []); |
6765 | 234 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
|
235 elseif (len > 3 && strcmpi (ax(1:3), "tic")) |
4340 | 236 if (any (ax == "x")) |
10549 | 237 set (ca, "xtickmode", "auto"); |
3667 | 238 else |
10549 | 239 set (ca, "xtick", []); |
3667 | 240 endif |
4340 | 241 if (any (ax == "y")) |
10549 | 242 set (ca, "ytickmode", "auto"); |
3667 | 243 else |
10549 | 244 set (ca, "ytick", []); |
3667 | 245 endif |
4340 | 246 if (any (ax == "z")) |
10549 | 247 set (ca, "ztickmode", "auto"); |
3667 | 248 else |
10549 | 249 set (ca, "ztick", []); |
3667 | 250 endif |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
251 elseif (strcmpi (ax, "label")) |
6257 | 252 set (ca, "xticklabelmode", "auto", "yticklabelmode", "auto", |
10549 | 253 "zticklabelmode", "auto"); |
8190
73d6b71788c0
use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents:
7994
diff
changeset
|
254 elseif (strcmpi (ax, "nolabel")) |
6257 | 255 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
|
256 elseif (len > 5 && strcmpi (ax(1:5), "label")) |
4340 | 257 if (any (ax == "x")) |
10549 | 258 set (ca, "xticklabelmode", "auto"); |
3667 | 259 else |
10549 | 260 set (ca, "xticklabel", ""); |
3667 | 261 endif |
4340 | 262 if (any (ax == "y")) |
10549 | 263 set (ca, "yticklabelmode", "auto"); |
3667 | 264 else |
10549 | 265 set (ca, "yticklabel", ""); |
3667 | 266 endif |
4340 | 267 if (any (ax == "z")) |
10549 | 268 set (ca, "zticklabelmode", "auto"); |
3667 | 269 else |
10549 | 270 set (ca, "zticklabel", ""); |
3667 | 271 endif |
272 | |
273 else | |
20727
a5949b3d2332
Preface warning() messages with name of function when possible.
Rik <rik@octave.org>
parents:
20711
diff
changeset
|
274 warning ("axis: unknown option '%s'", ax); |
3667 | 275 endif |
276 | |
4030 | 277 elseif (isvector (ax)) |
590 | 278 |
279 len = length (ax); | |
280 | |
281 if (len != 2 && len != 4 && len != 6) | |
20711
7b608fadc663
Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents:
20231
diff
changeset
|
282 error ("axis: LIMITS vector must have 2, 4, or 6 elements"); |
590 | 283 endif |
284 | |
5627 | 285 for i = 1:2:len |
13031 | 286 if (ax(i) >= ax(i+1)) |
20711
7b608fadc663
Make error messages more specific about the variable and problem encountered.
Rik <rik@octave.org>
parents:
20231
diff
changeset
|
287 error ("axis: LIMITS(%d) must be less than LIMITS(%d)", i, i+1); |
5627 | 288 endif |
289 endfor | |
290 | |
590 | 291 if (len > 1) |
18669
cf3db95a75f0
axis.m: Fix regression when accepting input handle (cset 5032ac119d52).
Rik <rik@octave.org>
parents:
18588
diff
changeset
|
292 xlim (ca, ax(1:2)); |
590 | 293 endif |
294 | |
295 if (len > 3) | |
18669
cf3db95a75f0
axis.m: Fix regression when accepting input handle (cset 5032ac119d52).
Rik <rik@octave.org>
parents:
18588
diff
changeset
|
296 ylim (ca, ax(3:4)); |
590 | 297 endif |
298 | |
299 if (len > 5) | |
18669
cf3db95a75f0
axis.m: Fix regression when accepting input handle (cset 5032ac119d52).
Rik <rik@octave.org>
parents:
18588
diff
changeset
|
300 zlim (ca, ax(5:6)); |
590 | 301 endif |
302 | |
303 else | |
595 | 304 error ("axis: expecting no args, or a vector with 2, 4, or 6 elements"); |
590 | 305 endif |
306 | |
7376 | 307 if (! isempty (varargin)) |
7189 | 308 __axis__ (ca, varargin{:}); |
3667 | 309 endif |
6447 | 310 |
590 | 311 endfunction |
3667 | 312 |
7376 | 313 function lims = __get_tight_lims__ (ca, ax) |
314 | |
315 ## Get the limits for axis ("tight"). | |
316 ## AX should be one of "x", "y", or "z". | |
20778
8513c84a13cb
Use parser string concatenation rather than strcat() for performance in m-files.
Rik <rik@octave.org>
parents:
20727
diff
changeset
|
317 kids = findobj (ca, "-property", [ax "data"]); |
14054
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
318 ## 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
|
319 ## Exclude the redundant hgroup values. |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
320 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
|
321 kids = setdiff (kids, hg_kids); |
7376 | 322 if (isempty (kids)) |
323 ## Return the current limits. | |
20778
8513c84a13cb
Use parser string concatenation rather than strcat() for performance in m-files.
Rik <rik@octave.org>
parents:
20727
diff
changeset
|
324 lims = get (ca, [ax "lim"]); |
7376 | 325 else |
20778
8513c84a13cb
Use parser string concatenation rather than strcat() for performance in m-files.
Rik <rik@octave.org>
parents:
20727
diff
changeset
|
326 data = get (kids, [ax "data"]); |
18524
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18475
diff
changeset
|
327 types = get (kids, "type"); |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
18668
diff
changeset
|
328 |
20778
8513c84a13cb
Use parser string concatenation rather than strcat() for performance in m-files.
Rik <rik@octave.org>
parents:
20727
diff
changeset
|
329 scale = get (ca, [ax "scale"]); |
14054
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
330 if (! iscell (data)) |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
331 data = {data}; |
14552
86854d032a37
maint: miscellaneous style fixes for .m files
John W. Eaton <jwe@octave.org>
parents:
14247
diff
changeset
|
332 endif |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
18668
diff
changeset
|
333 |
18524
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18475
diff
changeset
|
334 ## Extend image data one pixel |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18475
diff
changeset
|
335 idx = strcmp (types, "image"); |
18668
01aa90ece9a4
axis.m: Fix regression setting tight limits on non-image objects.
Rik <rik@octave.org>
parents:
18524
diff
changeset
|
336 if (any (idx) && (ax == "x" || ax == "y")) |
18524
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18475
diff
changeset
|
337 imdata = data(idx); |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18475
diff
changeset
|
338 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:
18475
diff
changeset
|
339 ipx = ifelse (ax == "x", 1, 2); |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18475
diff
changeset
|
340 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:
18475
diff
changeset
|
341 imdata, px, "uniformoutput", false); |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18475
diff
changeset
|
342 data(idx) = imdata; |
bf0d2e51c8f0
axis.m: make 'tight' embrace whole images (bug #36594).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
18475
diff
changeset
|
343 endif |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
18668
diff
changeset
|
344 |
14054
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
345 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
|
346 tmp = data; |
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
347 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
|
348 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
|
349 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
|
350 endif |
14868
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14552
diff
changeset
|
351 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
|
352 data = data(! cellfun ("isempty", data)); |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
353 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
|
354 ## 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
|
355 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
|
356 lims = [min(data), max(data)]; |
7376 | 357 else |
14054
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
358 lims = [0, 1]; |
8610
85c9906abfd1
use endif and endfor instead of end
John W. Eaton <jwe@octave.org>
parents:
8507
diff
changeset
|
359 endif |
85c9906abfd1
use endif and endfor instead of end
John W. Eaton <jwe@octave.org>
parents:
8507
diff
changeset
|
360 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
|
361 |
7376 | 362 endfunction |
363 | |
364 function __do_tight_option__ (ca) | |
365 | |
17023 | 366 xlim = __get_tight_lims__ (ca, "x"); |
367 if (all (xlim == 0)) | |
368 xlim = eps () * [-1 1]; | |
369 elseif (diff (xlim == 0)) | |
20231
83792dd9bcc1
Use in-place operators in m-files where possible.
Rik <rik@octave.org>
parents:
20173
diff
changeset
|
370 xlim .*= (1 + eps () * [-1, 1]); |
17023 | 371 endif |
372 ylim = __get_tight_lims__ (ca, "y"); | |
373 if (all (ylim == 0)) | |
374 ylim = eps () * [-1 1]; | |
375 elseif (diff (ylim == 0)) | |
20231
83792dd9bcc1
Use in-place operators in m-files where possible.
Rik <rik@octave.org>
parents:
20173
diff
changeset
|
376 ylim .*= (1 + eps () * [-1, 1]); |
17023 | 377 endif |
21385
89fa0694aa2e
Fix check-missing-semicolon QA target (bug #47277).
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
378 set (ca, "xlim", xlim, "ylim", ylim); |
17564
234731d524c2
axis.m: Fix 'axis tight' with pcolor plots.
Rik <rik@octave.org>
parents:
17427
diff
changeset
|
379 nd = __calc_dimensions__ (ca); |
234731d524c2
axis.m: Fix 'axis tight' with pcolor plots.
Rik <rik@octave.org>
parents:
17427
diff
changeset
|
380 is3dview = (get (ca, "view")(2) != 90); |
234731d524c2
axis.m: Fix 'axis tight' with pcolor plots.
Rik <rik@octave.org>
parents:
17427
diff
changeset
|
381 if (nd > 2 && is3dview) |
17023 | 382 zlim = __get_tight_lims__ (ca, "z"); |
383 if (all (zlim == 0)) | |
384 zlim = eps () * [-1 1]; | |
385 elseif (diff (zlim == 0)) | |
20231
83792dd9bcc1
Use in-place operators in m-files where possible.
Rik <rik@octave.org>
parents:
20173
diff
changeset
|
386 zlim .*= (1 + eps () * [-1, 1]); |
17023 | 387 endif |
388 set (ca, "zlim", zlim); | |
11183
ac6a199be45e
Leave zlim unchanged during 'axis tight' on 2D plots
Konstantinos Poulios <logari81@googlemail.com>
parents:
11174
diff
changeset
|
389 endif |
7376 | 390 |
391 endfunction | |
392 | |
17045
6dec8dbf8a97
axis.m: Overhaul to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
17026
diff
changeset
|
393 |
3667 | 394 %!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
|
395 %! clf; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
396 %! 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
|
397 %! 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
|
398 %! |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
399 %! 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
|
400 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
401 %! 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
|
402 %! |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
403 %! 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
|
404 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
405 %! title ('square plot'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
406 %! 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
|
407 %! |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
408 %! 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
|
409 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
410 %! title ('equal plot'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
411 %! axis ('equal'); |
3667 | 412 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
413 %! 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
|
414 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
415 %! title ('normal plot again'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
416 %! 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
|
417 |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
418 %!demo |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
419 %! clf; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
420 %! 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
|
421 %! x = sin (t); |
3667 | 422 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
423 %! 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
|
424 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
425 %! title ('ij plot'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
426 %! 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
|
427 %! |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
428 %! 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
|
429 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
430 %! title ('xy plot'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
431 %! axis ('xy'); |
3667 | 432 |
433 %!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
|
434 %! clf; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
435 %! 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
|
436 %! x = sin (t); |
3667 | 437 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
438 %! 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
|
439 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
440 %! title ('x tics and labels'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
441 %! axis ('ticx'); |
3667 | 442 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
443 %! 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
|
444 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
445 %! title ('y tics and labels'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
446 %! axis ('ticy'); |
3667 | 447 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
448 %! 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
|
449 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
450 %! title ('axis off'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
451 %! axis ('off'); |
3667 | 452 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
453 %! 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
|
454 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
455 %! 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
|
456 %! axis ('labelx','tic'); |
3667 | 457 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
458 %! 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
|
459 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
460 %! 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
|
461 %! axis ('labely','tic'); |
3667 | 462 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
463 %! 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
|
464 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
465 %! 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
|
466 %! axis ('nolabel','tic'); |
3667 | 467 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
468 %! 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
|
469 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
470 %! title ('x tics, no labels'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
471 %! axis ('nolabel','ticx'); |
3667 | 472 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
473 %! 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
|
474 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
475 %! title ('y tics, no labels'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
476 %! axis ('nolabel','ticy'); |
3667 | 477 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
478 %! 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
|
479 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
480 %! title ('all tics and labels'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
481 %! axis ('on'); |
3667 | 482 |
483 %!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
|
484 %! clf; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
485 %! 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
|
486 %! x = sin (t); |
3667 | 487 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
488 %! 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
|
489 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
490 %! 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
|
491 %! axis ([0,3,0,1]); |
3667 | 492 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
493 %! 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
|
494 %! plot (t, x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
495 %! title ('auto'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
496 %! axis ('auto'); |
3667 | 497 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
498 %! subplot (323); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
499 %! 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
|
500 %! 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
|
501 %! title ('manual'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
502 %! axis ('manual'); |
3667 | 503 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
504 %! subplot (324); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
505 %! 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
|
506 %! 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
|
507 %! 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
|
508 %! axis ('autox'); |
3667 | 509 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
510 %! subplot (325); |
17026
be52288f827b
Tweak some plotting demos for messages and spelling.
Rik <rik@octave.org>
parents:
17023
diff
changeset
|
511 %! 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
|
512 %! 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
|
513 %! 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
|
514 %! axis ('autoy'); |
3667 | 515 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
516 %! 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
|
517 %! 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
|
518 %! axis ('tight'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
519 %! 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
|
520 |
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
|
521 %!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
|
522 %! clf; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
523 %! 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
|
524 %! 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
|
525 %! axis image; |
17026
be52288f827b
Tweak some plotting demos for messages and spelling.
Rik <rik@octave.org>
parents:
17023
diff
changeset
|
526 %! 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
|
527 |
9357
95ec56601497
axis.m: Fix bug for 'axis tight' with multiple surface plots, add demo.
Ben Abbott <bpabbott@mac.com>
parents:
9317
diff
changeset
|
528 %!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
|
529 %! 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
|
530 %! 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
|
531 %! [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
|
532 %! 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
|
533 %! 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
|
534 %! 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
|
535 %! [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
|
536 %! 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
|
537 %! 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
|
538 %! 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
|
539 |
11201
6c8791cb35b1
__go_draw_axes__.m: Set proper tight axis limits for log scale.
Ben Abbott <bpabbott@mac.com>
parents:
11191
diff
changeset
|
540 %!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
|
541 %! clf; |
11201
6c8791cb35b1
__go_draw_axes__.m: Set proper tight axis limits for log scale.
Ben Abbott <bpabbott@mac.com>
parents:
11191
diff
changeset
|
542 %! 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
|
543 %! 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
|
544 %! set (gca, 'yscale', 'log'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
545 %! 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
|
546 %! 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
|
547 |
13154 | 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; |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
550 %! 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
|
551 %! axis tight; |
13154 | 552 |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
553 %!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
|
554 %! clf; |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
555 %! 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
|
556 %! 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
|
557 %! plot (x, y); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
558 %! set (gca, 'xaxislocation', 'zero'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
559 %! 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
|
560 %! box off; |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
561 %! 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
|
562 |
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
563 %!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
|
564 %! clf; |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
565 %! 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
|
566 %! 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
|
567 %! plot (x, y); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
568 %! set (gca, 'xaxislocation', 'zero'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
569 %! 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
|
570 %! box off; |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
571 %! 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
|
572 |
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
573 %!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
|
574 %! clf; |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
575 %! 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
|
576 %! 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
|
577 %! plot (x, y); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
578 %! title ('no plot box'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
579 %! set (gca, 'xaxislocation', 'zero'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
580 %! 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
|
581 %! box off; |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
582 %! 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
|
583 |
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
584 %!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
|
585 %! clf; |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
586 %! 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
|
587 %! 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
|
588 %! plot (x, y); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
589 %! set (gca, 'xaxislocation', 'bottom'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
590 %! 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
|
591 %! box off; |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
592 %! 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
|
593 |
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
594 %!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
|
595 %! clf; |
13322
16a706965ee0
Allow the axis box to be turned off for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents:
13175
diff
changeset
|
596 %! 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
|
597 %! 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
|
598 %! plot (x, y); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
599 %! set (gca, 'xaxislocation', 'top'); |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
600 %! 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
|
601 %! box off; |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
602 %! 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
|
603 |
14054
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
604 %!test |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
605 %! hf = figure ("visible", "off"); |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
606 %! unwind_protect |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
607 %! plot (11:20, [21:24, NaN, -Inf, 27:30]); |
22069
9121d6584f6a
Overhaul graphics implementation of hold() (bug #43559).
Rik <rik@octave.org>
parents:
21808
diff
changeset
|
608 %! hold on; |
14054
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
609 %! plot (11:20, 25.5 + rand (10)); |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
610 %! axis tight; |
14063
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
611 %! assert (axis (), [11 20 21 30]); |
14054
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
612 %! unwind_protect_cleanup |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
613 %! close (hf); |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
614 %! end_unwind_protect |
ec79cd8359c5
Ignore Inf when determining tight axis limits.
Ben Abbott <bpabbott@mac.com>
parents:
13322
diff
changeset
|
615 |
14063
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
616 %!test |
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
617 %! hf = figure ("visible", "off"); |
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
618 %! unwind_protect |
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
619 %! 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
|
620 %! loglog (a, -a); |
14063
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
621 %! 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
|
622 %! 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
|
623 %! unwind_protect_cleanup |
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
624 %! close (hf); |
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
625 %! end_unwind_protect |
6875d23ce051
Fix regression of tight axis limits introduced by changeset ec79cd8359c5.
Ben Abbott <bpabbott@mac.com>
parents:
14054
diff
changeset
|
626 |
17427
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
627 ## 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
|
628 ## Bug #40036. |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
629 %!test |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
630 %! hf = figure ("visible", "off"); |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
631 %! unwind_protect |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
632 %! 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
|
633 %! surf (Z); |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
634 %! axis tight; |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
635 %! 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
|
636 %! unwind_protect_cleanup |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
637 %! close (hf); |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
638 %! end_unwind_protect |
15d592c82abc
test: Add test for bug #40036 to axis.m
Rik <rik@octave.org>
parents:
17426
diff
changeset
|
639 |