annotate scripts/plot/xlim.m @ 17453:2fee3022ac2f

compass.m: Overhaul function. * scripts/plot/compass.m: Reduce arrowhead to 20% of body length. Recode input validation to be simpler.
author Rik <rik@octave.org>
date Thu, 19 Sep 2013 13:48:54 -0700
parents bc924baa2c4e
children 9e4e24a0a118
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14138
72c96de7a403 maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents: 13141
diff changeset
1 ## Copyright (C) 2007-2012 David Bateman
7050
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
2 ##
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
3 ## This file is part of Octave.
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
4 ##
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
8 ## your option) any later version.
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
9 ##
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
13 ## General Public License for more details.
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
14 ##
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
18
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
19 ## -*- texinfo -*-
17126
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14359
diff changeset
20 ## @deftypefn {Function File} {@var{xlimits} =} xlim ()
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14359
diff changeset
21 ## @deftypefnx {Function File} {@var{xmode} =} xlim ("mode")
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14359
diff changeset
22 ## @deftypefnx {Function File} {} xlim ([@var{x_lo} @var{x_hi}])
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14359
diff changeset
23 ## @deftypefnx {Function File} {} xlim ("auto")
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14359
diff changeset
24 ## @deftypefnx {Function File} {} xlim ("manual")
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14359
diff changeset
25 ## @deftypefnx {Function File} {} xlim (@var{hax}, @dots{})
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14359
diff changeset
26 ## Query or set the limits of the x-axis of the current plot.
14171
2ced2f59f523 doc: miscellaneous documentation improvements
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
27 ##
17126
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14359
diff changeset
28 ## Called without arguments @code{xlim} returns the x-axis limits of the
17289
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17126
diff changeset
29 ## current plot. With the input query @qcode{"mode"}, return the current
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17126
diff changeset
30 ## x-limit calculation mode which is either @qcode{"auto"} or
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17126
diff changeset
31 ## @qcode{"manual"}.
17126
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14359
diff changeset
32 ##
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14359
diff changeset
33 ## If passed a 2-element vector [@var{x_lo} @var{x_hi}], the limits of the
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14359
diff changeset
34 ## x-axis are set to these values.
7050
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
35 ##
17289
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17126
diff changeset
36 ## The current plotting mode can be set by passing either @qcode{"auto"} or
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 17126
diff changeset
37 ## @qcode{"manual"} as the argument.
7050
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
38 ##
17126
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14359
diff changeset
39 ## 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: 14359
diff changeset
40 ## this axis rather than the current axes returned by @code{gca}.
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 14359
diff changeset
41 ## @seealso{ylim, zlim, axis, set, get, gca}
7050
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
42 ## @end deftypefn
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
43
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
44 function retval = xlim (varargin)
7208
a730e47fda4d [project @ 2007-11-28 02:32:41 by jwe]
jwe
parents: 7050
diff changeset
45 ret = __axes_limits__ ("xlim", varargin{:});
7050
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
46
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
47 if (! isempty (ret))
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
48 retval = ret;
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
49 endif
bd56a0609c4f [project @ 2007-10-23 12:02:17 by dbateman]
dbateman
parents:
diff changeset
50 endfunction
13083
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
51
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14171
diff changeset
52
13083
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
53 %!demo
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14171
diff changeset
54 %! clf;
13083
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
55 %! line ();
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
56 %! xlim ([0.2, 0.8]);
14245
4506eade9f04 Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents: 14237
diff changeset
57 %! title ('xlim is [0.2, 0.8]');
13083
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
58 %! assert (xlim (), [0.2, 0.8]);
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
59
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
60 %!demo
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14171
diff changeset
61 %! clf;
13083
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
62 %! line ();
14245
4506eade9f04 Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents: 14237
diff changeset
63 %! xlim ('auto');
4506eade9f04 Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents: 14237
diff changeset
64 %! title ('xlim is auto');
4506eade9f04 Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents: 14237
diff changeset
65 %! assert (xlim ('mode'), 'auto');
13083
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
66
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
67 %!demo
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14171
diff changeset
68 %! clf;
13083
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
69 %! plot3 ([0,1], [0,1], [0,1]);
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
70 %! xlim ([0.2, 0.8]);
14245
4506eade9f04 Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents: 14237
diff changeset
71 %! title ('xlim is [0.2, 0.8]');
13083
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
72 %! assert (xlim (), [0.2, 0.8]);
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
73
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
74 %!demo
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14171
diff changeset
75 %! clf;
13083
0e231bbd78bc codesprint: demos for xlim, ylim, and zlim
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
76 %! plot3 ([0,1], [0,1], [0,1]);
14245
4506eade9f04 Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents: 14237
diff changeset
77 %! xlim ('auto');
4506eade9f04 Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents: 14237
diff changeset
78 %! title ('xlim is auto');
4506eade9f04 Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents: 14237
diff changeset
79 %! assert (xlim ('mode'), 'auto');
13096
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
80
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
81 %!test
13124
2ea1658ad049 Don't use explicit figure number for tests to avoid interference with any figures opened by user.
Kai Habel <kai.habel@gmx.de>
parents: 13096
diff changeset
82 %! hf = figure ("visible", "off");
13141
e81ddf9cacd5 maint: untabify and remove trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 13124
diff changeset
83 %! unwind_protect
13096
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
84 %! plot3 ([0,1], [0,1], [0,1]);
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
85 %! xlim ([0, 1.1]);
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
86 %! assert (get (gca, "xlim"), [0, 1.1], eps);
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
87 %! assert (xlim ("mode"), "manual");
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
88 %! unwind_protect_cleanup
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
89 %! close (hf);
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
90 %! end_unwind_protect
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
91
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
92 %!test
13124
2ea1658ad049 Don't use explicit figure number for tests to avoid interference with any figures opened by user.
Kai Habel <kai.habel@gmx.de>
parents: 13096
diff changeset
93 %! hf = figure ("visible", "off");
13141
e81ddf9cacd5 maint: untabify and remove trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 13124
diff changeset
94 %! unwind_protect
13096
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
95 %! h = plot3 ([0,1.1], [0,1], [0, 1]);
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
96 %! assert (get (gca, "xlim"), [0, 1.4], eps);
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
97 %! assert (xlim ("mode"), "auto");
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
98 %! unwind_protect_cleanup
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
99 %! close (hf);
5553412c6614 Tests for scripts/plot
Kai Habel <kai.habel@gmx.de>
parents: 13083
diff changeset
100 %! end_unwind_protect
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14171
diff changeset
101