Mercurial > hg > octave-avbm
changeset 4006:efac4b97bb09
[project @ 2002-07-26 01:20:46 by jwe]
author | jwe |
---|---|
date | Fri, 26 Jul 2002 01:20:46 +0000 |
parents | fc000ebb19df |
children | 31448e09d38e |
files | scripts/ChangeLog scripts/plot/__errplot__.m scripts/plot/__pltopt1__.m scripts/plot/__pltopt__.m scripts/plot/errorbar.m scripts/plot/plot.m |
diffstat | 6 files changed, 49 insertions(+), 116 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,15 @@ +2002-07-25 Teemu Ikonen <tpikonen@pcu.helsinki.fi> + + * plot/__errcomm__.m: New file. Common functionality for error plots. + * plot/loglogerr.m: New file. Double logarithm plots with errorbars. + * plot/semilogxerr.m: New file. Semilogarithm plots with errorbars. + * plot/semilogyerr.m: New file. Semilogarithm plots with errorbars + + * plot/errorbar.m: Use __errcomm__.m. + * plot/__errplot__.m: Minor cleanups. + * plot/__pltopt__.m: Handle boxxyerrorbars plot style. + * plot/__pltopt1__.m: Likewise. + 2002-07-10 John W. Eaton <jwe@bevo.che.wisc.edu> * general/rem.m: Delete redundant call to usage.
--- a/scripts/plot/__errplot__.m +++ b/scripts/plot/__errplot__.m @@ -1,4 +1,4 @@ -## Copyright (C) 2000, Teemu Ikonen +## Copyright (C) 2000-2002 Teemu Ikonen ## ## This file is part of Octave. ## @@ -20,7 +20,7 @@ ## -*- texinfo -*- ## @deftypefn {Function File} {} __errplot__ (@var{args}) ## Really plot errorbar plots. User interface in function errorbar. -## +## ## @example ## __errplot__ (@var{arg1}, @var{arg2}, ..., @var{fmt}) ## @end example @@ -52,23 +52,23 @@ fstr = a; endif endwhile - + fmt = __pltopt__ ("__errplot__", fstr); - + nplots = size (arg1, 2); len = size (arg1, 1); - + if (ndata == 2) for i = 1:nplots, tmp = [(1:len)', arg1(:,i), arg2(:,i)]; cmd = sprintf ("gplot tmp %s", fmt(min(i, rows(fmt)), :) ); eval (cmd); - end + endfor elseif (ndata == 3) for i = 1:nplots, tstr = "tmp =[arg1(:,i)"; for j = 2:ndata, - tstr = [tstr, sprintf(", arg%d(:,i)", j)]; + tstr = [tstr, sprintf(", arg%d(:,i)", j)]; endfor tstr = [tstr, "];"]; eval (tstr); @@ -78,11 +78,11 @@ elseif (ndata == 4) for i = 1:nplots, # this is getting ugly if (index (fmt, "boxxy") || index (fmt, "xyerr")) - tstr = "tmp = [arg1(:,i), arg2(:,i), arg3(:,i), arg4(:,i)];"; + tstr = "tmp = [arg1(:,i), arg2(:,i), arg3(:,i), arg4(:,i)];"; elseif (index (fmt, "xerr")) - tstr = "tmp = [arg1(:,i), arg2(:,i), arg1(:,i)-arg3(:,i), arg1(:,i)+arg4(:,i)];"; + tstr = "tmp = [arg1(:,i), arg2(:,i), arg1(:,i)-arg3(:,i), arg1(:,i)+arg4(:,i)];"; else - tstr = "tmp = [arg1(:,i), arg2(:,i), arg2(:,i)-arg3(:,i), arg2(:,i)+arg4(:,i)];"; + tstr = "tmp = [arg1(:,i), arg2(:,i), arg2(:,i)-arg3(:,i), arg2(:,i)+arg4(:,i)];"; endif eval (tstr); cmd = sprintf ("gplot tmp %s", fmt(min(i, rows(fmt)), :) ); @@ -94,12 +94,12 @@ eval (tstr); cmd = sprintf ("gplot tmp %s", fmt(min(i, rows(fmt)), :) ); eval (cmd); - endfor - else + endfor + else for i = 1:nplots, tstr = "tmp = [arg1(:,i)"; for j = 2:ndata, - tstr = [tstr, sprintf(", arg%d(:,i)", j)]; + tstr = [tstr, sprintf(", arg%d(:,i)", j)]; endfor tstr = [tstr, "];"]; eval (tstr); @@ -107,24 +107,9 @@ eval (cmd); endfor endif + +endfunction + - ## if (ndata == 2) - ## for i = 1:nplots, - ## tmp = [(1:len)', arg1(:,i), arg2(:,i)]; - ## cmd = sprintf ("gplot tmp %s", fmt(min(i, rows(fmt)), :) ); - ## eval (cmd); - ## endfor - ## else - ## for i = 1:nplots, - ## tstr = "tmp =[arg1(:,i)"; - ## for j = 2:ndata, - ## tstr = [tstr, sprintf(", arg%d(:,i)", j)]; - ## endif - ## tstr = [tstr, "];"]; - ## eval (tstr); - ## cmd = sprintf ("gplot tmp %s", fmt(min(i, rows(fmt)), :) ); - ## eval (cmd); - ## endfor - ## endif -endfunction +
--- a/scripts/plot/__pltopt1__.m +++ b/scripts/plot/__pltopt1__.m @@ -49,6 +49,7 @@ LINESPOINTS = "linesp"; BOXERRORBARS = "boxer"; BOXES = "boxes"; + BOXXY = "boxxy"; POINTS = "p"; DOTS = "d"; IMPULSES = "i"; @@ -167,7 +168,7 @@ char = opt; if (! strcmp (char, ";")) error ("%s: unfinished key label", caller); - end + endif more_opts = 0; working = 0; endif @@ -182,6 +183,7 @@ endif endwhile elseif (strcmp (char, " ")) + elseif (isempty(char)) ## whitespace -- do nothing. else error ("%s: unrecognized format character: '%s'", caller, char); @@ -199,7 +201,9 @@ fmt = strcat (fmt, " ", LINES); endif elseif (set_boxes) - if (set_yerrbars) + if (set_yerrbars && set_xerrbars) + fmt = strcat (fmt, " ", BOXXY); + elseif (set_yerrbars ) fmt = strcat (fmt, " ", BOXERRORBARS); else fmt = strcat (fmt, " ", BOXES); @@ -223,7 +227,11 @@ endif if (strcmp (fmt, WITH)) - fmt = strcat (fmt, " ", LINES); + if(strcmp (caller, "__errplot")) + fmt = strcat (fmt, " ", YERRORBARS); + else + fmt = strcat (fmt, " ", LINES); + endif endif if (set_color)
--- a/scripts/plot/__pltopt__.m +++ b/scripts/plot/__pltopt__.m @@ -61,6 +61,9 @@ ## @item "#~" ## For boxerrorbars plot style. ## +## @item "#~>" +## For boxxyerrorbars plot style. +## ## @item "n" ## With @code{n} in 1-6 (wraps at 8), plot color ##
--- a/scripts/plot/errorbar.m +++ b/scripts/plot/errorbar.m @@ -1,4 +1,4 @@ -## Copyright (C) 2000, Teemu Ikonen +## Copyright (C) 2000-2002 Teemu Ikonen ## ## This file is part of Octave. ## @@ -116,70 +116,10 @@ usage ("errorbar (...)"); endif - 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 ("errorbar (...)"); - 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 = [cmd, sprintf(", arg%d",i)]; - endfor - cmd = [cmd, ", fmt);"]; - eval (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 = [cmd, sprintf(", arg%d",i)]; - endfor - cmd = [cmd, ", fmt);"]; - eval (cmd); - endif - unwind_protect_cleanup - if (! save_hold) - hold ("off"); - endif - end_unwind_protect + gset nologscale x; + gset nologscale y; + gset nopolar; + + __errcomm__ ("errorbar", varargin); endfunction
--- a/scripts/plot/plot.m +++ b/scripts/plot/plot.m @@ -94,21 +94,6 @@ ## @item L ## Set steps plot style. ## -## @item "#" -## For boxes plot style. -## -## @item "~" -## For yerrorbars plot style. -## -## @item ">" -## For xerrorbars plot style. -## -## @item "~>" -## For xyerrorbars plot style. -## -## @item "#~" -## For boxerrorbars plot style. -## ## @item @var{n} ## Interpreted as the plot color if @var{n} is an integer in the range 1 to ## 6.