annotate scripts/plot/plot.m @ 16950:b34202b24212

fplot.m: Overhaul function for Matlab compatibility and performance (bug #38961). * scripts/plot/fplot.m: Add ability to specify n,tol,fmt in any order and simultaneously. Return data rather than plotting it if asked. Use additional test on progress of algorithm to decide whether to quit. Add %!demo and %!tests.
author Rik <rik@octave.org>
date Thu, 11 Jul 2013 09:25:54 -0700
parents fee211d42c5c
children 08dd9458684a
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: 14001
diff changeset
1 ## Copyright (C) 1993-2012 John W. Eaton
2313
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2311
diff changeset
2 ##
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2311
diff changeset
3 ## This file is part of Octave.
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2311
diff changeset
4 ##
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2311
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2311
diff changeset
6 ## under the terms of the GNU General Public License as published by
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6895
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6895
diff changeset
8 ## your option) any later version.
2313
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2311
diff changeset
9 ##
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2311
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2311
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2311
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2311
diff changeset
13 ## General Public License for more details.
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2311
diff changeset
14 ##
5ca126254d15 [project @ 1996-07-11 21:25:22 by jwe]
jwe
parents: 2311
diff changeset
15 ## You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6895
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6895
diff changeset
17 ## <http://www.gnu.org/licenses/>.
245
16a24e76d6e0 [project @ 1993-12-03 02:00:15 by jwe]
jwe
parents: 4
diff changeset
18
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
19 ## -*- texinfo -*-
10687
a8ce6bdecce5 Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents: 10121
diff changeset
20 ## @deftypefn {Function File} {} plot (@var{y})
6895
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
21 ## @deftypefnx {Function File} {} plot (@var{x}, @var{y})
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
22 ## @deftypefnx {Function File} {} plot (@var{x}, @var{y}, @var{property}, @var{value}, @dots{})
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
23 ## @deftypefnx {Function File} {} plot (@var{x}, @var{y}, @var{fmt})
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
24 ## @deftypefnx {Function File} {} plot (@var{h}, @dots{})
10687
a8ce6bdecce5 Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents: 10121
diff changeset
25 ## @deftypefnx {Function File} {@var{h} =} plot (@dots{})
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
26 ## Produce two-dimensional plots.
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
27 ##
11316
b7ff4a51ea88 plot.m: Eliminate present tense in first sentence of docstring.
Rik <octave@nomad.inbox5.com>
parents: 10791
diff changeset
28 ## Many different combinations of arguments are possible. The simplest
b7ff4a51ea88 plot.m: Eliminate present tense in first sentence of docstring.
Rik <octave@nomad.inbox5.com>
parents: 10791
diff changeset
29 ## form is
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
30 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
31 ## @example
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
32 ## plot (@var{y})
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
33 ## @end example
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
34 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
35 ## @noindent
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
36 ## where the argument is taken as the set of @var{y} coordinates and the
11316
b7ff4a51ea88 plot.m: Eliminate present tense in first sentence of docstring.
Rik <octave@nomad.inbox5.com>
parents: 10791
diff changeset
37 ## @var{x} coordinates are taken to be the indices of the elements
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
38 ## starting with 1.
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
39 ##
5798
7e7ed81f5566 [project @ 2006-05-09 17:24:33 by jwe]
jwe
parents: 5775
diff changeset
40 ## To save a plot, in one of several image formats such as PostScript
7e7ed81f5566 [project @ 2006-05-09 17:24:33 by jwe]
jwe
parents: 5775
diff changeset
41 ## or PNG, use the @code{print} command.
7e7ed81f5566 [project @ 2006-05-09 17:24:33 by jwe]
jwe
parents: 5775
diff changeset
42 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
43 ## If more than one argument is given, they are interpreted as
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
44 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
45 ## @example
6895
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
46 ## plot (@var{y}, @var{property}, @var{value}, @dots{})
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
47 ## @end example
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
48 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
49 ## @noindent
6895
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
50 ## or
6459
5dc550e1f419 [project @ 2007-03-26 18:11:58 by jwe]
jwe
parents: 6448
diff changeset
51 ##
5dc550e1f419 [project @ 2007-03-26 18:11:58 by jwe]
jwe
parents: 6448
diff changeset
52 ## @example
5dc550e1f419 [project @ 2007-03-26 18:11:58 by jwe]
jwe
parents: 6448
diff changeset
53 ## plot (@var{x}, @var{y}, @var{property}, @var{value}, @dots{})
5dc550e1f419 [project @ 2007-03-26 18:11:58 by jwe]
jwe
parents: 6448
diff changeset
54 ## @end example
5dc550e1f419 [project @ 2007-03-26 18:11:58 by jwe]
jwe
parents: 6448
diff changeset
55 ##
5dc550e1f419 [project @ 2007-03-26 18:11:58 by jwe]
jwe
parents: 6448
diff changeset
56 ## @noindent
6895
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
57 ## or
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
58 ##
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
59 ## @example
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
60 ## plot (@var{x}, @var{y}, @var{fmt}, @dots{})
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
61 ## @end example
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
62 ##
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
63 ## @noindent
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
64 ## and so on. Any number of argument sets may appear. The @var{x} and
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
65 ## @var{y} values are interpreted as follows:
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
66 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
67 ## @itemize @bullet
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
68 ## @item
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
69 ## If a single data argument is supplied, it is taken as the set of @var{y}
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
70 ## coordinates and the @var{x} coordinates are taken to be the indices of
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
71 ## the elements, starting with 1.
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
72 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
73 ## @item
6672
2f0abcba669c [project @ 2007-05-30 06:42:22 by jwe]
jwe
parents: 6459
diff changeset
74 ## If the @var{x} is a vector and @var{y} is a matrix, then
6177
6ac0c826459e [project @ 2006-11-16 18:49:38 by jwe]
jwe
parents: 5798
diff changeset
75 ## the columns (or rows) of @var{y} are plotted versus @var{x}.
2311
2b5788792cad [project @ 1996-07-11 20:18:38 by jwe]
jwe
parents: 2303
diff changeset
76 ## (using whichever combination matches, with columns tried first.)
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
77 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
78 ## @item
6177
6ac0c826459e [project @ 2006-11-16 18:49:38 by jwe]
jwe
parents: 5798
diff changeset
79 ## If the @var{x} is a matrix and @var{y} is a vector,
6ac0c826459e [project @ 2006-11-16 18:49:38 by jwe]
jwe
parents: 5798
diff changeset
80 ## @var{y} is plotted versus the columns (or rows) of @var{x}.
2311
2b5788792cad [project @ 1996-07-11 20:18:38 by jwe]
jwe
parents: 2303
diff changeset
81 ## (using whichever combination matches, with columns tried first.)
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
82 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
83 ## @item
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
84 ## If both arguments are vectors, the elements of @var{y} are plotted versus
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
85 ## the elements of @var{x}.
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
86 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
87 ## @item
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
88 ## If both arguments are matrices, the columns of @var{y} are plotted
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
89 ## versus the columns of @var{x}. In this case, both matrices must have
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
90 ## the same number of rows and columns and no attempt is made to transpose
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
91 ## the arguments to make the number of rows match.
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
92 ##
2311
2b5788792cad [project @ 1996-07-11 20:18:38 by jwe]
jwe
parents: 2303
diff changeset
93 ## If both arguments are scalars, a single point is plotted.
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
94 ## @end itemize
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
95 ##
6895
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
96 ## Multiple property-value pairs may be specified, but they must appear
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
97 ## in pairs. These arguments are applied to the lines drawn by
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
98 ## @code{plot}.
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
99 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
100 ## If the @var{fmt} argument is supplied, it is interpreted as
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
101 ## follows. If @var{fmt} is missing, the default gnuplot line style
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
102 ## is assumed.
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
103 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
104 ## @table @samp
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
105 ## @item -
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
106 ## Set lines plot style (default).
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
107 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
108 ## @item .
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
109 ## Set dots plot style.
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
110 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
111 ## @item @var{n}
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
112 ## Interpreted as the plot color if @var{n} is an integer in the range 1 to
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
113 ## 6.
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
114 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
115 ## @item @var{nm}
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
116 ## If @var{nm} is a two digit integer and @var{m} is an integer in the
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
117 ## range 1 to 6, @var{m} is interpreted as the point style. This is only
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
118 ## valid in combination with the @code{@@} or @code{-@@} specifiers.
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
119 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
120 ## @item @var{c}
6177
6ac0c826459e [project @ 2006-11-16 18:49:38 by jwe]
jwe
parents: 5798
diff changeset
121 ## If @var{c} is one of @code{"k"} (black), @code{"r"} (red), @code{"g"}
6ac0c826459e [project @ 2006-11-16 18:49:38 by jwe]
jwe
parents: 5798
diff changeset
122 ## (green), @code{"b"} (blue), @code{"m"} (magenta), @code{"c"} (cyan),
6ac0c826459e [project @ 2006-11-16 18:49:38 by jwe]
jwe
parents: 5798
diff changeset
123 ## or @code{"w"} (white), it is interpreted as the line plot color.
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
124 ##
3717
e3501697c995 [project @ 2000-09-08 06:27:44 by jwe]
jwe
parents: 3683
diff changeset
125 ## @item ";title;"
e3501697c995 [project @ 2000-09-08 06:27:44 by jwe]
jwe
parents: 3683
diff changeset
126 ## Here @code{"title"} is the label for the key.
e3501697c995 [project @ 2000-09-08 06:27:44 by jwe]
jwe
parents: 3683
diff changeset
127 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
128 ## @item +
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
129 ## @itemx *
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
130 ## @itemx o
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
131 ## @itemx x
8088
3eda9aa17d7c plot.m: doc fix
Tatsuro Matsuoka
parents: 7746
diff changeset
132 ## @itemx ^
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
133 ## Used in combination with the points or linespoints styles, set the point
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
134 ## style.
10121
b5cc666da6ca Support the '@' marker that was present in Octave 2.1.x
David Bateman <dbateman@free.fr>
parents: 9245
diff changeset
135 ##
b5cc666da6ca Support the '@' marker that was present in Octave 2.1.x
David Bateman <dbateman@free.fr>
parents: 9245
diff changeset
136 ## @item @@
b5cc666da6ca Support the '@' marker that was present in Octave 2.1.x
David Bateman <dbateman@free.fr>
parents: 9245
diff changeset
137 ## Select the next unused point style.
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
138 ## @end table
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
139 ##
6895
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
140 ## The @var{fmt} argument may also be used to assign key titles.
3683
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3426
diff changeset
141 ## To do so, include the desired title between semi-colons after the
9040
dbd0c77e575e Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
142 ## formatting sequence described above, e.g., "+3;Key Title;"
3683
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3426
diff changeset
143 ## Note that the last semi-colon is required and will generate an error if
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3426
diff changeset
144 ## it is left out.
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3426
diff changeset
145 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
146 ## Here are some plot examples:
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
147 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
148 ## @example
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
149 ## plot (x, y, "@@12", x, y2, x, y3, "4", x, y4, "+")
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
150 ## @end example
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
151 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
152 ## This command will plot @code{y} with points of type 2 (displayed as
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
153 ## @samp{+}) and color 1 (red), @code{y2} with lines, @code{y3} with lines of
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
154 ## color 4 (magenta) and @code{y4} with points displayed as @samp{+}.
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
155 ##
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
156 ## @example
6459
5dc550e1f419 [project @ 2007-03-26 18:11:58 by jwe]
jwe
parents: 6448
diff changeset
157 ## plot (b, "*", "markersize", 3)
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
158 ## @end example
3426
f8dde1807dee [project @ 2000-01-13 08:40:00 by jwe]
jwe
parents: 3408
diff changeset
159 ##
6672
2f0abcba669c [project @ 2007-05-30 06:42:22 by jwe]
jwe
parents: 6459
diff changeset
160 ## This command will plot the data in the variable @code{b},
6459
5dc550e1f419 [project @ 2007-03-26 18:11:58 by jwe]
jwe
parents: 6448
diff changeset
161 ## with points displayed as @samp{*} with a marker size of 3.
3683
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3426
diff changeset
162 ##
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3426
diff changeset
163 ## @example
9051
1bf0ce0930be Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents: 9040
diff changeset
164 ## @group
3683
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3426
diff changeset
165 ## t = 0:0.1:6.3;
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3426
diff changeset
166 ## plot (t, cos(t), "-;cos(t);", t, sin(t), "+3;sin(t);");
9051
1bf0ce0930be Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents: 9040
diff changeset
167 ## @end group
3683
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3426
diff changeset
168 ## @end example
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3426
diff changeset
169 ##
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3426
diff changeset
170 ## This will plot the cosine and sine functions and label them accordingly
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3426
diff changeset
171 ## in the key.
6820
65d0fa83261a [project @ 2007-08-23 16:14:51 by jwe]
jwe
parents: 6672
diff changeset
172 ##
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
173 ## If the first argument is an axis handle, then plot into these axes,
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
174 ## rather than the current axis handle returned by @code{gca}.
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
175 ##
14001
5f0bb45e615c doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
176 ## The optional return value @var{h} is a graphics handle to the created plot.
5f0bb45e615c doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
177 ##
6895
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
178 ## @seealso{semilogx, semilogy, loglog, polar, mesh, contour, bar,
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6828
diff changeset
179 ## stairs, errorbar, xlabel, ylabel, title, print}
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3063
diff changeset
180 ## @end deftypefn
4
b4df021f796c [project @ 1993-08-08 01:26:08 by jwe]
jwe
parents:
diff changeset
181
2314
949ab8eba8bc [project @ 1996-07-12 03:58:02 by jwe]
jwe
parents: 2313
diff changeset
182 ## Author: jwe
949ab8eba8bc [project @ 1996-07-12 03:58:02 by jwe]
jwe
parents: 2313
diff changeset
183
6302
a5cd8b77e892 [project @ 2007-02-13 08:08:33 by jwe]
jwe
parents: 6263
diff changeset
184 function retval = plot (varargin)
4
b4df021f796c [project @ 1993-08-08 01:26:08 by jwe]
jwe
parents:
diff changeset
185
10730
390d93e20531 Plot commands now print usage information without errors
Rik <octave@nomad.inbox5.com>
parents: 10687
diff changeset
186 [h, varargin, nargs] = __plt_get_axis_arg__ ("plot", varargin{:});
390d93e20531 Plot commands now print usage information without errors
Rik <octave@nomad.inbox5.com>
parents: 10687
diff changeset
187
390d93e20531 Plot commands now print usage information without errors
Rik <octave@nomad.inbox5.com>
parents: 10687
diff changeset
188 if (nargs < 1)
14846
460a3c6d8bf1 maint: Use Octave coding convention for cuddled parenthis in function calls with empty argument lists.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
189 print_usage ();
10730
390d93e20531 Plot commands now print usage information without errors
Rik <octave@nomad.inbox5.com>
parents: 10687
diff changeset
190 endif
7216
5389a52df87b [project @ 2007-11-29 19:07:29 by jwe]
jwe
parents: 7215
diff changeset
191
7215
dd88d61d443f [project @ 2007-11-29 16:44:45 by jwe]
jwe
parents: 7208
diff changeset
192 oldh = gca ();
dd88d61d443f [project @ 2007-11-29 16:44:45 by jwe]
jwe
parents: 7208
diff changeset
193 unwind_protect
dd88d61d443f [project @ 2007-11-29 16:44:45 by jwe]
jwe
parents: 7208
diff changeset
194 axes (h);
6820
65d0fa83261a [project @ 2007-08-23 16:14:51 by jwe]
jwe
parents: 6672
diff changeset
195 newplot ();
7215
dd88d61d443f [project @ 2007-11-29 16:44:45 by jwe]
jwe
parents: 7208
diff changeset
196 tmp = __plt__ ("plot", h, varargin{:});
dd88d61d443f [project @ 2007-11-29 16:44:45 by jwe]
jwe
parents: 7208
diff changeset
197 unwind_protect_cleanup
dd88d61d443f [project @ 2007-11-29 16:44:45 by jwe]
jwe
parents: 7208
diff changeset
198 axes (oldh);
dd88d61d443f [project @ 2007-11-29 16:44:45 by jwe]
jwe
parents: 7208
diff changeset
199 end_unwind_protect
6302
a5cd8b77e892 [project @ 2007-02-13 08:08:33 by jwe]
jwe
parents: 6263
diff changeset
200
a5cd8b77e892 [project @ 2007-02-13 08:08:33 by jwe]
jwe
parents: 6263
diff changeset
201 if (nargout > 0)
a5cd8b77e892 [project @ 2007-02-13 08:08:33 by jwe]
jwe
parents: 6263
diff changeset
202 retval = tmp;
a5cd8b77e892 [project @ 2007-02-13 08:08:33 by jwe]
jwe
parents: 6263
diff changeset
203 endif
4
b4df021f796c [project @ 1993-08-08 01:26:08 by jwe]
jwe
parents:
diff changeset
204
b4df021f796c [project @ 1993-08-08 01:26:08 by jwe]
jwe
parents:
diff changeset
205 endfunction
14001
5f0bb45e615c doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
206
5f0bb45e615c doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
207
15015
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
208 %!demo
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
209 %! x = 1:5; y = 1:5;
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
210 %! plot (x,y,'g');
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
211 %! title ('plot of green line at 45 degrees');
14001
5f0bb45e615c doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents: 11587
diff changeset
212
15015
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
213 %!demo
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
214 %! x = 1:5; y = 1:5;
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
215 %! plot (x,y,'g*');
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
216 %! title ('plot of green stars along a line at 45 degrees');
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
217
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
218 %!demo
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
219 %! x1 = 1:5; y1 = 1:5;
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
220 %! x2 = 5:9; y2 = 5:-1:1;
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
221 %! plot (x1,y1,'bo-', x2,y2,'rs-');
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
222 %! axis ('tight');
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
223 %! title ('plot of blue circles ascending and red squares descending with connecting lines drawn');
fee211d42c5c Add demos for plot.m (bug #36939).
Rik <rik@octave.org>
parents: 14846
diff changeset
224