Mercurial > hg > octave-lyh
annotate scripts/plot/daspect.m @ 11104:2c356a35d7f5
fix copyright notices
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sun, 17 Oct 2010 23:43:42 -0400 |
parents | a72d53df4fa6 |
children | a8ac114ec9ab |
rev | line source |
---|---|
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
1 ## Copyright (C) 2010 Ben Abbott |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
2 ## |
11104 | 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 | |
7 ## the Free Software Foundation; either version 3 of the License, or (at | |
8 ## your option) any later version. | |
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 ## | |
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} {} daspect (@var{data_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 data aspect ratio of the current axes. The aspect ratio is |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
22 ## a normalized 3 element vector representing the span of the x, y, and |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
23 ## z-axes limits. |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
24 ## @deftypefnx {Function File} {@var{data_aspect_ratio} =} daspect ( ) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
25 ## Return the data aspect ratio of the current axes. |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
26 ## @deftypefnx {Function File} {} daspect (@var{mode}) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
27 ## Set the data aspect ratio mode of the current axes. |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
28 ## @deftypefnx {Function File} {@var{data_aspect_ratio_mode} =} daspect ("mode") |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
29 ## Return the data aspect ratio mode of the current axes. |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
30 ## @deftypefnx {Function File} {} daspect (@var{hax}, @dots{}) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
31 ## Uses the axes, with handle @var{hax}, instead of the current axes. |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
32 ## |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
33 ## @seealso{axis, pbaspect, xlim, ylim, zlim} |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
34 ## @end deftypefn |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
35 |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
36 ## Author: Ben Abbott <bpabbott@mac.com> |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
37 ## Created: 2010-01-26 |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
38 |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
39 function varargout = daspect (varargin) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
40 |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
41 hax = gca (); |
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 if (nargin > 0) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
44 if (isscalar (varargin{1}) && ishandle (varargin{1})) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
45 hax = varargin{1}; |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
46 varargin = varargin(2:end); |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
47 endif |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
48 endif |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
49 if (numel (varargin) > 0) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
50 if (numel (varargin) == 1) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
51 if (ischar (varargin{1}) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
52 && any (strcmpi (varargin{1}, {"mode", "manual", "auto"}))) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
53 switch varargin{1} |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
54 case {"mode"} |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
55 if (nargout < 2) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
56 varargout{1} = get (hax, "dataaspectratiomode"); |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
57 return |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
58 else |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
59 error ("daspect: only one output is allowed.") |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
60 end |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
61 case {"manual"} |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
62 set (hax, "dataaspectratiomode", "manual"); |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
63 case {"auto"} |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
64 set (hax, "dataaspectratiomode", "auto"); |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
65 endswitch |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
66 elseif (isreal (varargin{1}) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
67 && any (numel (varargin{1}) == [2 3])) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
68 set (hax, "dataaspectratio", varargin{1}) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
69 else |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
70 error ("daspect: invalid input.") |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
71 endif |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
72 elseif (numel (varargin) > 1) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
73 error ("daspect: too many inputs.") |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
74 endif |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
75 elseif (nargout == 0) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
76 print_usage (); |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
77 end |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
78 |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
79 if (nargout == 1) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
80 varargout{1} = get (hax, "dataaspectratio"); |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
81 elseif (nargout > 1) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
82 error ("daspect: only one output is allowed.") |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
83 end |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
84 |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
85 endfunction |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
86 |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
87 %!demo |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
88 %! x = 0:0.01:4; |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
89 %! clf |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
90 %! plot (x, cos (x), x, sin (x)) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
91 %! axis square |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
92 %! daspect ([1 1 1]) |
10931
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
93 %! title ("square plot-box with axis limits [0, 4, -2, 2]") |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
94 |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
95 %!demo |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
96 %! x = 0:0.01:4; |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
97 %! clf |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
98 %! plot (x, cos (x), x, sin (x)) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
99 %! axis ([0 4 -1 1]) |
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
100 %! daspect ([2 1 1]) |
10931
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
101 %! title ("square plot-box with axis limits [0, 4, -1, 1]") |
10218
ce94aaa71a4f
daspect.m, pbaspect.m: New functions.
Ben Abbott <bpabbott@mac.com>
parents:
diff
changeset
|
102 |
10931
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
103 %!demo |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
104 %! x = 0:0.01:4; |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
105 %! clf |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
106 %! plot (x, cos (x), x, sin (x)) |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
107 %! axis square |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
108 %! set (gca, "activepositionproperty", "position") |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
109 %! daspect ([1 1 1]) |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
110 %! title ("square plot-box with axis limits [0, 4, -2, 2]") |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
111 |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
112 %!demo |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
113 %! x = 0:0.01:4; |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
114 %! clf |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
115 %! plot (x, cos (x), x, sin (x)) |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
116 %! axis ([0 4 -1 1]) |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
117 %! set (gca, "activepositionproperty", "position") |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
118 %! daspect ([2 1 1]) |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
119 %! title ("square plot-box with axis limits [0, 4, -1, 1]") |
a72d53df4fa6
Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents:
10711
diff
changeset
|
120 |