Mercurial > hg > octave-nkf
view scripts/plot/__plt2vm__.m @ 6453:4067a8caff18
[project @ 2007-03-26 14:15:24 by jwe]
author | jwe |
---|---|
date | Mon, 26 Mar 2007 14:15:24 +0000 |
parents | a5cd8b77e892 |
children | 5dc550e1f419 |
line wrap: on
line source
## Copyright (C) 1996, 1997 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 2, 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, write to the Free ## Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ## 02110-1301, USA. ## -*- texinfo -*- ## @deftypefn {Function File} {} __plt2vm__ (@var{h}, @var{x}, @var{y}, @var{options}) ## @end deftypefn ## Author: jwe function retval = __plt2vm__ (h, x, y, options) if (nargin < 3 || nargin > 4) print_usage (); endif if (nargin < 4 || isempty (options)) options = __default_plot_options__ (); endif [x_nr, x_nc] = size (x); [y_nr, y_nc] = size (y); if (x_nr == 1) x = x'; tmp = x_nr; x_nr = x_nc; x_nc = tmp; endif if (x_nr == y_nr) 1; elseif (x_nr == y_nc) y = y'; tmp = y_nr; y_nr = y_nc; y_nc = tmp; else error ("__plt2vm__: matrix dimensions must match"); endif if (y_nc > 0) if (numel (options) == 1) options = repmat (options(:), y_nc, 1); endif retval = zeros (y_nc, 1); for i = 1:y_nc tkey = options(i).key; if (! isempty (tkey)) set (h, "key", "on"); endif color = options(i).color; if (isempty (color)) color = __next_line_color__ (); endif retval(i) = line (x, y(:,i), "keylabel", tkey, "color", color, "linestyle", options(i).linestyle, "marker", options(i).marker); endfor else error ("__plt2vm__: arguments must be a matrices"); endif endfunction