General Graph Drawing


GraphPlot[{vi1->vj1,vi2->vj2,…}] | generate a plot of the graph in which vertex vik is connected to vertex vjk |
GraphPlot[{{vi1->vj1,lbl1},…}] | associate labels lblk with edges in the graph |
GraphPlot[m] | generate a plot of the graph represented by the adjacency matrix m |
GraphPlot3D[{vi1->vj1,vi2->vj2,…}] | generate a 3D plot of the graph in which vertex vik is connected to vertex vjk |
GraphPlot3D[{{vi1->vj1,lbl1},…}] | associate labels lblk with edges in the graph |
GraphPlot3D[m] | generate a 3D plot of the graph represented by the adjacency matrix m |
option name | default value | |
DirectedEdges | False | whether to show edges as directed arrows |
EdgeLabels | Automatic | whether to include labels given for edges |
EdgeShapeFunction | Automatic | function to give explicit graphics for edges |
GraphLayout | Automatic | the method used to lay out the graph |
MultiedgeStyle | Automatic | how to draw multiple edges between vertices |
PlotRangePadding | Automatic | how much padding to put around the plot |
"PackingLayout" | Automatic | method to use for packing components |
PlotStyle | Automatic | style in which objects are drawn |
SelfLoopStyle | Automatic | how to draw edges linking a vertex to itself |
VertexCoordinates | Automatic | rules for explicit vertex coordinates |
VertexLabels | Automatic | whether to show vertex names as labels |
VertexShapeFunction | Automatic | function to give explicit graphics for vertices |
DirectedEdges
EdgeLabels
EdgeShapeFunction
GraphLayout
Automatic | a method suitable for the problem is chosen automatically |
"CircularEmbedding" | lay out the vertices in a circle |
"HighDimensionalEmbedding" | invoke the high-dimensional embedding method, in which the graph is first laid out in a high-dimensional space based on the graph distances of the vertices to k centers; this layout is then projected to 2D or 3D space by linear combination of the high-dimensional coordinates using principal component analysis |
"RadialEmbedding" | invoke the radial embedding method, which is most suitable for tree or tree-like graphs; if the graph is not a tree, a spanning tree is first constructed, and a radial embedding of the spanning tree is used to derive the drawing for the graph |
"RandomEmbedding" | lay out vertices randomly |
"SpiralEmbedding" |
lay out the vertices in a spiral; in 3D, this distributes vertices uniformly on a sphere
|
"SpringElectricalEmbedding" | invoke the spring-electrical embedding method, in which neighboring vertices are subject to an attractive spring force that is proportional to their physical distance, and all vertices are subject to a repulsive electrical force that is inversely proportional to their distance; the overall energy is minimized |
"SpringEmbedding" | invoke the spring embedding method, in which a vertex is subject to either attractive or repulsive force from another vertex, as though they are connected by a spring; the spring has an ideal length equal to the graph distance between the vertices; the total spring energy is minimized |
MultiedgeStyle
PackingLayout
PlotRangePadding
PlotStyle
SelfLoopStyle
VertexCoordinates

VertexLabels




VertexShapeFunction

option name | default value | |
"EnergyControl" | Automatic | how the energy function is controlled during minimization |
"InferentialDistance" | Automatic | cutoff distance beyond which the force calculation ignores inference from faraway vertices |
MaxIterations | Automatic | maximum number of iterations to be used in attempting to minimize the energy |
"RandomSeed" | Automatic | seed to use in the random generator for initial vertex placement |
"RecursionMethod" | Automatic | whether a multilevel algorithm is used to lay out the graph |
"StepControl" | Automatic | how step lengths are modified during energy minimization |
"StepLength" | Automatic | initial step length used in moving the vertices |
"Tolerance" | Automatic | tolerance used in terminating the energy minimization process |
"EnergyControl"
"InferentialDistance"
MaxIterations
"RandomSeed"
"RecursionMethod"
suboption name | default value | |
"Randomization" | Automatic | whether to inspect vertices in random order |
"MinSize" | Automatic | minimal number of vertices in a coarsened graph |
"CoarseningScheme" | Automatic | how graphs are coarsened |
"MaximalIndependentVertexSet" | link vertices in the maximal independent set if their graph distance is 3 or less |
"MaximalIndependentVertexSetInjection" | |
link vertices in the maximal independent set if their graph distance is 1 or 2 | |
"MaximalIndependentVertexSetRugeStuben" | |
generate the maximal independent vertex set, giving priority to vertices with more neighbors not in the set, then link vertices in the set if their graph distance is 3 or less
| |
"MaximalIndependentVertexSetRugeStubenInjection" | |
link vertices if their graph distance is 1 or 2, giving priority to vertices with more neighbors
| |
"MaximalIndependentEdgeSet" | consider edges in their natural order when matching |
"MaximalIndependentEdgeSetHeavyEdge" | |
give priority to edges with higher edge weight (i.e., edges that represent a larger number of edges in the original graph) when matching
| |
"MaximalIndependentEdgeSetSmallestVertexWeight" | |
give priority to matchings of vertices with neighbors that have the smallest vertex weight |
"StepControl"
"StepLength"
Tolerance
option name | value | |
"Octree" | Automatic |
whether to use an octree data structure (in three dimensions) or a quadtree data structure (in two dimensions) in the calculation of repulsive force
|
"RepulsiveForcePower " | -1 | how fast the repulsive force decays over distance |
"Octree"
"RepulsiveForcePower"










Drawing a Graph to Fill Up More Space
Improving Performance for Drawing Very Large Graphs
E. coli Transcription Networks
Data
Drawing the Network
Protein: An Oxidoreductase
Social Network
Graphs from Words and Texts
Torus
[1] Milo, R., S. Shen-Orr, S. Itzkovitz, N. Kashtan, D. Chklovskii, and U. Alon. "Network Motifs: Simple Building Blocks of Complex Networks." Science 298, no. 5594 (2002): 824–827.
[2] Alon, U. "Collection of Complex Networks." Uri Alon Homepage 2007.
[3] Milo, R., S. Itzkovitz, N. Kashtan, et al. "Superfamilies of Designed and Evolved Networks." Science 303, no. 5663 (2004): 1538–1542.
[4] Alon, U. "1AORInter." network Motifs 2007.
[5] National Institute of Standards and Technology. "DWA512: Square Dielectric Waveguide." Matrix Market 2007.
[6] Freivalds, K., U. Dogrusoz, and P. Kikusts, "Disconnected Graph Layout and the Polyomino Packing Approach." Lecture Notes in Computer Science: Revised Papers from the 9th International Symposium on Graph Drawing 2265 (2001): 378–391.
[7] Hu, Y. F. "Graph Drawing of Square Matrices from University of Florida Sparse Matrix Collection." (2007).
[8] Hu, Y. F. "Efficient, High-Quality Force-Directed Graph Drawing." The Mathematica Journal 10, no. 1 (2006): 37–71.