News

About
Download
News
Gallery
Documentation
Theory
Bugs
MailingList
License
Resources
Credits

Graphviz - Graph Visualization Software

Curated Example Graphs (2008)

Donate your interesting example graphs! Please contact yifanhu research att com

Graphviz for Windows (2007)

The 2.16 release occurred on 9 November. In general, in addition to various bug fixes, the release provides three new node shapes, "tab", "box3d" and "component", provided by Diomidis Spinellis, and we've added support for the "image" and "imagescale" attributes to simplify the use of images in nodes.

More importantly for Windows users, the release provides many system features which were previously only available on Unix systems. These include:

  • Rendering using the Cairo library. In particular, using this it is possible to get PostScript output using general Unicode input and non-Type 1 fonts.
  • Font naming using the fontconfig library.
  • Support for plug-ins. With this architectural change, users can add their own layout engines or renderers without having to make any changes to the Graphviz programs.
  • The gvpr tool, which enables a user to process graphs simply.

Tools built on Graphviz

You can find great tools and demos in our Resources section. Here's a sample:
dot2tex zoomable applet HTML5 and Javascript ajax

John Currier's SchemaSpy is runner up as O'Reilly's most useful Java-Oracle tool.

According to the reviewer, Paul Brown, the winner is Oracle's own Project Raptor, so this award is quite an accomplishment for a one-person, open source project. SchemaSpy relies on Graphviz for visualization. Its description on SourceForge explains:

SchemaSpy analyzes schema metadata, letting you click through the hierarchy of your tables' parent/child relationships either graphically or through HTML tables. It works with just about any RDBMS given an appropriate JDBC driver. SchemaSpy also identifies several common schema anomalies.

New scalable algorithm for directed graphs (Oct. 2005)

Graphviz now incorporates DiG-COLA (directed graph constrained layout) algorithm for which Yehuda Koren and Tim Dwyer (Monash University) won the IEEE Infovis 2005 Best Paper Award. (Try: neato -Gmode=hier). Neato already incorporates the stress majorization algorithm presented at Graph Drawing 2004, that supports an alternative model for graphs with nodes of high degree. (Try: neato -Gmodel=subset)

New plug-in architecture for layout, scripting languages and renderers (Oct. 2005)

Graphviz now has a more modular architecture that supports multiple layout engines, scripting languages, and renderers. About a dozen scripting languages, including perl, python, tcl and ruby are supported. An optional backend with high-quality antialiased graphics is written in cairo, and it also provides portable interactive graph canvas objects in GTK+. This work was done by John Ellson.

Release under Certified Open Source License (Dec. 2004)

As of 11 December 2004, Graphviz is licensed by AT&T under the Common Public License (CPL). This license is endorsed by the Open Source Initiative. A benefit of OSI certification to our community of users is that it conveys a high level of trust that the software may be freely used in other open source projects and included in standard distributions. Graphviz is already in Axel Thimm's well known ATrpms, Dag Wieer's APT/YUM repository and others.


Apple Design Award

Pixelglow's outstanding adaption of Graphviz 1.12 won two 2004 Apple Design Awards: Best Mac OS X Open Source Product and runner up, Best Product New to Mac OS X. The awards were presented at the 2004 Apple World Wide Developers Conference at the Moscone Center in San Francisco on June 29. Congratulations to Glen Low and the Graphviz core team. (Also, see inside the trophy!)
graphviz team photo of trophies
Lefty Koutsofios, Emden Gansner, Stephen North, John Ellson (Glen Low missing)


R-Graphviz (Aug. 2004)

R-Graphviz is a graph layout and display module from the Bio-Conductor project for the R statistics language. Thanks to Robert Gentleman and Jeff Gentry (Dana Farber Cancer Institute, Harvard) for leading this work. (In Sept. 2004, an article on applying R-Graphviz to displaying metabolic pathways was published in the R newsletter.)


HTML-like labels (Feb. 2004)

This new label formatter supports many helpful options for text formatting, coloring and URL linking, similar to HTML tables. (Special thanks to Emden Gansner and Serban Jora.)


Circo - circular layout tool (Feb. 2004)

Mac OSX port (Feb. 2004)

A quite elegant-looking port of graphviz to Mac OSX includes a new document-based GUI, export to PDF and many bitmap formats, full alpha transparency, native font support and anti-aliasing. (Special thanks to Glen Low.)

gvpr (aka gpr)

The generic graph processor (written by Emden Gansner) has some new features. It has string and substring matching and substitution using POSIX shell pattern syntax. It also has a lock primitive to save graphs in the input stream, making it easier to write scripts that operate on multiple graphs. It now provides access to common math functions and a random number generator. There are additional graph traversals available.

gvpack

The tool packs multiple layouts using a 2D tiling algorithm based on polyominos. It's a standalone tool using the same algorithm that is shown below for neato -Gpack.


Zoomable 2-1/2D graph viewer (in Java) by Emmanuel Pietriga at the W3C.

Agraph library tutorial

WinGraphviz update

Added CMAP support. The download includes support for the most common output formats for dot and neato, and sample ASP code. Thanks to ood Tsen!

Neato -Gpack

This feature (due to Emden Gansner) places connected components by a new tiling algorithm that improves both compaction and running time.
Without pack With pack

Dynagraph

Beta code is included in the source release, but it is not compiled by default. Also see the mpeg and Quicktime demo movies.

Graphviz 1.8.+

See the download page for packages including perl and Python APIs.
We've incorporated a new collection of graph tools including "gpr", a graph stream editor, in the spirit of awk. (Thanks to Emden Gansner for these tools.) webdot.cgi server (in perl). See instructions at top of the script regarding use.
The SVG driver is more usable.
All known memory leaks banished! Rock solid.

Graphviz and Visual Basic (Contributed)

GraphvizLib COM Component and Visual Basic Examples.
(Older GraphvizTool.CAB and a very brief description.)

Graphviz 1.5

Graphviz 1.4

  • improved layout algorithms in neato to avoid node-node and node-edge overlaps. (To do: resolve edge-edge and edge label overlaps.)
  • Spline-o-Matic - (reusable spline router library)
  • drivers for VRML, VTX (Confluent Visual Thought), and server-side image maps
  • Bug fixes, e.g. edge concentrators and clusters.

Graphviz 1.3

  • Grappa - Java library and GUI for graphs, including a dot parser. dot or your own layout mechanism is needed for graph layout, but these can run on a remote server. (Thanks to John Mocenigo, john@research.att.com.)
  • TrueType font support in GIF driver. GIF is useful in HTML and MS-Office documents. (Thanks to John Ellson, ellson@research.att.com.)
  • edge connector options - arrowhead styles, endpoint labels, etc. (Thanks to Vladimir Alexiev.)

Plans

  • Cairo canvas and scripting plugin (Ellson)
  • Improved force-directed layouts (Gansner)
  • Overhaul 'dot' layouts (North)
  • Full user interface for Toplogical Fisheye Views of large graphs

Wish list

  • Polyline/rectilinear edges for dot
  • Spline router for parallel edges
  • Integration of batch and incremental layout service
  • Someone to adopt and finish Dynagraph in C++