Graphviz (Graph Visualization Software) is an open-source software package for drawing graphs specified in the DOT language. It was originally developed at AT&T Research Labs in the 1980s and released publicly in 2000 under the Eclipse Public License. The software consists of a collection of command-line tools and libraries that can automatically lay out directed and undirected graphs using various layout algorithms, such as dot (hierarchical), neato (spring‑model), fdp, sfdp, twopi, and circo.
Key features
- Accepts graph descriptions in the plain‑text DOT language.
- Generates visualizations in multiple output formats, including SVG, PNG, PDF, PostScript, and plain‑text.
- Provides programmable interfaces for several programming languages (C, C++, Java, Python, Perl, Ruby, etc.).
- Supports hierarchical, radial, circular, and force‑directed layout styles.
Common usage contexts
- Visualizing software architecture, dependency graphs, and state machines.
- Generating diagrams for documentation, such as UML class diagrams and flowcharts.
- Rendering biological networks, social network graphs, and infrastructure topologies.
Distribution and development
Graphviz is maintained by a community of contributors and is packaged for major operating systems (Linux, macOS, Windows) through standard repositories and distribution channels. The project’s source code is hosted on public version‑control platforms, and regular releases provide bug fixes, performance improvements, and new layout options.
Limitations
- As a command‑line tool, Graphviz requires users to be familiar with DOT syntax or to use wrappers that provide graphical interfaces.
- Very large graphs may encounter performance constraints depending on the chosen layout algorithm and system resources.
References
- Official Graphviz website (https://graphviz.org) – provides documentation, download links, and examples.
- Original research papers by E. K. Chiang and colleagues describing the DOT language and layout algorithms.