Graphviz and dynagraph - static and dynamic graph drawing tools
Graphviz is a collection of software for viewing and manipulating abstract graphs. It provides graph visualization for tools and web sites in domains such as software engineering, networking, databases, knowledge representation, and bio-informatics. Hundreds of thousands of copies have been distributed under an open source license. The core of Graphviz consists of implementations of various common types of graph layout. These layouts can be used via a C library interface, streambased command line tools, graphical user interfaces and web browsers. Aspects which distinguish the software include a retention of stream-based interfaces in conjunction with a variety of tools for graph manipulation, and support for a wide assortment of graphical features and output formats. The former makes it possible to write high-level programs for querying, modifying and displaying graphs. The latter allows Graphviz to be useful in a wide range of areas, with applications far removed from academic exercises. The algorithms of Graphviz concentrate on static layouts. Dynagraph is a sibling of Graphviz, with algorithms and interactive programs for incremental layout. At the library level, it provides an object-oriented interface for graphs and graph algorithms.