annotate scripts/plot/__plt2sv__.m @ 8070:3b53b25e2550

Add data sources and line series
author David Bateman <dbateman@free.fr>
date Thu, 28 Aug 2008 12:23:54 -0400
parents 1edef460c5fe
children a028a5960e18
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7431
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
1 ## Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2003, 2005,
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
2 ## 2006, 2007 John W. Eaton
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
3 ##
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
4 ## This file is part of Octave.
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
5 ##
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
6 ## Octave is free software; you can redistribute it and/or modify it
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
7 ## under the terms of the GNU General Public License as published by
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
8 ## the Free Software Foundation; either version 3 of the License, or (at
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
9 ## your option) any later version.
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
10 ##
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
11 ## Octave is distributed in the hope that it will be useful, but
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
12 ## WITHOUT ANY WARRANTY; without even the implied warranty of
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
14 ## General Public License for more details.
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
15 ##
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
16 ## You should have received a copy of the GNU General Public License
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
17 ## along with Octave; see the file COPYING. If not, see
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
18 ## <http://www.gnu.org/licenses/>.
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
19
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
20 ## Undocumented internal function.
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
21
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
22 ## Author: jwe
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
23
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
24 function retval = __plt2sv__ (h, x, y, options, properties)
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
25
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
26 if (nargin < 3 || nargin > 5)
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
27 print_usage ();
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
28 endif
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
29
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
30 if (nargin < 4 || isempty (options))
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
31 options = __default_plot_options__ ();
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
32 endif
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
33
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
34 if (nargin < 5)
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
35 properties = {};
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
36 endif
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
37
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
38 if (isscalar (x) && isvector (y))
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
39 len = numel (y);
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
40 if (numel (options) == 1)
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
41 options = repmat (options(:), len, 1);
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
42 endif
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
43 retval = zeros (len, 1);
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
44 for i = 1:len
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
45 tkey = options(i).key;
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
46 if (! isempty (tkey))
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
47 set (h, "key", "on");
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
48 endif
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
49 color = options(i).color;
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
50 if (isempty (color))
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
51 color = __next_line_color__ ();
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
52 endif
8070
3b53b25e2550 Add data sources and line series
David Bateman <dbateman@free.fr>
parents: 7431
diff changeset
53
3b53b25e2550 Add data sources and line series
David Bateman <dbateman@free.fr>
parents: 7431
diff changeset
54 hg = hggroup ();
3b53b25e2550 Add data sources and line series
David Bateman <dbateman@free.fr>
parents: 7431
diff changeset
55 retval(i) = hg;
3b53b25e2550 Add data sources and line series
David Bateman <dbateman@free.fr>
parents: 7431
diff changeset
56 args = __add_datasource__ ("__plt2sv__", hg, {"x", "y", "z"},
3b53b25e2550 Add data sources and line series
David Bateman <dbateman@free.fr>
parents: 7431
diff changeset
57 properties{:});
3b53b25e2550 Add data sources and line series
David Bateman <dbateman@free.fr>
parents: 7431
diff changeset
58
3b53b25e2550 Add data sources and line series
David Bateman <dbateman@free.fr>
parents: 7431
diff changeset
59 h = line (x, y(i), "keylabel", tkey, "color", color,
3b53b25e2550 Add data sources and line series
David Bateman <dbateman@free.fr>
parents: 7431
diff changeset
60 "linestyle", options(i).linestyle,
3b53b25e2550 Add data sources and line series
David Bateman <dbateman@free.fr>
parents: 7431
diff changeset
61 "marker", options(i).marker, "parent", hg, args{:});
3b53b25e2550 Add data sources and line series
David Bateman <dbateman@free.fr>
parents: 7431
diff changeset
62
3b53b25e2550 Add data sources and line series
David Bateman <dbateman@free.fr>
parents: 7431
diff changeset
63 __add_line_series__ (h, hg);
7431
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
64 endfor
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
65 else
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
66 error ("__plt2sv__: first arg must be scalar, second arg must be vector");
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
67 endif
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
68
1edef460c5fe [project @ 2008-01-30 08:13:52 by jwe]
jwe
parents:
diff changeset
69 endfunction