networks
draw3d
draw an undirected connected graph in 3-D
Calling Sequence
Parameters
Description
Examples
draw3d(G, opts )
G
-
undirected graph
opts
(optional) plot options; see plot3d[option]
Important: The networks package has been deprecated. Use the superseding package GraphTheory instead.
The draw3d(G, opts) routine draws an undirected connected graph G=V,E in three dimensions in such a way that structure and symmetry in the graph is revealed. The graph G is input as a GRAPH data type as created in the networks package. The output is a three dimensional plot of labeled points with lines connecting them. The points correspond to the vertices in the graph and the lines correspond to the edges in the graph.
The location of the vertices of the graph is determined as follows. Let A be the adjacency matrix of G and let u, v and w be three eigenvectors of A with corresponding second, third, and fourth largest eigenvalue in absolute value. Then the (x,y,z) coordinates of the ith vertex of G is (ui,vi,wi).
Sometimes other symmetries in the graph can be seen by using other eigenvectors. If the optional argument eigenvectors=e1,e2,e3 is specified, where e1, e2, and e3 are vertex numbers (integers from 1 through the number of vertices), the eigenvectors corresponding to the eigenvalues of these relative magnitudes are used.
If the graph is not connected, you can draw the connected components separately. The last example below shows how to do this.
Remaining arguments are interpreted as options which are specified as equations of the form option = value. The remaining options are the same as those available for the plot3d command. For more information, see plot3d[option].
The algorithm used is the same as that described for plots[graphplot3d(deprecated)]. The networks[draw3d] and plots[graphplot3d] commands are identical except they accept different forms of graph input.
Note: The plots[graphplot3d(deprecated)] command has been superseded by GraphTheory[DrawGraph].
with⁡networks:
G≔cube⁡:
draw3d⁡G
A≔adjacency⁡G
cp≔factor⁡linalgcharpoly⁡A,x
draw3d⁡G,eigenvectors=1,3,8
G≔dodecahedron⁡:
draw3d⁡G,title=A dodecahedron
An example of a graph that is not connected.
V≔seq⁡i,i=0..8:
E≔0,3,0,6,1,2,1,5,1,8,2,4,2,7,3,6,4,5,4,8,5,7,7,8:
G≔graph⁡V,E:
C≔components⁡G
The number of connected components:
nops⁡C
C1≔induce⁡C1,G:
C2≔induce⁡C2,G:
draw3d⁡C1
draw3d⁡C2
See Also
GraphTheory
GraphTheory[DrawGraph]
GraphTheory[DrawNetwork]
networks(deprecated)[draw]
networks(deprecated)[induce]
plot3d[option]
plots[graphplot3d(deprecated)]
Download Help Document