Mercurial > hg > octave-nkf
annotate scripts/plot/stem.m @ 17191:85e55da61409
doc: Clarify description of plot format.
* scripts/plot/plot.m: Clarify description of plot format.
author | Rik <rik@octave.org> |
---|---|
date | Tue, 06 Aug 2013 21:23:38 -0700 |
parents | eaab03308c0b |
children | bc924baa2c4e |
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}) |
17067
b2cbf369837e
stem.m, stem3.m, __stem__.m: Upgrade to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
22 ## @deftypefnx {Function File} {} stem (@dots{}, @var{linespec}) |
10687
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
9245
diff
changeset
|
23 ## @deftypefnx {Function File} {} stem (@dots{}, "filled") |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17067
diff
changeset
|
24 ## @deftypefnx {Function File} {} stem (@dots{}, @var{prop}, @var{val}, @dots{}) |
17067
b2cbf369837e
stem.m, stem3.m, __stem__.m: Upgrade to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
25 ## @deftypefnx {Function File} {} stem (@var{hax}, @dots{}) |
10687
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
9245
diff
changeset
|
26 ## @deftypefnx {Function File} {@var{h} =} stem (@dots{}) |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17067
diff
changeset
|
27 ## Plot a 2-D stem graph. |
17067
b2cbf369837e
stem.m, stem3.m, __stem__.m: Upgrade to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
28 ## |
b2cbf369837e
stem.m, stem3.m, __stem__.m: Upgrade to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
29 ## If only one argument is given, it is taken as the y-values and the |
b2cbf369837e
stem.m, stem3.m, __stem__.m: Upgrade to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
30 ## x-coordinates are taken from the indices of the elements. |
6303 | 31 ## |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
32 ## 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
|
33 ## 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
|
34 ## 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
|
35 ## 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
|
36 ## |
17067
b2cbf369837e
stem.m, stem3.m, __stem__.m: Upgrade to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
37 ## The default color is @code{"b"} (blue), the default line style is |
b2cbf369837e
stem.m, stem3.m, __stem__.m: Upgrade to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
38 ## @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
|
39 ## be altered by the @code{linespec} argument in the same manner as the |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17067
diff
changeset
|
40 ## @code{plot} command. If the "filled" argument is present the markers at |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17067
diff
changeset
|
41 ## the top of the stems will be filled in. For example, |
6303 | 42 ## |
43 ## @example | |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
44 ## @group |
6303 | 45 ## x = 1:10; |
14327
4d917a6a858b
doc: Use Octave coding conventions in @example blocks of docstrings.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
46 ## y = 2*x; |
10687
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
9245
diff
changeset
|
47 ## stem (x, y, "r"); |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
48 ## @end group |
6303 | 49 ## @end example |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
50 ## |
6303 | 51 ## @noindent |
10687
a8ce6bdecce5
Improve documentation strings.
Rik <octave@nomad.inbox5.com>
parents:
9245
diff
changeset
|
52 ## 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
|
53 ## |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17067
diff
changeset
|
54 ## Optional property/value pairs may be specified to control the appearance |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17067
diff
changeset
|
55 ## of the plot. |
17067
b2cbf369837e
stem.m, stem3.m, __stem__.m: Upgrade to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
56 ## |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17067
diff
changeset
|
57 ## If the first argument @var{hax} is an axes handle, then plot into this axis, |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17067
diff
changeset
|
58 ## rather than the current axes returned by @code{gca}. |
17067
b2cbf369837e
stem.m, stem3.m, __stem__.m: Upgrade to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
59 ## |
14001
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
60 ## 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
|
61 ## 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
|
62 ## 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
|
63 ## 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
|
64 ## together. For example, |
6303 | 65 ## |
66 ## @example | |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
67 ## @group |
14327
4d917a6a858b
doc: Use Octave coding conventions in @example blocks of docstrings.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
68 ## x = [0:10]'; |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
69 ## y = [sin(x), cos(x)] |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
70 ## h = stem (x, y); |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
71 ## set (h(2), "color", "g"); |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
72 ## set (h(1), "basevalue", -1) |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
73 ## @end group |
6303 | 74 ## @end example |
75 ## | |
76 ## @noindent | |
14327
4d917a6a858b
doc: Use Octave coding conventions in @example blocks of docstrings.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
77 ## 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
|
78 ## of the first. |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17067
diff
changeset
|
79 ## @seealso{stem3, bar, hist, plot, stairs} |
6303 | 80 ## @end deftypefn |
81 | |
82 ## Author: Michel D. Schmid <michaelschmid@users.sourceforge.net> | |
83 ## Adapted-by: jwe | |
84 | |
85 function h = stem (varargin) | |
86 | |
8070
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8052
diff
changeset
|
87 if (nargin < 1) |
7218 | 88 print_usage (); |
89 endif | |
90 | |
17067
b2cbf369837e
stem.m, stem3.m, __stem__.m: Upgrade to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
91 htmp = __stem__ (false, varargin{:}); |
6303 | 92 |
93 if (nargout > 0) | |
17067
b2cbf369837e
stem.m, stem3.m, __stem__.m: Upgrade to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
94 h = htmp; |
6303 | 95 endif |
96 | |
97 endfunction | |
7245 | 98 |
14001
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
99 |
7245 | 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; |
7245 | 102 %! x = 1:10; |
103 %! stem (x); | |
104 | |
105 %!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
|
106 %! clf; |
7245 | 107 %! 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
|
108 %! y = 2*x; |
7245 | 109 %! stem (x, y); |
110 | |
111 %!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
|
112 %! clf; |
7245 | 113 %! 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
|
114 %! y = 2*x; |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
115 %! h = stem (x, y, 'r'); |
7245 | 116 |
117 %!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
|
118 %! clf; |
7245 | 119 %! 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
|
120 %! y = 2*x; |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
121 %! h = stem (x, y, '-.k'); |
7245 | 122 |
123 %!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
|
124 %! clf; |
7245 | 125 %! 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
|
126 %! y = 2*x; |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
127 %! h = stem (x, y, '-.k.'); |
7245 | 128 |
129 %!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
|
130 %! clf; |
7245 | 131 %! 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
|
132 %! y = 2*x; |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
133 %! 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
|
134 |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
135 %!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
|
136 %! clf; |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
137 %! x = (0 : 10)'; |
8052
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
138 %! y = [sin(x), cos(x)]; |
961d4c52ffae
Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents:
7245
diff
changeset
|
139 %! h = stem (x, y); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
140 %! 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
|
141 %! 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
|
142 |
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
|
143 %!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
|
144 %! 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
|
145 %! 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
|
146 %! 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
|
147 %! 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
|
148 %! 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
|
149 %! 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
|
150 %! 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
|
151 %! 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
|
152 %! 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
|
153 %! 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
|
154 %! end |
16828
ddac88d32d6a
Make demos in plot m-files compatible with Matlab for running comparison script.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
155 |