annotate scripts/plot/pbaspect.m @ 15063:36cbcc37fdb8

Refactor configure.ac to make it more understandable. Use common syntax for messages in config.h Correct typos, refer to libraries in all caps, use two spaces after period. Follow Autoconf guidelines and place general tests before specific tests. * configure.ac, m4/acinclude.m4: Use common syntax for messages in config.h Correct typos, refer to libraries in all caps, use two spaces after period. Follow Autoconf guidelines and place general tests before specific tests.
author Rik <rik@octave.org>
date Tue, 31 Jul 2012 10:28:51 -0700
parents 4506eade9f04
children 36dba9be680b
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: 12575
diff changeset
1 ## Copyright (C) 2010-2012 Ben Abbott
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11563
diff changeset
2 ##
11104
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10711
diff changeset
3 ## This file is part of Octave.
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10711
diff changeset
4 ##
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10711
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10711
diff changeset
6 ## under the terms of the GNU General Public License as published by
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10711
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10711
diff changeset
8 ## your option) any later version.
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10711
diff changeset
9 ##
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10711
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10711
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10711
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10711
diff changeset
13 ## General Public License for more details.
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10711
diff changeset
14 ##
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
18
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
19 ## -*- texinfo -*-
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
20 ## @deftypefn {Function File} {} pbaspect (@var{plot_box_aspect_ratio})
10711
fbd7843974fa Periodic grammar check of documentation files to ensure common format.
Rik <octave@nomad.inbox5.com>
parents: 10218
diff changeset
21 ## Set the plot box aspect ratio of the current axes. The aspect ratio
11563
3c6e8aaa9555 Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
22 ## is a normalized 3-element vector representing the rendered lengths of
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
23 ## the x, y, and z-axes.
12526
f8ea3eabcb85 Add daspect, pbaspect functions to documentation.
Rik <octave@nomad.inbox5.com>
parents: 11589
diff changeset
24 ##
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
25 ## @deftypefnx {Function File} {@var{plot_box_aspect_ratio} =} pbaspect ( )
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
26 ## Return the plot box aspect ratio of the current axes.
12526
f8ea3eabcb85 Add daspect, pbaspect functions to documentation.
Rik <octave@nomad.inbox5.com>
parents: 11589
diff changeset
27 ##
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
28 ## @deftypefnx {Function File} {} pbaspect (@var{mode})
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
29 ## Set the plot box aspect ratio mode of the current axes.
12526
f8ea3eabcb85 Add daspect, pbaspect functions to documentation.
Rik <octave@nomad.inbox5.com>
parents: 11589
diff changeset
30 ##
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
31 ## @deftypefnx {Function File} {@var{plot_box_aspect_ratio_mode} =} pbaspect ("mode")
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
32 ## Return the plot box aspect ratio mode of the current axes.
12526
f8ea3eabcb85 Add daspect, pbaspect functions to documentation.
Rik <octave@nomad.inbox5.com>
parents: 11589
diff changeset
33 ##
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
34 ## @deftypefnx {Function File} {} pbaspect (@var{hax}, @dots{})
12575
d0b799dafede Grammarcheck files for 3.4.1 release.
Rik <octave@nomad.inbox5.com>
parents: 12526
diff changeset
35 ## Use the axes, with handle @var{hax}, instead of the current axes.
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
36 ##
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
37 ## @seealso{axis, daspect, xlim, ylim, zlim}
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
38 ## @end deftypefn
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
39
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
40 ## Author: Ben Abbott <bpabbott@mac.com>
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
41 ## Created: 2010-01-26
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
42
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
43 function varargout = pbaspect (varargin)
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
44
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
45 hax = gca ();
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
46
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
47 if (nargin > 0)
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
48 if (isscalar (varargin{1}) && ishandle (varargin{1}))
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
49 hax = varargin{1};
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
50 varargin = varargin(2:end);
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
51 endif
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
52 endif
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
53 if (numel (varargin) > 0)
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
54 if (numel (varargin) == 1)
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
55 if (ischar (varargin{1})
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
56 && any (strcmpi (varargin{1}, {"mode", "manual", "auto"})))
11120
a44f979a35ce style fixes for some .m files
John W. Eaton <jwe@octave.org>
parents: 11113
diff changeset
57 switch (varargin{1})
a44f979a35ce style fixes for some .m files
John W. Eaton <jwe@octave.org>
parents: 11113
diff changeset
58 case "mode"
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
59 if (nargout < 2)
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
60 varargout{1} = get (hax, "plotboxaspectratiomode");
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
61 return
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
62 else
11589
b0084095098e missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents: 11588
diff changeset
63 error ("pbaspect: only one output is allowed");
11113
a8ac114ec9ab Stylefixes, replace end by endif.
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 11104
diff changeset
64 endif
11120
a44f979a35ce style fixes for some .m files
John W. Eaton <jwe@octave.org>
parents: 11113
diff changeset
65 case "manual"
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
66 set (hax, "plotboxaspectratiomode", "manual");
11120
a44f979a35ce style fixes for some .m files
John W. Eaton <jwe@octave.org>
parents: 11113
diff changeset
67 case "auto"
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
68 set (hax, "plotboxaspectratiomode", "auto");
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
69 endswitch
11310
ffbcb0edfbda Fix handling of input array of length 2 in daspect.m and pbaspect.m
Ben Abbott <bpabbott@mac.com>
parents: 11161
diff changeset
70 elseif (isreal (varargin{1}) && numel (varargin{1}) == 2)
11589
b0084095098e missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents: 11588
diff changeset
71 set (hax, "plotboxaspectratio", [varargin{1}, 1]);
11310
ffbcb0edfbda Fix handling of input array of length 2 in daspect.m and pbaspect.m
Ben Abbott <bpabbott@mac.com>
parents: 11161
diff changeset
72 elseif (isreal (varargin{1}) && numel (varargin{1}) == 3)
11589
b0084095098e missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents: 11588
diff changeset
73 set (hax, "plotboxaspectratio", varargin{1});
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
74 else
11589
b0084095098e missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents: 11588
diff changeset
75 error ("pbaspect: invalid input");
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
76 endif
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
77 elseif (numel (varargin) > 1)
11589
b0084095098e missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents: 11588
diff changeset
78 error ("pbaspect: too many inputs");
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
79 endif
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
80 elseif (nargout == 0)
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
81 print_usage ();
11113
a8ac114ec9ab Stylefixes, replace end by endif.
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 11104
diff changeset
82 endif
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
83
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
84 if (nargout == 1)
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
85 varargout{1} = get (hax, "plotboxaspectratio");
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
86 elseif (nargout > 1)
11589
b0084095098e missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents: 11588
diff changeset
87 error ("pbaspect: only one output is allowed");
11113
a8ac114ec9ab Stylefixes, replace end by endif.
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 11104
diff changeset
88 endif
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
89
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
90 endfunction
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
91
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
92
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
93 %!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
94 %! clf;
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
95 %! x = 0:0.01:4;
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
96 %! plot (x,cos(x), 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
97 %! pbaspect ([1 1 1]);
14245
4506eade9f04 Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents: 14237
diff changeset
98 %! title ('plot box is square');
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
99
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
100 %!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
101 %! clf;
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
102 %! x = 0:0.01:4;;
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
103 %! plot (x,cos(x), 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
104 %! pbaspect ([2 1 1]);
14245
4506eade9f04 Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents: 14237
diff changeset
105 %! title ('plot box aspect ratio is 2x1');
10218
ce94aaa71a4f daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
106
11161
2e32236eaa90 Add demos setting both data and plotbox aspect ratios.
Ben Abbott <bpabbott@mac.com>
parents: 11120
diff changeset
107 %!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
108 %! clf;
11161
2e32236eaa90 Add demos setting both data and plotbox aspect ratios.
Ben Abbott <bpabbott@mac.com>
parents: 11120
diff changeset
109 %! x = 0:0.01:4;
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
110 %! plot (x,cos(x), 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
111 %! daspect ([1 1 1]);
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
112 %! pbaspect ([2 1 1]);
14245
4506eade9f04 Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents: 14237
diff changeset
113 %! title ('plot box is 2x1, and axes [0 4 -1 1]');
11161
2e32236eaa90 Add demos setting both data and plotbox aspect ratios.
Ben Abbott <bpabbott@mac.com>
parents: 11120
diff changeset
114