Mercurial > hg > octave-lyh
annotate scripts/plot/stem.m @ 16828:ddac88d32d6a
Make demos in plot m-files compatible with Matlab for running comparison script.
* scripts/plot/isosurface.m, scripts/plot/line.m, scripts/plot/mesh.m,
scripts/plot/plotyy.m, scripts/plot/printd.m, scripts/plot/semilogy.m,
scripts/plot/shrinkfaces.m, scripts/plot/stairs.m, scripts/plot/stem.m,
scripts/plot/stemleaf.m, scripts/plot/tetramesh.m: Replace double quote (")
with single quote ('). Use '%' for comment character. Use '...' for
line continuation.
author | Rik <rik@octave.org> |
---|---|
date | Sun, 23 Jun 2013 14:47:05 -0700 |
parents | 64e7bb01fce2 |
children | b2cbf369837e |
rev | line source |
---|---|
14138
72c96de7a403
maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents:
14092
diff
changeset
|
1 ## Copyright (C) 2006-2012 Michel D. Schmid |
6303 | 2 ## |
6440 | 3 ## This file is part of Octave. |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6303 | 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. | |
6303 | 9 ## |
6440 | 10 ## Octave is distributed in the hope that it will be useful, but |
6303 | 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/>. | |
6303 | 18 |
19 ## -*- texinfo -*- | |
16814
64e7bb01fce2
doc: Improve documentation for 2-D plot functions
Rik <rik@octave.org>
parents:
16751
diff
changeset
|
20 ## @deftypefn {Function File} {} stem (@var{y}) |
10687
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
9245
diff
changeset
|
21 ## @deftypefnx {Function File} {} stem (@var{x}, @var{y}) |
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
9245
diff
changeset
|
22 ## @deftypefnx {Function File} {} stem (@var{x}, @var{y}, @var{linespec}) |
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
9245
diff
changeset
|
23 ## @deftypefnx {Function File} {} stem (@dots{}, "filled") |
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
9245
diff
changeset
|
24 ## @deftypefnx {Function File} {@var{h} =} stem (@dots{}) |
9040
dbd0c77e575e
Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
25 ## Plot a stem graph from two vectors of x-y data. If only one argument |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
26 ## is given, it is taken as the y-values and the x coordinates are taken |
9040
dbd0c77e575e
Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
27 ## from the indices of the elements. |
6303 | 28 ## |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
29 ## If @var{y} is a matrix, then each column of the matrix is plotted as |
9040
dbd0c77e575e
Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
30 ## a separate stem graph. In this case @var{x} can either be a vector, |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
31 ## the same length as the number of rows in @var{y}, or it can be a |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
32 ## matrix of the same size as @var{y}. |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
33 ## |
10687
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
9245
diff
changeset
|
34 ## The default color is @code{"b"} (blue). The default line style is |
9040
dbd0c77e575e
Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
35 ## @code{"-"} and the default marker is @code{"o"}. The line style can |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
36 ## be altered by the @code{linespec} argument in the same manner as the |
10846
a4f482e66b65
Grammarcheck more of the documentation.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
37 ## @code{plot} command. For example, |
6303 | 38 ## |
39 ## @example | |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
40 ## @group |
6303 | 41 ## x = 1:10; |
14327
4d917a6a858b
doc: Use Octave coding conventions in @example blocks of docstrings.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
42 ## y = 2*x; |
10687
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
9245
diff
changeset
|
43 ## stem (x, y, "r"); |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
44 ## @end group |
6303 | 45 ## @end example |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
46 ## |
6303 | 47 ## @noindent |
10687
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
9245
diff
changeset
|
48 ## plots 10 stems with heights from 2 to 20 in red; |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
49 ## |
14001
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
50 ## The optional return value @var{h} is a vector of "stem series" graphics |
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
51 ## handles with one handle per column of the variable @var{y}. The |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
52 ## handle regroups the elements of the stem graph together as the |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
53 ## children of the "stem series" handle, allowing them to be altered |
10846
a4f482e66b65
Grammarcheck more of the documentation.
Rik <octave@nomad.inbox5.com>
parents:
10687
diff
changeset
|
54 ## together. For example, |
6303 | 55 ## |
56 ## @example | |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
57 ## @group |
14327
4d917a6a858b
doc: Use Octave coding conventions in @example blocks of docstrings.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
58 ## x = [0:10]'; |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
59 ## y = [sin(x), cos(x)] |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
60 ## h = stem (x, y); |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
61 ## set (h(2), "color", "g"); |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
62 ## set (h(1), "basevalue", -1) |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
63 ## @end group |
6303 | 64 ## @end example |
65 ## | |
66 ## @noindent | |
14327
4d917a6a858b
doc: Use Octave coding conventions in @example blocks of docstrings.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
67 ## changes the color of the second "stem series" and moves the base line |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
68 ## of the first. |
6303 | 69 ## @seealso{bar, barh, plot} |
70 ## @end deftypefn | |
71 | |
72 ## Author: Michel D. Schmid <michaelschmid@users.sourceforge.net> | |
73 ## Adapted-by: jwe | |
74 | |
75 function h = stem (varargin) | |
76 | |
8070
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8052
diff
changeset
|
77 if (nargin < 1) |
7218 | 78 print_usage (); |
79 endif | |
80 | |
7217 | 81 tmp = __stem__ (false, varargin{:}); |
6303 | 82 |
83 if (nargout > 0) | |
7217 | 84 h = tmp; |
6303 | 85 endif |
86 | |
87 endfunction | |
7245 | 88 |
14001
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
89 |
7245 | 90 %!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
|
91 %! clf; |
7245 | 92 %! x = 1:10; |
93 %! stem (x); | |
94 | |
95 %!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
|
96 %! clf; |
7245 | 97 %! x = 1:10; |
14001
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
98 %! y = 2*x; |
7245 | 99 %! stem (x, y); |
100 | |
101 %!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
|
102 %! clf; |
7245 | 103 %! x = 1:10; |
14001
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
104 %! y = 2*x; |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
105 %! h = stem (x, y, 'r'); |
7245 | 106 |
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; |
7245 | 109 %! x = 1:10; |
14001
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
110 %! y = 2*x; |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
111 %! h = stem (x, y, '-.k'); |
7245 | 112 |
113 %!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
|
114 %! clf; |
7245 | 115 %! x = 1:10; |
14001
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
116 %! y = 2*x; |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
117 %! h = stem (x, y, '-.k.'); |
7245 | 118 |
119 %!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
|
120 %! clf; |
7245 | 121 %! x = 1:10; |
14001
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
122 %! y = 2*x; |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
123 %! h = stem (x, y, 'filled'); |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
124 |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
125 %!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
|
126 %! clf; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
127 %! x = (0 : 10)'; |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
128 %! y = [sin(x), cos(x)]; |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
129 %! h = stem (x, y); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
130 %! set (h(2), 'color', 'g'); |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14335
diff
changeset
|
131 %! set (h(1), 'basevalue', -1); |
14001
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
132 |
16751
92811d110839
Update copies consistent subset of {x,y,z}data to children of the stem hggoup.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
133 %!demo |
92811d110839
Update copies consistent subset of {x,y,z}data to children of the stem hggoup.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
134 %! clf; |
92811d110839
Update copies consistent subset of {x,y,z}data to children of the stem hggoup.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
135 %! N = 11; |
92811d110839
Update copies consistent subset of {x,y,z}data to children of the stem hggoup.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
136 %! x = 0:(N-1); |
92811d110839
Update copies consistent subset of {x,y,z}data to children of the stem hggoup.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
137 %! y = rand (1, N); |
92811d110839
Update copies consistent subset of {x,y,z}data to children of the stem hggoup.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
138 %! hs = stem (x(1), y(1)); |
92811d110839
Update copies consistent subset of {x,y,z}data to children of the stem hggoup.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
139 %! set (gca (), 'xlim', [1, N-1], 'ylim', [0, 1]); |
92811d110839
Update copies consistent subset of {x,y,z}data to children of the stem hggoup.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
140 %! for k=2:N |
92811d110839
Update copies consistent subset of {x,y,z}data to children of the stem hggoup.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
141 %! set (hs, 'xdata', x(1:k), 'ydata', y(1:k)) |
92811d110839
Update copies consistent subset of {x,y,z}data to children of the stem hggoup.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
142 %! drawnow (); |
92811d110839
Update copies consistent subset of {x,y,z}data to children of the stem hggoup.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
143 %! pause (0.2); |
92811d110839
Update copies consistent subset of {x,y,z}data to children of the stem hggoup.
Ben Abbott <bpabbott@mac.com>
parents:
14363
diff
changeset
|
144 %! end |
16828
ddac88d32d6a
Make demos in plot m-files compatible with Matlab for running comparison script.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
145 |