# HG changeset patch # User jwe # Date 1028565756 0 # Node ID c6d7ae9fcdb92c12f0fe9aa29b98bfe7d614fb39 # Parent a8621d87fbf54d874f2ee078ef49bea2623d8160 [project @ 2002-08-05 16:42:36 by jwe] diff -r a8621d87fbf5 -r c6d7ae9fcdb9 scripts/plot/__errcomm__.m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/plot/__errcomm__.m Mon Aug 05 16:42:36 2002 +0000 @@ -0,0 +1,103 @@ +## Copyright (C) 2001, 2002 Teemu Ikonen +## +## This file is part of Octave. +## +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2, or (at your option) +## any later version. +## +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, write to the Free +## Software Foundation, 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA. + +## -*- texinfo -*- +## @deftypefn {Function File} {} __errcomm__ (@var{args}) +## Common argument handling code for all error plots (errorbar, loglogerr, +## semilogyerr, semilogxerr). +## +## @end deftypefn +## @seealso{errorbar, semilogxerr, semilogyerr, loglogerr, __pltopt__} + +## Created: 20.02.2001 +## Author: Teemu Ikonen +## Keywords: errorbar, plotting + +function __errcomm__ (caller, varargin) + + if (nargin < 3) + usage ("%s (...)", caller); + endif + + nargin--; + save_hold = ishold; + unwind_protect + if (! ishold) + clg + endif + hold on; + k = 1; + while (nargin) + a = varargin{k++}; + nargin--; + if (is_vector (a)) + a = a(:); + elseif (is_matrix (a)) + ; + else + usage ("%s (...)", caller); + endif + sz = size (a); + ndata = 1; + arg1 = a; + fmt = " "; + while (nargin) + nargin--; + a = varargin{k++}; + if (isstr (a)) + fmt = a; + cmd = "__errplot__ (arg1"; + for i = 2:ndata, + cmd = sprintf ("%s, arg%d", cmd, i); + endfor + eval (sprintf ("%s, fmt);", cmd)); + break; + elseif (is_vector (a)) + a = a(:); + elseif (is_matrix (a)) + ; + else + error ("wrong argument types"); + endif + if (size (a) != sz) + error ("argument sizes do not match"); + endif + ndata++; + eval (sprintf ("arg%d = a;", ndata)); + if (ndata > 6) + error ("too many arguments to a plot"); + endif + endwhile + endwhile + + if (! isstr (a)) + fmt = " "; + cmd = "__errplot__ (arg1"; + for i = 2:ndata, + cmd = sprintf ("%s, arg%d", cmd, i); + endfor + eval (sprintf ("%s, fmt);", cmd)); + endif + unwind_protect_cleanup + if (! save_hold) + hold off; + endif + end_unwind_protect + +endfunction diff -r a8621d87fbf5 -r c6d7ae9fcdb9 scripts/plot/loglogerr.m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/plot/loglogerr.m Mon Aug 05 16:42:36 2002 +0000 @@ -0,0 +1,56 @@ +## Copyright (C) 2000, 2001, 2002 Teemu Ikonen +## +## This file is part of Octave. +## +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2, or (at your option) +## any later version. +## +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, write to the Free +## Software Foundation, 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA. + +## -*- texinfo -*- +## @deftypefn {Function File} {} loglogerr (@var{args}) +## This function produces two-dimensional plots on double logarithm axis +## with errorbars. Many different combinations of arguments are possible. +## The most used form is +## +## @example +## loglogerr (@var{x}, @var{y}, @var{ey}, @var{fmt}) +## @end example +## +## @noindent +## which produces a double logarithm plot of @var{y} versus @var{x} +## with errors in the @var{y}-scale defined by @var{ey} and the plot +## format defined by @var{fmt}. See errorbar for available formats and +## additional information. +## +## @end deftypefn +## @seealso{errorbar, semilogxerr, semilogyerr, polar, mesh, contour, +## __pltopt__, bar, stairs, gplot, gsplot, replot, xlabel, ylabel, and title} + +## Created: 20.2.2001 +## Author: Teemu Ikonen +## Keywords: errorbar, plotting + +function loglogerr (varargin) + + if (nargin < 2) + usage ("loglogerr(...)"); + endif + + gset logscale x; + gset logscale y; + gset nopolar; + + __errcomm__ ("loglogerr", varargin{:}); + +endfunction diff -r a8621d87fbf5 -r c6d7ae9fcdb9 scripts/plot/semilogxerr.m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/plot/semilogxerr.m Mon Aug 05 16:42:36 2002 +0000 @@ -0,0 +1,56 @@ +## Copyright (C) 2000, 2001, 2002 Teemu Ikonen +## +## This file is part of Octave. +## +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2, or (at your option) +## any later version. +## +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, write to the Free +## Software Foundation, 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA. + +## -*- texinfo -*- +## @deftypefn {Function File} {} semilogxerr (@var{args}) +## This function produces two-dimensional plots on a semilogarithm axis +## with errorbars. Many different combinations of arguments are possible. +## The most used form is +## +## @example +## semilogxerr (@var{x}, @var{y}, @var{ey}, @var{fmt}) +## @end example +## +## @noindent +## which produces a semi-logarithm plot of @var{y} versus @var{x} +## with errors in the @var{y}-scale defined by @var{ey} and the plot +## format defined by @var{fmt}. See errorbar for available formats and +## additional information. +## +## @end deftypefn +## @seealso{errorbar, loglogerr semilogyerr, polar, mesh, contour, __pltopt__, +## bar, stairs, gplot, gsplot, replot, xlabel, ylabel, and title} + +## Created: 20.2.2001 +## Author: Teemu Ikonen +## Keywords: errorbar, plotting + +function semilogxerr (varargin) + + if (nargin < 2) + usage ("semilogxerr (...)"); + endif + + gset logscale x; + gset nologscale y; + gset nopolar; + + __errcomm__ ("semilogxerr", varargin{:}); + +endfunction diff -r a8621d87fbf5 -r c6d7ae9fcdb9 scripts/plot/semilogyerr.m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/plot/semilogyerr.m Mon Aug 05 16:42:36 2002 +0000 @@ -0,0 +1,56 @@ +## Copyright (C) 2000, 2001, 2002 Teemu Ikonen +## +## This file is part of Octave. +## +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2, or (at your option) +## any later version. +## +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, write to the Free +## Software Foundation, 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA. + +## -*- texinfo -*- +## @deftypefn {Function File} {} semilogyerr (@var{args}) +## This function produces two-dimensional plots on a semilogarithm axis +## with errorbars. Many different combinations of arguments are possible. +## The most used form is +## +## @example +## semilogyerr (@var{x}, @var{y}, @var{ey}, @var{fmt}) +## @end example +## +## @noindent +## which produces a semi-logarithm plot of @var{y} versus @var{x} +## with errors in the @var{y}-scale defined by @var{ey} and the plot +## format defined by @var{fmt}. See errorbar for available formats and +## additional information. +## +## @end deftypefn +## @seealso{errorbar, loglogerr semilogxerr, polar, mesh, contour, __pltopt__, +## bar, stairs, gplot, gsplot, replot, xlabel, ylabel, and title} + +## Created: 20.2.2001 +## Author: Teemu Ikonen +## Keywords: errorbar, plotting + +function semilogyerr (varargin) + + if (nargin < 2) + usage ("semilogyerr (...)"); + endif + + gset nologscale x; + gset logscale y; + gset nopolar; + + __errcomm__ ("semilogyerr", varargin{:}); + +endfunction