These are some representative external resources. The list includes tools that complement Graphviz, such as graph generators, postprocessors and interactive viewers. It also includes higher level systems and web sites that rely on Graphviz as a visualization service. You can also find Graphviz-related projects in Google Code. Please send us suggestions for additions to this list with, if possible, a recommendation as to appropriate category for the resource.
Graph drawing can be considered one of the tool sets used in analyzing data. Anyone interested in pursuing work in data science can find some helpful information here.
Simple Examples and Tutorials
- Searchable notes and examples [René Nyffenegger]
- preview-dot A tool for visualising dot format graphs (with a .gv extension) within the preview pane of Windows Explorer. This also works in Outlook for attachments, etc. [Simon Laing]
- d3-graphviz Renders SVG from graphs described in the DOT language using the Viz.js port of Graphviz and does animated transitions between graphs. [Magnus Jacobsson]
- jquery.graphviz.svg, jQuery plugin to make Graphviz SVG output more interactive and easier to navigate. [Rich Cooper]
- Liviz.js, DHTML-based interactive viewer for Graphviz [Satoshi Ueyama]
- Graphviz Test Tool, a GUI front-end for Graphviz [Hansuli Anderegg ]
- GraphvizFiddle, a dual-view Graphviz editor [Hermann Stamm-Wilbrandt]
- jQuery.Graphviz, a jQuery based interactive graph viewer for graphviz svg [Pablo Martín]
- Eclipse Zest/DOT, an Eclipse Zest 2.0 component that can be used to render and edit DOT graphs [Fabian Steeg]
- NodeViz, a framework for mapping relational data to highly styled Graphviz and displaying interactively in web clients [Greg Michalec and Skye Bender-deMoll]
- GraphSpe, includes a converter for Microsoft Silverlight Xaml (SVG based) [Ceyhun Ciper]
- Graphviz4Net provides Windows Presentation Foundation (WPF) control that is capable of rendering graph layouts using Graphviz. [Štěpán Šindelář]
- ZGRViewer, an SVG-based zooming graph viewer for large graphs [Emmanuel Pietriga]
- Instaviz, graph sketching for the iPhone using Graphviz libraries for rendering. [Glen Low]
- idot, an incremental Graphviz viewer (Java ≥ 1.5 with the excellent prefuse toolkit). [Mikko Vinni]
- KGraphViewer, a KDE viewer for layouts generated by Graphviz tools. [Gaël de Chalendar]
- Yoix a scripting language implemented in Java with a data visualization module called YDAT that provides interactive display of GraphViz files (use -Txdot -y) [John Mocenigo]
- Pixelglow's document-based GUI for Mac OS X (slightly out of date, but won a 2004 award from Apple) [Glen Low]
- an AJAX viewer written with Rico [T. Ashitani]
- TINTFU, a Java-based editor for .dot graph files. [Walter Stroebel]
- BioGrapher Excel front-end (WinXP and Mac) for Graphviz that allows the user to specify graphs in a spreadsheet using adjacency matrix, node list or Newick notation (for phylogenetic trees) and visualize the layout generated by Graphviz as an Excel (vector graphics) picture object. [Rama Viswanathan]
- xdot.py, an interactive viewer for graphs. [Jose Fonseca]
- IdeaTree, a platform for concurrent, shared knowledge mapping
- Wigraf, a Windows graphviz frontend based on WinGraphviz and C# .NET. "Graf" is polish for "graph." [Kamil Lemański]
- Leonhard, a simple viewer/editor for GraphViz, developed with MacRuby. (See the demo.)
- EasyGraphViz, a Japanese editor for Graphviz. [Nikolaos Kavvadias ]
Interfaces that allow graphviz to be called from a general purpose language or system.
- web: MediaWiki extension [Coffman]
- web: Drupal Graphviz filter [Karim Ratib]
- web: EHT Graphviz plugin for Wordpress, to allow Graphviz images to be easily integrated into a Wordpress page. [Emilio González Montaña]
- web: WP Graphviz plugin for Wordpress, to allow Graphviz images to be easily integrated into a Wordpress page. [DeBAAT]
- python: Pydot - a python interface to Graphviz (Windows comptible).
- python: Python-Graph - A library for working with graphs in Python.
- python: PyGraphviz - a python interface to Graphviz similar to NetworkX.
- python: yapgvb Yet Another Graphviz Python Binding [Lonnie Princehouse]
- python: mfgraph - C++ interface with native bindings for python [Michael Föetsch]
- python: GvGen - a python class to generate dot files [Sebastien Tricaud]
- go: gographviz - a Graphviz parser for go [Walter Schulze].
- django: django-graphviz - a Django app using Graphviz.
- django: DjangoGraphviz - Converts Django models into Graphviz DOT files.
- java: Eclipse plugin
- java: JPGD: A Java parser for Graphviz documents [Alexander Merz]
- java: Java API [Laszlo Szathmary]
- C# and .NET: graphviznet
- C# and .NET: CodePlex QuickGraph
- C# and .NET: Tigris QuickGraph
- COM: WinGraphviz component [Ood Tsen]
- perl: Graphviz2 - perl interface, supports new options [Ron Savage]
- perl: GraphViz2::Marpa - a Marpa-based parser for DOT files. [Ron Savage]
- perl: A Perl interface to Graphviz [Leon Brocard]
- perl: Tk::GraphViz - a perl module for displaying graphs in a perl/TK canvas [Jeremy Slade]
- perl: Graph-ReadWrite - module that supports 'dot' syntax graphs [Neil Bowers]
- perl: GraphViz::DBI - graph database tables and their relationships [Marcel Grunauer]
- perl: 100 more hits in CPAN
- perl: GraphViz::ISA - graph Perl packages' ISA runtime hierarchies [Marcel Grunauer]
- perl: Graph::Easy is a rectilinear graph drawing program compatible with Graphviz and written
entirely in perl for ease of installation. It also has a MediaWiki extension. [Tels]
- ruby: GraphR Graph-related Ruby classes using graphviz [Robert Feldt]
- ruby: Ruby-Graphviz - Ruby interface to Graphviz [Grégoire Lejeune]
- MatLab [Leon Peshkin]
- R: see below for R-Graphviz
- HTML: the original webdot in TCL [John Ellson]
(also see this shell wrapper to protect webdot servers from overload)
and a simplified webdot.pl in perl [Stephen North, with a huge assist from John Linderman]
- dokuwiki: Create directed and non-directed graph images from “dot” language [Andreas Gohr]
- dokuwiki fork: Allows independent layers visualisation using html check box [Matteo Nastasi]
Generators and Translators
Filters that transform other data sources and formats into Graphviz.
- ExcelToGraphviz, a tool for visualizing Excel data as graphs [Matt Castelli]
- Graph API, a Drupal graph generation module with Graphviz Dot output capabilities. [Sebastian Daniel]
- SchemaSpy analyzes and displays metadata for any database via JDBC, letting you click through a hierarchy of tables [John Currier]
- WorldCat xISSN shows the history of a journal indexed by ISSN [OCLC Online Computer Library Center, Inc.]
- Linguine Maps visualize XML DTDs, Apache Object Relational Bridge Files, Apache Ant Build files, and provide a clean Java API for diagramming [Pavel Simakov]
- PostgreSQL AutoDoc documents the relation structure of PostgreSQL databases [Rod Taylor]
- DOTML - XML markup to mirror dot language. Includes scripts and XSLT to transform and render [Martin Loetzsch]
- S-DOT - a Common Lisp interface to dot [also Martin Loetzsch]
- Sql2Dot - a tiny parser in Java to transform sql into dot for visualizing data structures [Robert Dale]
- SqlPP - a scripted SQL query generation framework that generates graphviz
- SQL Fairy - a group of Perl modules that manipulate structure data definitions (mostly database schemas) in interesting ways, such as visualizations of schemas (pseudo-ER diagrams Graphviz or GD) [Szilárd Vajda]
- gprof filters - pl_from_gprof and dot_from_pl [Robert Nielsen] and an old gprof2dot.awk [Stephen North]
- DBGraphNav, a tool to facilitate the browsing of data within relational databases. [Paul McMillan]
- EMF To Graphviz, an Eclipse plugin that helps to transform an EMF model into a diagram using Graphviz.
Network and Web Engineering Tools Using Graphviz
- DNSViz, a DNS visualization tool
- TraceViz Traceroute visualization with sharp-looking SVG styles [Vidar Hokstad]
- afterglow is a collection of scripts to generate graphs for Graphviz (and LGL), from various network logs and firewall rulesets [Raffael Marty] (see also tenshi for logfile filtering)
- SMART passive network flow visualization tool [Cisco's Critical Infrastructure Assurance Group (CIAG) Research team]
- CSO Online: What a Botnet Looks like (Flash) [David Vorel]
- EFnet IRC Network server routing maps [Douglas Boldt]
- netmap draws the route connecting you with the Internet
- Image_Graphviz class in PHP's PEAR repository [Sebastian Bergmann]
- phpOpenTracker provides a framework solution for the analysis of website traffic and visitor analysis. [Sebastian Bergmann]
- Pathalizer visualizes paths traversed by users through web sites [Arnout Engelen]
- apache2dot Apache log file visualizer
- sig2dot generates a graph of all of the signature relationships in a GPG/PGP keyring
- PHP+Graphviz tool that makes a sitemap of a web site dynamically [Laszlo Szathmary]
- Rocketfuel ISP mapper (well, look here) [U. Washington]
- DNS server visualization
- tcpdump2dot filter to allow admins to network activity [Gulfie]
- Visualize your firewall uses graphviz to produce a graph of your iptables ruleset. [Chris Forno]
- graph-tool, an efficient python module for manipulation and statistical analysis of graphs, which includes an interface to GraphViz, via its python bindings. [Tiago de Paula Peixoto]
Users interested in general network monitoring tools can find a comparison of some here.
AI and Language Tools Using Graphviz
- Andreas Romeyke's txt2graph - visualize the structure and dependencies of a text read from stdin and generates a dot-File for graphviz to stdout
- Ontoviz is a plugin for displaying knowledge base diagrams in the Protoge system
- CanooNet , a German word formation dictionary. (Try Blockflöte, Hochschule, or Massanzug in the entry field)
- DAWG CREATOR, a C++ class for creating a prefix tree representation of a given lexicon.
- Topic extraction using Wikipedia data.
- FcaStone lays out algebraic lattices in the sense of Formal Concept Analysis. (Try the demo or the lattice visualisations of Roget's Thesaurus). [Uta Priss]
Programming and Software Engineering Tools Using Graphviz
- TheHat workflow engine based on IRC, XMPP (Jabber) shows workflows in auto-refreshing webpages [Dave Parker]
- anifsm animates graphs in dot format via tcldot (part of the TorX software visualization suite) [Alex Belinfante and TorX consortium]
- doxygen uses graphviz to produce class hierarchies and other diagrams directly from source code [Dimitri van Heesch]
- nmdepend is a lightweight link-time dependency analyzer for C/C++ object files and libraries, helps manage cross-directory dependencies [Eddy Pronk]
- Lambda Animator is a tool for demonstrating and experimenting with alternative reduction strategies in the lambda-calculus [Mike Thyer]
- AsmL an executable specification language from Microsoft Research.
- UMLGraph - a Java tool for the Declarative Drawing of UML diagrams which generates diagrams using dot [Diomidis Spinellis] (Diomidis also contributed code for a richer set of arrow heads for dot, which he claims were really part of a stealthy plot to have Graphviz taken over by the UML community. :-)
- Merisedot - a tool to generate MCD Entity/Relation graphics of Merise. (Seulement en Français)
- RDOC Ruby documentation [Dave Thomas]
- YaccViso YACC visualization tool
- Callgrind makes callgraphs from Valgrind [Jörg Schillin and Josef Weidendorfer]
- Maria - Modular Reachability Analyzer - a reachability analyzer for concurrent systems that uses Algebraic System Nets as its modelling formalism [Marko Mäkelä]
- IsaViz: A Visual Authoring Tool for RDF [Emmanuel Pietriga]
- Finite State Machine web visualization interactively accepts input from a form [Gertjan van Noord]
- RPMGraph uses neato to draw a graph of dependencies between RPMs on RedHat or other RPM based systems [Andrea Lombardoni]
- Compendium-TA, an integrated package of modelling tools which uses Graphviz for graph layouts [Alan Richardson]
- CodeViz - a call graph generation utility for C/C++ that assumes dot for its back end [Mel Gorman]
- Pimentech-DbUtils - utils for writing patterns databases in XML (Extended Entities Relationship diagram (ERA)) and exporting them to graphviz and sql.
- LJV.java (Lightweight Java Visualizer) is tool for visualizing Java data structures with Graphviz. It has been used to good effect in CS1 and CS2-level data structures courses. [John Hammer]
- Python call graphs
- ArgoUML Graphviz Automatically repositioning all visual elements from UML diagrams that are stored in XMI. These can be exported with DOT to PDF, SVG, PNG, etc. This XLST runs independently of ArgoUML. [Pander]
- Ragel (think "lex") compiles executable finite state machines from regular languages and can generate diagrams of the state machines in DOT format.
- APIviz is a JavaDoc doclet which extends the Java standard doclet. It generates comprehensive UML-like class and package diagrams.
- Reverse Snowflake Joins is a tool that parses SQL Select statements and generates a diagram.
- eEye Binary Diffing Suite is a suite of tools for binary differential analysis, especially for reverse engineering patches as well as program updates.
- myDBR is web-based reporting system for relational databases using Graphviz as one of its charting modules.
- ADR is a system for formal software design by means of graphical methods. [Alberto Lluch Lafuente]
- YaST openSUSE installation and configuration showing a graph of storage devices with dependencies. [Arvin Schnell]
- Grails class diagram plugin provides an UML-like diagram of grails domain classes. [Trygve Amundsen]
- PlantUML generates UML diagrams (classes, usecases, activities, components) using a simple text description language. [Arnaud Roques]
- javashot captures the dynamic execution flow of a Java programa. The traces can be viewed using Graphviz.
- scxml2dot - a very simple conversion function in perl to plot a finite state machine written in scxml using the graphviz tools. [Fabrizio Morbini]
- Erviz, an entity-relationship diagram generator that converts plain text files to DOT-formatted graphical files for Graphviz. [Mitsuru Kono]
- Symfony application-map plugin, an easy-to-use documentation tool for the symfony framework community. [Tomasz Ducin]
Bioinformatics and Cheminformatics Tools and Resources Using Graphviz
Relational structures abound in the study of biological and chemical information. The following list barely scratches the surface.
- HasseManager for visualizing relations between chemical structures used in fragment-based drug discovery, as described in the Journal of Chemical Information and Modelling [Peter Lind]
- R-Graphviz (guide) from the Bio-Conductor project integrates graphs and statistical models. [Robert Gentleman, Jeff Gentry and the R team]
- Science Online protein database visualization (click on Connections - free registration and SVG plugin required, may need beta for Mozilla FireFox) [American Association for the Advancement of Science (AAAS) and Stanford University Digital Libraries Project]
- Pubgene - Bioinformatic Solutions and Databases for Genomics, Proteomics, and Drug Discovery (go here for original academic web site)
- cancer.gov: National Cancer Institute (NIH) pathway interaction database (CMAP) (requires SVG plugin, may need beta for Mozilla FireFox) [Kotien Wu]
Document preparation with Graphviz
- dot2tex is a LaTeX-friendly converter from Graphviz (xdot) to converting xdot PSTricks or PGF/TikZ commands, with support for LaTeX labels and arrows. [Kjell Magne Fauske]
- graphviz mode for emacs (or here).
- Ladot: scripts for including LaTeX in your Graphviz files [Brighten Godfrey]
- graphviz.tex: macros for including Graphviz in your LaTeX files [Derek Rayside]
- epswrap, a Perl program that wraps EPS files containing bitmap data for user shapes in Graphviz [Marcus Harnisch]
- TeXmacs, a scientific text editor, inspired by TeX and GNU Emacs, has a Graphviz interface [Joris van der Hoeven]
- Visustin flow chart generator[Aivosto]
- Mac OmniGraffle [Omni Group]
- wdot.rb, a tool that allows workflow diagrams and flowcharts to be easily created and updated.[Loh Siu Yin]
- GraphVizio is an addin for Visio to lay out diagrams using Graphviz (also see blog post). [Maurice Calvert]
- TeX and PSTRICKS describes how to use PSTRICKS in conjunction with TeX to include Graphviz PostScript output into TeX documents. This approach makes further manipulation, such as rotation,shifting, etc. easy. [Roger Herz-Fischler]
Social Networking and Collaborative Work
- Proximity Subgraphs - visualize communities in the Internet Movie Database
- Hammond Jazz Inventory - show graphical representation of musicians related by recordings in which the Hammond organ plays a significant role (orghammograms!)
- Axel Thimm - rpms for some RedHat Linux distributions ("atrpms").
- RPM Find - many distros and architectures.
- Debian - Linux packages for several architectures.
- Gentoo - Linux packages.
- Fedora Extras - rpms for Fedora Core 3 and later.
- FreshMeat - related projects from a search for "graphviz".
- SuSE - rpms for Novell/SuSE distributions for many architectures.
- Ubuntu - Linux packages.