Mercurial > hg > octave-lyh
annotate scripts/plot/errorbar.m @ 17194:c954b0a396a2
comet.m: Speed up animation by using low-level graphic commands.
* scripts/plot/comet.m: Speed up animation by using low-level graphic
commands.
author | Rik <rik@octave.org> |
---|---|
date | Mon, 05 Aug 2013 15:44:02 -0700 |
parents | 26589abbc78d |
children | df4c4b7708a4 |
rev | line source |
---|---|
14138
72c96de7a403
maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents:
14092
diff
changeset
|
1 ## Copyright (C) 2000-2012 Teemu Ikonen |
3718 | 2 ## |
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 | |
7016 | 7 ## the Free Software Foundation; either version 3 of the License, or (at |
8 ## your option) any later version. | |
3718 | 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 ## | |
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/>. | |
3718 | 18 |
19 ## -*- texinfo -*- | |
16814
64e7bb01fce2
doc: Improve documentation for 2-D plot functions
Rik <rik@octave.org>
parents:
14245
diff
changeset
|
20 ## @deftypefn {Function File} {} errorbar (@var{args}) |
17126
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17059
diff
changeset
|
21 ## @deftypefnx {Function File} {} errorbar (@var{hax}, @dots{}) |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17059
diff
changeset
|
22 ## @deftypefnx {Function File} {@var{h} =} errorbar (@dots{}) |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17059
diff
changeset
|
23 ## Create a 2-D with errorbars. |
17059
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
24 ## |
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
25 ## Many different combinations of arguments are possible. The simplest |
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
26 ## form is |
3718 | 27 ## |
28 ## @example | |
29 ## errorbar (@var{y}, @var{ey}) | |
30 ## @end example | |
31 ## | |
32 ## @noindent | |
33 ## where the first argument is taken as the set of @var{y} coordinates | |
34 ## and the second argument @var{ey} is taken as the errors of the | |
9040
dbd0c77e575e
Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
35 ## @var{y} values. @var{x} coordinates are taken to be the indices |
3718 | 36 ## of the elements, starting with 1. |
37 ## | |
38 ## If more than two arguments are given, they are interpreted as | |
39 ## | |
40 ## @example | |
6701 | 41 ## errorbar (@var{x}, @var{y}, @dots{}, @var{fmt}, @dots{}) |
3718 | 42 ## @end example |
43 ## | |
44 ## @noindent | |
45 ## where after @var{x} and @var{y} there can be up to four error | |
9209
923c7cb7f13f
Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents:
9051
diff
changeset
|
46 ## parameters such as @var{ey}, @var{ex}, @var{ly}, @var{uy}, etc., |
9040
dbd0c77e575e
Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
47 ## depending on the plot type. Any number of argument sets may appear, |
3718 | 48 ## as long as they are separated with a format string @var{fmt}. |
49 ## | |
50 ## If @var{y} is a matrix, @var{x} and error parameters must also be matrices | |
9040
dbd0c77e575e
Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
51 ## having same dimensions. The columns of @var{y} are plotted versus the |
3718 | 52 ## corresponding columns of @var{x} and errorbars are drawn from |
53 ## the corresponding columns of error parameters. | |
54 ## | |
6895 | 55 ## If @var{fmt} is missing, yerrorbars ("~") plot style is assumed. |
56 ## | |
3718 | 57 ## If the @var{fmt} argument is supplied, it is interpreted as in |
11563
3c6e8aaa9555
Grammarcheck m-files before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
58 ## normal plots. In addition, @var{fmt} may include an errorbar style |
11575
d6619410e79c
Spellcheck documentation before 3.4 release.
Rik <octave@nomad.inbox5.com>
parents:
11563
diff
changeset
|
59 ## which must precede the line and marker format. The following plot |
11099
65b240770880
Fix normal line and marker types for errorplots.
Ben Abbott <bpabbott@mac.com>
parents:
10846
diff
changeset
|
60 ## styles are supported by errorbar: |
3718 | 61 ## |
62 ## @table @samp | |
63 ## @item ~ | |
64 ## Set yerrorbars plot style (default). | |
65 ## | |
66 ## @item > | |
67 ## Set xerrorbars plot style. | |
68 ## | |
69 ## @item ~> | |
70 ## Set xyerrorbars plot style. | |
71 ## | |
72 ## @item # | |
73 ## Set boxes plot style. | |
74 ## | |
75 ## @item #~ | |
76 ## Set boxerrorbars plot style. | |
77 ## | |
78 ## @item #~> | |
79 ## Set boxxyerrorbars plot style. | |
80 ## @end table | |
81 ## | |
17126
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17059
diff
changeset
|
82 ## 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:
17059
diff
changeset
|
83 ## rather than the current axes returned by @code{gca}. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17059
diff
changeset
|
84 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17059
diff
changeset
|
85 ## The optional return value @var{h} is a handle to the hggroup object |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17059
diff
changeset
|
86 ## representing the data plot and errorbars. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17059
diff
changeset
|
87 ## |
3718 | 88 ## Examples: |
89 ## | |
90 ## @example | |
6895 | 91 ## errorbar (@var{x}, @var{y}, @var{ex}, ">") |
3718 | 92 ## @end example |
93 ## | |
10846
a4f482e66b65
Grammarcheck more of the documentation.
Rik <octave@nomad.inbox5.com>
parents:
10591
diff
changeset
|
94 ## @noindent |
6895 | 95 ## produces an xerrorbar plot of @var{y} versus @var{x} with @var{x} |
96 ## errorbars drawn from @var{x}-@var{ex} to @var{x}+@var{ex}. | |
3718 | 97 ## |
98 ## @example | |
9051
1bf0ce0930be
Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents:
9040
diff
changeset
|
99 ## @group |
6895 | 100 ## errorbar (@var{x}, @var{y1}, @var{ey}, "~", |
101 ## @var{x}, @var{y2}, @var{ly}, @var{uy}) | |
9051
1bf0ce0930be
Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents:
9040
diff
changeset
|
102 ## @end group |
3718 | 103 ## @end example |
104 ## | |
10846
a4f482e66b65
Grammarcheck more of the documentation.
Rik <octave@nomad.inbox5.com>
parents:
10591
diff
changeset
|
105 ## @noindent |
6895 | 106 ## produces yerrorbar plots with @var{y1} and @var{y2} versus @var{x}. |
3718 | 107 ## Errorbars for @var{y1} are drawn from @var{y1}-@var{ey} to |
108 ## @var{y1}+@var{ey}, errorbars for @var{y2} from @var{y2}-@var{ly} to | |
109 ## @var{y2}+@var{uy}. | |
110 ## | |
111 ## @example | |
9051
1bf0ce0930be
Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents:
9040
diff
changeset
|
112 ## @group |
6895 | 113 ## errorbar (@var{x}, @var{y}, @var{lx}, @var{ux}, |
114 ## @var{ly}, @var{uy}, "~>") | |
9051
1bf0ce0930be
Grammar check TexInfo in all .m files
Rik <rdrider0-list@yahoo.com>
parents:
9040
diff
changeset
|
115 ## @end group |
3718 | 116 ## @end example |
117 ## | |
10846
a4f482e66b65
Grammarcheck more of the documentation.
Rik <octave@nomad.inbox5.com>
parents:
10591
diff
changeset
|
118 ## @noindent |
6895 | 119 ## produces an xyerrorbar plot of @var{y} versus @var{x} in which |
120 ## @var{x} errorbars are drawn from @var{x}-@var{lx} to @var{x}+@var{ux} | |
121 ## and @var{y} errorbars from @var{y}-@var{ly} to @var{y}+@var{uy}. | |
17126
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17059
diff
changeset
|
122 ## @seealso{semilogxerr, semilogyerr, loglogerr, plot} |
3718 | 123 ## @end deftypefn |
124 | |
125 ## Created: 18.7.2000 | |
126 ## Author: Teemu Ikonen <tpikonen@pcu.helsinki.fi> | |
127 ## Keywords: errorbar, plotting | |
128 | |
17059
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
129 function h = errorbar (varargin) |
3718 | 130 |
17059
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
131 [hax, varargin] = __plt_get_axis_arg__ ("errorbar", varargin{:}); |
7216 | 132 |
17059
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
133 oldfig = ifelse (isempty (hax), [], get (0, "currentfigure")); |
7207 | 134 unwind_protect |
17059
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
135 hax = newplot (hax); |
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
136 |
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
137 htmp = __errcomm__ ("errorbar", hax, varargin{:}); |
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
138 unwind_protect_cleanup |
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
139 if (! isempty (oldfig)) |
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
140 set (0, "currentfigure", oldfig); |
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
141 endif |
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
142 end_unwind_protect |
7510
f3e6ada67d9e
improve handling line style for errorbar plots
John W. Eaton <jwe@octave.org>
parents:
7216
diff
changeset
|
143 |
17059
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
144 if (nargout > 0) |
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
145 h = htmp; |
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
146 endif |
3718 | 147 |
148 endfunction | |
8258 | 149 |
150 | |
151 %!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
|
152 %! clf; |
11363
a0dfd7e8e3e2
Assign data used in demo plots for reproducibility between runs
Rik <octave@nomad.inbox5.com>
parents:
11099
diff
changeset
|
153 %! rand_1x11_data1 = [0.82712, 0.50325, 0.35613, 0.77089, 0.20474, 0.69160, 0.30858, 0.88225, 0.35187, 0.14168, 0.54270]; |
a0dfd7e8e3e2
Assign data used in demo plots for reproducibility between runs
Rik <octave@nomad.inbox5.com>
parents:
11099
diff
changeset
|
154 %! rand_1x11_data2 = [0.506375, 0.330106, 0.017982, 0.859270, 0.140641, 0.327839, 0.275886, 0.162453, 0.807592, 0.318509, 0.921112]; |
a0dfd7e8e3e2
Assign data used in demo plots for reproducibility between runs
Rik <octave@nomad.inbox5.com>
parents:
11099
diff
changeset
|
155 %! errorbar (0:10, rand_1x11_data1, 0.25*rand_1x11_data2); |
a0dfd7e8e3e2
Assign data used in demo plots for reproducibility between runs
Rik <octave@nomad.inbox5.com>
parents:
11099
diff
changeset
|
156 |
a0dfd7e8e3e2
Assign data used in demo plots for reproducibility between runs
Rik <octave@nomad.inbox5.com>
parents:
11099
diff
changeset
|
157 %!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
|
158 %! clf; |
11363
a0dfd7e8e3e2
Assign data used in demo plots for reproducibility between runs
Rik <octave@nomad.inbox5.com>
parents:
11099
diff
changeset
|
159 %! rand_1x11_data3 = [0.423650, 0.142331, 0.213195, 0.129301, 0.975891, 0.012872, 0.635327, 0.338829, 0.764997, 0.401798, 0.551850]; |
a0dfd7e8e3e2
Assign data used in demo plots for reproducibility between runs
Rik <octave@nomad.inbox5.com>
parents:
11099
diff
changeset
|
160 %! rand_1x11_data4 = [0.682566, 0.456342, 0.132390, 0.341292, 0.108633, 0.601553, 0.040455, 0.146665, 0.309187, 0.586291, 0.540149]; |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
161 %! errorbar (0:10, rand_1x11_data3, rand_1x11_data4, '>'); |
10589 | 162 |
163 %!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
|
164 %! clf; |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11575
diff
changeset
|
165 %! x = 0:0.5:2*pi; |
17059
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
166 %! err = x/30; |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11575
diff
changeset
|
167 %! y1 = sin (x); |
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11575
diff
changeset
|
168 %! y2 = cos (x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
169 %! hg = errorbar (x, y1, err, '~', x, y2, err, '>'); |
10589 | 170 |
171 %!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
|
172 %! clf; |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11575
diff
changeset
|
173 %! x = 0:0.5:2*pi; |
17059
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
174 %! err = x/30; |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11575
diff
changeset
|
175 %! y1 = sin (x); |
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11575
diff
changeset
|
176 %! y2 = cos (x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
177 %! hg = errorbar (x, y1, err, err, '#r', x, y2, err, err, '#~'); |
10589 | 178 |
179 %!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
|
180 %! clf; |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11575
diff
changeset
|
181 %! x = 0:0.5:2*pi; |
17059
c935a0db31c6
errorbar.m: Update to use new __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16814
diff
changeset
|
182 %! err = x/30; |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11575
diff
changeset
|
183 %! y1 = sin (x); |
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11575
diff
changeset
|
184 %! y2 = cos (x); |
14245
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
185 %! hg = errorbar (x, y1, err, err, err, err, '~>', ... |
4506eade9f04
Use Matlab coding conventions for demos in plot/ directory.
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
186 %! x, y2, err, err, err, err, '#~>-*'); |
10589 | 187 |