Mercurial > hg > octave-nkf
annotate scripts/sparse/gplot.m @ 20526:d8992a16643c
doc: Clean up m-files which generate images for Manual.
* geometryimages.m, interpimages.m, plotimages.m, sparseimages.m,
splineimages.m: Use the same style throughout the mi-files.
Obey Octave coding conventions.
author | Rik <rik@octave.org> |
---|---|
date | Thu, 09 Jul 2015 21:38:57 -0700 |
parents | aa36fb998a4d |
children |
rev | line source |
---|---|
19898
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
17744
diff
changeset
|
1 ## Copyright (C) 2005-2015 Ivana Varekova |
5576 | 2 ## |
7016 | 3 ## This file is part of Octave. |
5576 | 4 ## |
7016 | 5 ## Octave is free software; you can redistribute it and/or modify it |
6 ## under the terms of the GNU General Public License as published by | |
7 ## the Free Software Foundation; either version 3 of the License, or (at | |
8 ## your option) any later version. | |
9 ## | |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
5576 | 14 ## |
15 ## You should have received a copy of the GNU General Public License | |
7016 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
5576 | 18 |
19 ## -*- texinfo -*- | |
11471
994e2a93a8e2
Use uppercase 'A' to refer to matrix inputs in m-files.
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
20 ## @deftypefn {Function File} {} gplot (@var{A}, @var{xy}) |
994e2a93a8e2
Use uppercase 'A' to refer to matrix inputs in m-files.
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
21 ## @deftypefnx {Function File} {} gplot (@var{A}, @var{xy}, @var{line_style}) |
994e2a93a8e2
Use uppercase 'A' to refer to matrix inputs in m-files.
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
22 ## @deftypefnx {Function File} {[@var{x}, @var{y}] =} gplot (@var{A}, @var{xy}) |
20374
df437a52bcaf
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
20038
diff
changeset
|
23 ## Plot a graph defined by @var{A} and @var{xy} in the graph theory sense. |
5576 | 24 ## |
20374
df437a52bcaf
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
20038
diff
changeset
|
25 ## @var{A} is the adjacency matrix of the array to be plotted and @var{xy} is |
df437a52bcaf
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
20038
diff
changeset
|
26 ## an @var{n}-by-2 matrix containing the coordinates of the nodes of the graph. |
df437a52bcaf
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
20038
diff
changeset
|
27 ## |
df437a52bcaf
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
20038
diff
changeset
|
28 ## The optional parameter @var{line_style} defines the output style for the |
20391
aa36fb998a4d
maint: Remove unnecessary whitespace at end of lines.
Rik <rik@octave.org>
parents:
20374
diff
changeset
|
29 ## plot. Called with no output arguments the graph is plotted directly. |
20374
df437a52bcaf
doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents:
20038
diff
changeset
|
30 ## Otherwise, return the coordinates of the plot in @var{x} and @var{y}. |
5642 | 31 ## @seealso{treeplot, etreeplot, spy} |
5576 | 32 ## @end deftypefn |
33 | |
11471
994e2a93a8e2
Use uppercase 'A' to refer to matrix inputs in m-files.
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
34 function [x, y] = gplot (A, xy, line_style) |
5576 | 35 |
36 if (nargin < 2 || nargin > 3 || nargout > 2) | |
6046 | 37 print_usage (); |
5576 | 38 endif |
39 | |
40 if (nargin == 2) | |
6746 | 41 line_style = "-"; |
5576 | 42 endif |
43 | |
11471
994e2a93a8e2
Use uppercase 'A' to refer to matrix inputs in m-files.
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
44 [i, j] = find (A); |
10547
af55e4a499e4
Fix parsing error when NaN used inside of matrix declaration
Rik <code@nomad.inbox5.com>
parents:
10540
diff
changeset
|
45 xcoord = [xy(i,1), xy(j,1), NaN(length(i),1) ]'(:); |
af55e4a499e4
Fix parsing error when NaN used inside of matrix declaration
Rik <code@nomad.inbox5.com>
parents:
10540
diff
changeset
|
46 ycoord = [xy(i,2), xy(j,2), NaN(length(i),1) ]'(:); |
5576 | 47 |
48 if (nargout == 0) | |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
49 plot (xcoord, ycoord, line_style); |
5576 | 50 else |
51 x = xcoord; | |
52 y = ycoord; | |
53 endif | |
54 | |
55 endfunction | |
13087
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
56 |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
57 |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
58 %!demo |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
59 %! ## Binary Tree Representation |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
60 %! A = [0 1 0 0 0 0 0 |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
61 %! 1 0 1 1 0 0 0 |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
62 %! 0 1 0 0 0 0 0 |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
63 %! 0 1 0 0 1 0 0 |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
64 %! 0 0 0 1 0 1 1 |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
65 %! 0 0 0 0 1 0 0 |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
66 %! 0 0 0 0 1 0 0]; |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
67 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
68 %! xy = [1 , 0 |
13087
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
69 %! 1.5, 1 |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
70 %! 2 , 0 |
13087
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
71 %! 2.5, 2 |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
72 %! 3.5, 1 |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
73 %! 3 , 0 |
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
74 %! 4 , 0]; |
13087
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
75 %! |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
76 %! clf; |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
77 %! gplot (A, xy, "o-"); |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
78 %! set (get (gca, ("children")), "markersize", 12); |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
79 %! title ("gplot() of Binary Tree Adjacency matrix"); |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
80 |
20038
9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19898
diff
changeset
|
81 ## Mark graphical function as tested by demo block |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14237
diff
changeset
|
82 %!assert (1) |
13087
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
83 |