annotate scripts/plot/colstyle.m @ 17535:c12c688a35ed default tip lyh

Fix warnings
author LYH <lyh.kernel@gmail.com>
date Fri, 27 Sep 2013 17:43:27 +0800
parents 049e8bbff782
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14138
72c96de7a403 maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents: 12607
diff changeset
1 ## Copyright (C) 2012 David Bateman
12607
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
2 ##
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
3 ## This file is part of Octave.
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
4 ##
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
8 ## your option) any later version.
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
9 ##
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
13 ## General Public License for more details.
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
14 ##
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
18
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
19 ## -*- texinfo -*-
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
20 ## @deftypefn {Function File} {[@var{style}, @var{color}, @var{marker}, @var{msg}] =} colstyle (@var{linespec})
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
21 ## Parse @var{linespec} and return the line style, color, and markers given.
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
22 ## In the case of an error, the string @var{msg} will return the text of the
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
23 ## error.
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
24 ## @end deftypefn
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
25
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
26 function [l, c, m, msg] = colstyle (style)
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
27
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
28 if (nargin != 1)
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
29 print_usage ();
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
30 endif
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
31
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
32 if (! ischar (style))
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
33 error ("colstyle: STYLE must be a string");
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
34 endif
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
35
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
36 try
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
37 opt = __pltopt__ ("colstyle", style);
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
38 l = opt.linestyle;
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
39 c = opt.color;
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
40 m = opt.marker;
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
41 msg = [];
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
42 switch (c)
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
43 case [0 0 0]
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
44 c = "k";
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
45 case [1 0 0]
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
46 c = "r";
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
47 case [0 1 0]
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
48 c = "g";
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
49 case [0 0 1]
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
50 c = "b";
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
51 case [1 1 0]
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
52 c = "y";
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
53 case [1 0 1]
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
54 c = "m";
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
55 case [0 1 1]
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
56 c = "c";
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
57 case [0 1 1]
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
58 c = "w";
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
59 endswitch
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
60 catch
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
61 l = c = m = [];
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
62 msg = lasterr ();
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
63 end_try_catch
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
64
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
65 endfunction
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
66
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
67
12607
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
68 %!test
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
69 %! [l, c, m, msg] = colstyle ("r:x");
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
70 %! assert (isempty (msg));
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
71 %! assert (l, ":");
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
72 %! assert (c, "r");
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
73 %! assert (m, "x");
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
74
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
75 %!test
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
76 %! [l, c, m, msg] = colstyle (".");
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
77 %! assert (isempty (msg));
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
78 %! assert (l, "none");
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
79 %! assert (c, []);
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
80 %! assert (m, ".");
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
81
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
82 %!test
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
83 %! [l, c, m, msg] = colstyle ("~");
15466
d174210ce1ec use ' instead of ` in error messages, warnings and most comments
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
84 %! assert (msg, "colstyle: unrecognized format character: '~'");
12607
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
85
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
86 %% Test input validation
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
87 %!error colstyle ()
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
88 %!error colstyle (1, 2)
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
89 %!error colstyle (1.5)
2846ea58b288 colstyle.m: Add new function (bug #33063)
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
90