Mercurial > hg > octave-nkf
diff scripts/plot/__bars__.m @ 7189:e8d953d03f6a
[project @ 2007-11-26 20:42:09 by dbateman]
author | dbateman |
---|---|
date | Mon, 26 Nov 2007 20:42:11 +0000 |
parents | |
children | b48a21816f2e |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/scripts/plot/__bars__.m @@ -0,0 +1,59 @@ +## Copyright (C) 1996, 1997, 2007 John W. Eaton +## +## 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 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 +## 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, see +## <http://www.gnu.org/licenses/>. + +## Undocumented internal function. + +## Author: jwe + +function tmp = __bars__ (h, vertical, x, y, xb, yb, width, group, have_color_spec, varargin) + + ycols = columns (y); + clim = get (h, "clim"); + + if (vertical) + tmp = []; + for i = 1 : ycols + if (! have_color_spec) + if (ycols == 1) + lev = clim (1); + else + lev = (i - 1) * (clim(2) - clim(1)) / (ycols - 1) - clim(1); + endif + tmp = [tmp; patch(xb(:,:,i), yb(:,:,i), "FaceColor", "flat", + "cdata", lev, varargin {:})]; + else + tmp = [tmp; patch(xb(:,:,i), yb(:,:,i), varargin {:})]; + endif + endfor + else + tmp = []; + for i = 1 : ycols + if (! have_color_spec) + if (ycols == 1) + lev = clim (1) + else + lev = (i - 1) * (clim(2) - clim(1)) / (ycols - 1) - clim(1); + endif + tmp = [tmp; patch(yb(:,:,i), xb(:,:,i), "FaceColor", "flat", + "cdata", lev, varargin {:})]; + else + tmp = [tmp; patch(yb(:,:,i), xb(:,:,i), varargin {:})]; + endif + endfor + endif +endfunction