diff scripts/plot/zlabel.m @ 7194:a927a2871a93

[project @ 2007-11-26 23:06:12 by jwe]
author jwe
date Mon, 26 Nov 2007 23:06:13 +0000
parents a1dbe9d80eee
children a730e47fda4d
line wrap: on
line diff
--- a/scripts/plot/zlabel.m	Mon Nov 26 22:20:25 2007 +0000
+++ b/scripts/plot/zlabel.m	Mon Nov 26 23:06:13 2007 +0000
@@ -19,6 +19,7 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} zlabel (@var{string})
+## @deftypefnx {Function File} {} zlabel (@var{h}, @var{string})
 ## See xlabel.
 ## @end deftypefn
 
@@ -26,14 +27,30 @@
 
 function h = zlabel (varargin)
 
-  if (rem (nargin, 2) == 1)
-    if (nargout > 0)
-      h = __axis_label__ ("zlabel", varargin{:});
-    else
-      __axis_label__ ("zlabel", varargin{:});
+  if (isscalar (varargin{1}) && ishandle (varargin{1}))
+    ax = varargin {1};
+    if (! strcmp (get (ax, "type"), "axes"))
+      error ("zlabel: expecting first argument to be an axes object");
+    endif
+    if (rem (nargin, 2) == 1)
+      print_usage ();
     endif
+    oldh = gca ();
+    unwind_protect
+      axes (ax);
+      tmp = __axis_label__ ("zlabel", varargin{2:end});
+    unwind_protect_cleanup
+      axes (oldh);
+    end_unwind_protect
   else
-    print_usage ();
+    if (rem (nargin, 2) != 1)
+      print_usage ();
+    endif
+    tmp = __axis_label__ ("zlabel", varargin{1:end});
+  endif
+
+  if (nargout > 0)
+    h = tmp;
   endif
 
 endfunction