]> Creatis software - CreaPhase.git/blob - octave_packages/m/plot/semilogxerr.m
update packages
[CreaPhase.git] / octave_packages / m / plot / semilogxerr.m
1 ## Copyright (C) 2000-2012 Teemu Ikonen
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
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 ##
15 ## You should have received a copy of the GNU General Public License
16 ## along with Octave; see the file COPYING.  If not, see
17 ## <http://www.gnu.org/licenses/>.
18
19 ## -*- texinfo -*-
20 ## @deftypefn {Function File} {} semilogxerr (@var{args})
21 ## Produce two-dimensional plots using a logarithmic scale for the @var{x}
22 ## axis and errorbars at each data point.  Many different combinations of
23 ## arguments are possible.  The most used form is
24 ##
25 ## @example
26 ## semilogxerr (@var{x}, @var{y}, @var{ey}, @var{fmt})
27 ## @end example
28 ##
29 ## @noindent
30 ## which produces a semi-logarithmic plot of @var{y} versus @var{x}
31 ## with errors in the @var{y}-scale defined by @var{ey} and the plot
32 ## format defined by @var{fmt}.  See @code{errorbar} for available formats and
33 ## additional information.
34 ## @seealso{errorbar, loglogerr, semilogyerr}
35 ## @end deftypefn
36
37 ## Created: 20.2.2001
38 ## Author: Teemu Ikonen <tpikonen@pcu.helsinki.fi>
39 ## Keywords: errorbar, plotting
40
41 function retval = semilogxerr (varargin)
42
43   [h, varargin] = __plt_get_axis_arg__ ("semilogxerr", varargin{:});
44
45   oldh = gca ();
46   unwind_protect
47     axes (h);
48     newplot ();
49
50     set (h, "xscale", "log");
51
52     tmp = __errcomm__ ("semilogxerr", h, varargin{:});
53
54     if (nargout > 0)
55       retval = tmp;
56     endif
57   unwind_protect_cleanup
58     axes (oldh);
59   end_unwind_protect
60
61 endfunction
62
63 %!demo
64 %! clf
65 %! x = exp (log(0.01):0.2:log(10));
66 %! y = wblpdf (x, 2, 2);
67 %! ey = 0.5*rand (size (y)) .* y;
68 %! semilogxerr (x, y, ey, "#~x-")
69 %! xlim (x([1, end]))