Mercurial > hg > octave-lyh
annotate scripts/sparse/gplot.m @ 17368:afc3d47f7704
Update windows GUI terminal handling
* libgui/src/octave-gui.cc
(octave_start_gui): set TERM environment variable to 'cygwin' in windows if no term is set.
* libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp
(translateKey): deocde delete key before non special keys using moveright \b, use \e[H for home, \e[F for end, decode esc key.
author | John Donoghue <john.donoghue@ieee.org> |
---|---|
date | Fri, 30 Aug 2013 15:43:39 -0400 |
parents | f3d52523cde1 |
children |
rev | line source |
---|---|
14138
72c96de7a403
maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents:
13087
diff
changeset
|
1 ## Copyright (C) 2005-2012 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}) |
5577 | 23 ## Plot a graph defined by @var{A} and @var{xy} in the graph theory |
24 ## sense. @var{A} is the adjacency matrix of the array to be plotted | |
25 ## and @var{xy} is an @var{n}-by-2 matrix containing the coordinates of | |
26 ## the nodes of the graph. | |
5576 | 27 ## |
5577 | 28 ## The optional parameter @var{line_style} defines the output style for |
29 ## the plot. Called with no output arguments the graph is plotted | |
30 ## directly. Otherwise, return the coordinates of the plot in @var{x} | |
31 ## and @var{y}. | |
5642 | 32 ## @seealso{treeplot, etreeplot, spy} |
5576 | 33 ## @end deftypefn |
34 | |
11471
994e2a93a8e2
Use uppercase 'A' to refer to matrix inputs in m-files.
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
35 function [x, y] = gplot (A, xy, line_style) |
5576 | 36 |
37 if (nargin < 2 || nargin > 3 || nargout > 2) | |
6046 | 38 print_usage (); |
5576 | 39 endif |
40 | |
41 if (nargin == 2) | |
6746 | 42 line_style = "-"; |
5576 | 43 endif |
44 | |
11471
994e2a93a8e2
Use uppercase 'A' to refer to matrix inputs in m-files.
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
45 [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
|
46 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
|
47 ycoord = [xy(i,2), xy(j,2), NaN(length(i),1) ]'(:); |
5576 | 48 |
49 if (nargout == 0) | |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
50 plot (xcoord, ycoord, line_style); |
5576 | 51 else |
52 x = xcoord; | |
53 y = ycoord; | |
54 endif | |
55 | |
56 endfunction | |
13087
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 |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
59 %!demo |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
60 %! ## Binary Tree Representation |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
61 %! 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
|
62 %! 1 0 1 1 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 0 0 0 |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
64 %! 0 1 0 0 1 0 0 |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
65 %! 0 0 0 1 0 1 1 |
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 %! 0 0 0 0 1 0 0]; |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
68 %! |
14237
11949c9795a0
Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
69 %! xy = [1 , 0 |
13087
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
70 %! 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
|
71 %! 2 , 0 |
13087
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
72 %! 2.5, 2 |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
73 %! 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
|
74 %! 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
|
75 %! 4 , 0]; |
13087
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
76 %! |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
77 %! clf; |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
78 %! gplot (A, xy, "o-"); |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
79 %! set (get (gca, ("children")), "markersize", 12); |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
80 %! title ("gplot() of Binary Tree Adjacency matrix"); |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
81 |
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
82 %% 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
|
83 %!assert (1) |
13087
71ce008332e2
codesprint: Add demo block to gplot.m
Rik <octave@nomad.inbox5.com>
parents:
11587
diff
changeset
|
84 |