Welcome to dynagraph.org

Download from

This is the home of the Dynagraph layout engines, and related projects. The Dynagraph engines draw graphs (networks, flowcharts) which change over time.

The Dynagraph libraries are written in platform-neutral C++. As such, Dynagraph itself does not render to the screen, bitmaps, etc. Instead, the Dynagraph executable can be piped to a front end using the custom incrface language, or the library can be used directly in C++ programs, or in Windows programs via COM wrapper classes.

Gordon Woodhull maintains and improves Dynagraph continually. It is based on the brilliant work of the Graphviz team at AT&T Research, particularly Stephen North and Emden R. Gansner. While Gordon consulted for AT&T Research from 1997 to 2003, he designed a new architecture and ported the DynaDAG and FDP engines from C to C++. Since his departure from AT&T, he has continued to rearchitect Dynagraph and add powerful new features.

Currently three front-ends exist for Dynagraph:

  • Dynasty is a large graph browser which debuted at InfoVis 2006, allowing you to explore a graph that is too large for the screen through a dynamic subgraph. Dynasty will be released under the GPL in early 2007.
  • Dynagraph for Windows is a complete OLE graph-drawing application, allowing you to paste graphs into other documents, and paste documents into a graph as nodes.
  • Dynagraph for Grappa is a Java front end adapted from John Mocenigo's Grappa.

Dynagraph is licensed under the Common Public License. Source and binaries are available on SourceForge.

The Dynagraph project welcomes contributions from other developers. Under the terms of the CPL, contributions are copyright by their individual authors but must be licensed under the CPL. The version of the code available through Subversion under https://dynagraph2.svn.sourceforge.net/svnroot/dynagraph2/tags/last_att is © Copyright 2003 AT&T; all modifications since then, as tracked in the Subversion repository, are copyright by their respective authors.

The CPL (quite sensibly) does not make any restrictions on programs which use Dynagraph as a "module." That is to say, as long as you don't modify or add material to the Dynagraph libraries, you can do whatever you want with the program/libraries, no matter how you link or connect to Dynagraph. However, if you modify Dynagraph (particularly if you fix bugs ;-), you must make your modifications available under the CPL. The best way to do this is to join the project on SourceForge and upload your changes using Subversion - contact Gordon for access and versioning policies. (Or create your own distribution if you need to.)