Graph Visualization
(GraphViz, Tom Sawyer, yWorks, ...)
Graph visualization is a mixture of science and art, that has become increasingly important as networks emerge as a key paradigm in many fields. A variety of specialized graph visualization systems have been developed, often available primarily as subroutine libraries. Mathematica is redefining the field of graph visualization, significantly raising the quality and efficiency of automatic graph layout, and allowing immediate graph visualization to become a mainstream part of the everyday computational workflow.
Built into Mathematica is a large collection of original and state-of-the-art graph layout algorithms—developed through a collaboration between algorithm developers and graphic designers at Wolfram Research. Given particular data, Mathematica automatically selects the best algorithms to use, and by being able to draw on Mathematica's vast web of geometric, numeric, graph theoretic, visualization and rendering capabilities, it is able to achieve a very high level of efficiency, routinely handling graphs with even millions of nodes.
A crucial feature is that graph visualization is tightly integrated into the general Mathematica system. Graphs are represented in a general symbolic form that can readily be generated and manipulated by functions in the Mathematica language, or obtained by importing data. Output graphics are also represented symbolically, so that they can immediately be manipulated interactively in arbitrary ways, included in typeset or tabular output, and exported in all standard formats.
Graph Visualization Package Features Built into Mathematica:
- Automatic layout of directed and undirected graphs »
- Automatic layout of layered graphs and trees »
- Arbitrary edge and vertex styling and labeling
- Support for multi-edges and self-loops
- Many input formats, including sparse matrices »
- Interactive graphics editing and annotation »
- Built-in output to all standard screen, print and web formats »
Key Advantages of Mathematica for Graph Visualization:
- Graph visualization fully integrated into the Mathematica system »
- Highly efficient, scalable layout algorithms allowing multimillion-node graphs
- Extensive computational aesthetics methods for optimal graph appearance
- Graph layout in 3D as well as 2D »
- Automatic layout of multiple components
- Automatic selection between a large number of internal algorithms »
- Graphs fully integrated into typesetting, tabular output, scrollable documents, etc.
- Arbitrary nodes and edges including typesetting, math, 2D and 3D graphics, etc. »
- Arbitrary tooltips, mouseovers, etc. for all nodes, edges or groups of elements »
- Interactive controls can be embedded in graphs
- Integration with dynamic interactivity, allowing real-time changes in graphs »
- Automatic layout allowing constraints on particular nodes »
- Symbolic representation of all graphs
- Graphs in visual form usable as syntactic input to functions
- Import of data in hundreds of standard and specialized formats »
- Access to complete Mathematica system for generating arbitrary graphs
- Built-in database of all standard named graphs »
- Immediate webMathematica deployment
Graph Visualization Package Interoperability:
- Import and export of all standard matrix formats (Harwell-Boeing, MAT, CSV, ...) »
- Import and export of Sparse6 and Graph6 graph formats
- Immediate interoperability with Combinatorica
- Built-in graph utilities and GraphEdit functionality
Interesting Tidbits:
- Mathematica can routinely compute layouts for million-node graphs in under a minute
- The Wolfram Demonstrations Project includes many dynamic graph visualization examples >>
- Mathematica automatically creates graph layouts for almost all sparse matrices in the UFL Sparse Matrix collection >>
See Also Analyses On:
Related Links