Mercurial > hg > octave-lyh
diff scripts/plot/__bar__.m @ 7325:67aef14de9c2
[project @ 2007-12-19 20:21:11 by jwe]
author | jwe |
---|---|
date | Wed, 19 Dec 2007 20:21:11 +0000 |
parents | dd88d61d443f |
children | a2d9f325b65a |
line wrap: on
line diff
--- a/scripts/plot/__bar__.m +++ b/scripts/plot/__bar__.m @@ -27,6 +27,7 @@ ## Slightly smaller than 0.8 to avoid clipping issue in gnuplot 4.0 width = 0.8 - 10 * eps; group = true; + bv = 0; if (nargin < 3) print_usage (); @@ -87,6 +88,10 @@ width = varargin{idx++}; elseif (idx == nargin - 2) newargs = [newargs,varargin(idx++)]; + elseif (isstr (varargin{idx}) && strcmp (tolower (varargin{idx}), "basevalue") && + isscalar (varargin{idx+1})) + bv = varargin{idx+1}; + idx += 2; else newargs = [newargs,varargin(idx:idx+1)]; idx += 2; @@ -122,11 +127,11 @@ xb(2:4:4*ylen,:) += offset; xb(3:4:4*ylen,:) += offset; xb(4:4:4*ylen,:) += offset; - y0 = zeros (size (y)); + y0 = zeros (size (y)) + bv; y1 = y; else y1 = cumsum(y,2); - y0 = [zeros(ylen,1), y1(:,1:end-1)]; + y0 = [zeros(ylen,1)+bv, y1(:,1:end-1)]; endif yb = zeros (4*ylen, ycols); @@ -145,7 +150,7 @@ newplot (); tmp = __bars__ (h, vertical, x, y, xb, yb, width, group, - have_line_spec, newargs{:}); + have_line_spec, bv, newargs{:}); if (nargout == 1) varargout{1} = tmp; endif