changeset 7164:2b5e6c0a9df9

[project @ 2007-11-12 22:04:42 by jwe]
author jwe
date Mon, 12 Nov 2007 22:06:35 +0000
parents d4d8c7b33e16
children 5cae591f81a8
files scripts/plot/contourf.m scripts/plot/ribbon.m scripts/plot/shading.m scripts/plot/spinmap.m
diffstat 4 files changed, 91 insertions(+), 83 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/plot/contourf.m
+++ b/scripts/plot/contourf.m
@@ -1,20 +1,21 @@
 ## Copyright (C) 2007 Kai Habel
 ## Copyright (C) 2003 Shai Ayal
 ##
-## This program is free software; you can redistribute it and/or modify it
+## 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.
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
 ##
-## OctPlot is distributed in the hope that it will be useful, but
+## 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 OctPlot; see the file COPYING.  If not, write to the Free
-## Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-## 02111-1307, USA.
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {[@var{c}, @var{h}] =} contourf (@var{x}, @var{y}, @var{z}, @var{lvl})
--- a/scripts/plot/ribbon.m
+++ b/scripts/plot/ribbon.m
@@ -1,84 +1,86 @@
 ## Copyright (C) 2007 Kai Habel
 ##
-## This program is free software; you can redistribute it and/or modify it
+## 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.
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
 ##
-## OctPlot is distributed in the hope that it will be useful, but
+## 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 OctPlot; see the file COPYING.  If not, write to the Free
-## Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-## 02111-1307, USA.
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-## @deftypefn {Function File}  ribbon (@var{X}, @var{Y}, @var{WIDTH})
-## @deftypefnx {Function File}  ribbon (@var{X}, @var{Y})
-## @deftypefnx {Function File}  ribbon (@var{Y})
-## @deftypefnx {Function File}  @var{h} = ribbon (...)
-## Plots ribbon plot for the columns of @var{Y} vs. @var{X}. The optional 
-## parameter @var{WIDTH} specifies the width of a single ribbon (default is 0.75).
-## If @var{X} is omitted, a vector containing the row numbers is assumed (1:rows(Y)).
-## If requested a vector @var{h} of the handles to the surface objects is returned.
+## @deftypefn {Function File}  ribbon (@var{x}, @var{y}, @var{width})
+## @deftypefnx {Function File}  ribbon (@var{y})
+## @deftypefnx {Function File}  @var{h} = ribbon (@dots{})
+## Plot a ribbon plot for the columns of @var{y} vs. @var{x}. The
+## optional parameter @var{width} specifies the width of a single ribbon
+## (default is 0.75).  If @var{x} is omitted, a vector containing the
+## row numbers is assumed (1:rows(Y)).  If requested, return a vector
+## @var{h} of the handles to the surface objects.
+## @seealso{gca, colorbar}
 ## @end deftypefn
-## @seealso{gca, colorbar}
 
 ## Author: Kai Habel <kai.habel at gmx.de>
 
-function h = ribbon(X, Y, W)
+function h = ribbon (x, y, width)
 
   newplot ();
 
   if (nargin == 1)
-    Y = X;
-    if (isvector(Y))
-      Y = Y(:);
+    y = x;
+    if (isvector (Y))
+      y = y(:);
     endif
-    [nr, nc] = size(Y);
-    X = repmat((1 : nr)', 1, nc);
-    W = 0.75;
+    [nr, nc] = size (y);
+    X = repmat ((1:nr)', 1, nc);
+    width = 0.75;
   elseif (nargin == 2)
-    W = 0.75;
-  elseif (nargin == 3)
-  else
-    print_usage();
-  end
+    width = 0.75;
+  elseif (nargin != 3)
+    print_usage ();
+  endif
 
-  if (isvector(X) && isvector(Y))
-    if (length(X) != length(Y))
-      error("In case of vectors, X and Y must have same length")
+  if (isvector (x) && isvector (y))
+    if (length (x) != length (y))
+      error ("ribbon: in case of vectors, x and y must have same length")
     else
-      [X, Y] = meshgrid(X, Y);
+      [x, y] = meshgrid (x, y);
     endif
   else
-    if (!all(size(X) == size(Y)))
+    if (! all (size (x) == size (y)))
       error("In case of matrices, X and Y must have same size")
     endif
   endif
 
-  [nr,nc] = size(Y);
-  tmp = zeros(1,nc);
+  [nr, nc] = size (y);
+  tmp = zeros (1, nc);
 
   for c = nc:-1:1
-    ZZ = [Y(:,c) Y(:,c)];
-    y = X(:,c);
-    x = [c - W / 2, c + W / 2];
-    [XX,YY] = meshgrid(x,y);
-    CC = ones(size(ZZ))*c;
-    tmp(c) = surface(XX,YY,ZZ,CC);
+    zz = [y(:,c), y(:,c)];
+    y = x(:,c);
+    x = [c - width / 2, c + width / 2];
+    [xx, yy] = meshgrid (x, y);
+    cc = ones (size (zz)) * c;
+    tmp(c) = surface (xx, yy, zz, cc);
   endfor
 
   ax = get (tmp(c), "parent");
 
-  if (!ishold ())
-    set (ax, "view", [-37.5, 30], "box","off","xgrid","on","ygrid","on","zgrid","on");
+  if (! ishold ())
+    set (ax, "view", [-37.5, 30], "box", "off", "xgrid", "on",
+	 "ygrid", "on", "zgrid", "on");
   endif
 
   if (nargout > 0)
     h = tmp;
   endif
-end
+
+endfunction
--- a/scripts/plot/shading.m
+++ b/scripts/plot/shading.m
@@ -1,9 +1,11 @@
 ## Copyright (C) 2006, 2007  Kai Habel
 ##
+## 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.
+## the Free Software Foundation; either version 3 of the License, 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
@@ -11,9 +13,8 @@
 ## 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, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-## 02110-1301, USA.
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} shading (@var{type})
--- a/scripts/plot/spinmap.m
+++ b/scripts/plot/spinmap.m
@@ -1,53 +1,57 @@
 ## Copyright (C) 2007 Kai Habel
 ##
-## This program is free software; you can redistribute it and/or modify it
+## 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.
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
 ##
-## OctPlot is distributed in the hope that it will be useful, but
+## 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 OctPlot; see the file COPYING.  If not, write to the Free
-## Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-## 02111-1307, USA.
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-## @deftypefn {Function File}  spinmap (@var{T}, @var{inc})
-## @deftypefnx {Function File}  spinmap (@var{T})
-## @deftypefnx {Function File}  spinmap ()
-## Cycles the colormap for @var{T} seconds with an increment
-## of @var{inc}. Both parameter are optional. In that case 5s and an increment 
-## of 2 is taken.
-## A higher @var{inc} causes a faster cycle through the colormap.
+## @deftypefn {Function File}  spinmap (@var{t}, @var{inc})
+## Cycle the colormap for @var{t} seconds with an increment
+## of @var{inc}.  Both parameters are optional.   The default cycle time
+## is 5 seconds and the default increment is 2.
+##
+## A higher value of @var{inc} causes a faster cycle through the
+## colormap.
+## @seealso{gca, colorbar}
 ## @end deftypefn
-## @seealso{gca, colorbar}
 
 ## Author: Kai Habel <kai.habel at gmx.de>
 
-function spinmap(T, inc)
+function spinmap (t, inc)
 
   if (nargin == 0)
     inc = 2;
-    T = 5;
+    t = 5;
   elseif (nargin == 1)
     inc = 2;
   endif
 
-  cmap = get(gcf,"Colormap");
-  clen = rows(cmap);
+  cmap = get (gcf (), "colormap");
+  clen = rows (cmap);
 
   t0 = clock;
 
-  while (etime(clock, t0) < T)
-    for n = 1 : inc : clen
-      newmap = shift(cmap, n, 1);
-      set(gcf,"Colormap",newmap)
-      drawnow
+  while (etime (clock, t0) < t)
+    for n = 1:inc:clen
+      newmap = shift (cmap, n, 1);
+      set (gcf (), "colormap", newmap)
+      drawnow ();
     endfor
-  end
-  set(gcf,"Colormap",cmap)
-end
+  endwhile
+
+  set (gcf (), "colormap", cmap)
+
+endfunction
+