Awesome GraphViz

A curated list of GraphViz related resources.

These are some representative internal and external resources.

The list includes tools that complement Graphviz, such as graph generators, postprocessors and interactive viewers. Additional the most important internal resource are linked. It also includes higher level systems and web sites that rely on Graphviz as a visualization service. You can also find more Graphviz related projects and resources in the more to find Section. Find the attic.md for old stuff with broken links or changed content.

You’re welcome to add new stuff or report glitches. See contributing.md how to pull requests.

Table of Content

Content

Graphviz Distribution

Introductions

Entities

Syntax - The DOT Language.

Node - A node is the primary 1st class element in a graph.

Edge - An edge connect two nodes.

Graph - GraphViz Pocket Reference.

Cluster - Devides the graph.

Subgraph - How to connect subgraphs.

Attributes

All in One - All Attributes of all Entities in one page.

Colors - Overview of graphviz colornames.

Layout / Output

Output Formats - Overview of all possible output formats.

Command-line Invocation - All Graphviz programs have a similar invocation.

circo - draws graphs using a circular layout.

dot - draws directed graphs.

dotguide - Drawing graphs with dot

fdp - draws undirected graphs using a ‘spring’ model

neato - draws undirected graphs using ‘spring’ models.

osage - filter for drawing clustered graphs.

patchwork - filter for drawing clustered graphs as treemaps.

sfdp - filter for drawing large undirected graphs.

twopi - filter for radial layouts of graphs.

GUI dotty - Customizable Graph Editor, see also pdf. gvedit - Simple graph editor and viewer, Release-Notes. See als pdf. lefty - Programmable Graphics Editor, see also pdf. lneato - Editor on top of neato & lefty, see also pdf. smyrna - Interactive graph viewer, see also pdf. vimdot - Combined text editor and dot viewer, see also pdf.

Graph Analysis acyclic - Make directed graph acyclic, see also pdf. bcomps - Biconnected components filter for graphs, see also pdf. cluster - Find clusters in a graph and augment the graph with this information, see also pdf. ccomps - Connected components filter for graphs, see also pdf. diffimg - Calculates intersection between two images, see also pdf. dijkstra - Single-source distance filter, see also pdf. edgepaint - Edge coloring to disambiguate crossing edges, see also pdf. gc - Count graph components, see also pdf. gvcolor - Flow colors through a ranked digraph, see also pdf. gvgen - Generate graphs, see also pdf. gvmap - Find clusters and create a geographical map highlighting clusters, see also pdf. gvpack - Merge and pack disjoint graphs, see also pdf. gvpr - Graph pattern scanning and processing language, see also pdf. mingle - Fast edge bundling, see also pdf. nop - Pretty-print graph file, see also pdf. sccmap - Extract strongly connected components of directed graphs, see also pdf. tred - Transitive reduction filter for directed graphs, see also pdf. unflatten - Adjust directed graphs to improve layout aspect ratio, see also pdf. gvrank - External pageRank algorithm that uses graphviz files as input written in go.

Converters mm2gv - Matrix Market-DOT converters, see also pdf. gxl2gv - GXL-GV converters, see also pdf. gml2gv - GML-DOTconverters, see also pdf. graphml2gv - GRAPHML-DOT converter, see also pdf.



API

Social Media

@graphviz - Official Twitter Account

reddit - Subreddit for graphviz

StackOverflow - Questions tagged with [graphviz]

issues - Issues on Gitlab

ubuntu-wiki (de) - German ubuntu graphviz wiki

instagram - Find Graphviz Images on Instagram

flickr group - Flickr Group. Find Graphviz Images on Flickr

Youtube - Over 2500 findings on Youtube

Theory & Publications

Graphviz Papers

Graph Drawing

Information Visualization

Graphical Interfaces

Web-Interface

Liviz.js - DHTML-based interactive viewer for Graphviz Satoshi Ueyama.

AJAX viewer written with Rico T. Ashitani.

webgraphviz - WebGraphviz is Graphviz in the Browser.

Online Graphviz Generator - Simple Online Generator with Golang Server see src.

GraphvizFiddle - a dual-view Graphviz editor, see blog Hermann Stamm-Wilbrandt.

Canviz - an HTML5/Javascript canvas viewer (beta). Ryan Schmidt.

Graphviz.it - Online-Editor with all the standard examples, based on graph-viz-d3-js.

GraphvizOnline - Online Editor with Syntax Higlighting.

viz-js - Example Gui from the viz.js Library Mike Daines.

Edotor.net - Fiddle-like editor with rich features like refactorings, code-fixes and preview by Niklas Mollenhauer.

Sketchviz - Interactive editor that renders DOT graphs with a hand-drawn look.

Common Platforms

Gephi - The Open Graph Viz Platform Mathieu Bastian

IdeaTree - Platform for concurrent, shared knowledge mapping

Observable - Common Map, Chart & Diagram creation with graphviz support

Bl.ock - Common Mapp, Chart & Diagram creation with graphviz support

graphistry - Investigate across event & log systems with the power of visual graph analytics.

KeyLines Toolkit - Network Visualization Software with VueJS Component Cambridge Intelligence @CambridgeIntel

Addons

Graphviz for vscode - Graphviz (dot) Syntax Highlight and snippets for Visual Studio Code Stephanvs

Graphviz Preview - Inline Preview inside vs code editor EFanZh

Eclipse Zest/DOT - an Eclipse Zest 2.0 component that can be used to render and edit DOT graphs Fabian Steeg

Graphvizzer - Graph instantly in your Slack-Chat channel. src

.NET / C#

Graphviz4Net provides Windows Presentation Foundation (WPF) control that is capable of rendering graph layouts using Graphviz. Štěpán Šindelář

Wigraf - a Windows graphviz frontend based on WinGraphviz and C# .NET. “Graf” is polish for “graph.” Kamil Lemański

PSGraph - A set of utilities for working with Graphviz in Powershell Kevin Marquette

Mac OS

Instaviz - Graph sketching for the iPhone using Graphviz libraries for rendering. Glen Low

Pixelglows Document-based GUI for Mac OS X (won a 2004 award from Apple) Glen Low

Java

idot - Incremental Graphviz viewer (Java ≥ 1.5)

Yoix - Scripting language implemented in Java with a data visualization module called YDAT that provides interactive display of GraphViz files (use -Txdot -y) John Mocenigo.

TINTFU - Java-based editor for .dot graph files. Walter Stroebel.

Graphviz Test Tool - Java GUI front-end for Graphviz *Hansuli Anderegg *.

Other

prefuse - Toolkit Mikko Vinni.

KGraphViewer - a KDE viewer for layouts generated by Graphviz tools. Gaël de Chalendar

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

Leonhard - Simple viewer/editor for GraphViz, developed with MacRuby. (See the demo.)

EasyGraphViz - Japanese editor for Graphviz. Nikolaos Kavvadias

NodeViz - PHP framework for mapping relational data to highly styled Graphviz and displaying interactively in web clients Greg Michalec and Skye Bender-deMoll

dottask - A todo tracker that utilizes dot/clojurejscript based on viz.js, see example Matthew Boehm.

Language Bindings

Libs for Node / JS / JQuery / D3

viz.js - This project builds Graphviz with Emscripten and provides a simple wrapper for using it in the browser.

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

graph-viz-d3-js - Bower component graphviz-d3-renderer renders Graphviz source in the browser with d3.js

d3-dot-graph - This module provides D3js compatible library to parse and load files in graphviz DOT (.dot) (graph description language) format.

jquery.graphviz.svg - jQuery plugin to make Graphviz SVG output more interactive and easier to navigate. Rich Cooper

node-graphviz - Interface to the GraphViz graphing tool

jQuery.Graphviz - a jQuery based interactive graph viewer for graphviz svg, see a live demo on jsfiddle Pablo Martín.

ts-graphviz - Simple Graphviz library for TypeScript.

Libs for Python

Pydot - a python interface to Graphviz (Windows comptible).

Python-Graph - A library for working with graphs in Python.

PyGraphviz - a python interface to Graphviz similar to NetworkX.

mfgraph - C++ interface with native bindings for python Michael Föetsch

GvGen - a python class to generate dot files Sebastien Tricaud

Libs for Django

django-graphviz - a Django app using Graphviz.

DjangoGraphviz - Converts Django models into Graphviz DOT files.

Libs for Go

gographviz - a Graphviz parser for go Walter Schulze.

tmc/dot - graphviz dot language support for Go

k8sp/graphviz - graphviz is an HTTP server which calls GraphViz to visualize a specified .dot file.

paetzke/godot - Godot is a graphviz wrapper for Go.

gonum - Package with Gonum Graph successor of graphism/dot

timtadh/dot - Stream parsing of the graphviz dot language for go. Tim Henderson

graphviz_web - Draw graph image by graphviz on web.

Patrolavia/godot - generating graphviz diagram with ease

graphspace - graphviz workspace incl. sql-db / wb-gui for making dot graphs

graph - Graphviz as a service

dotgraph - Go package to create and render graphviz dot graphs

Online Graphviz Generator - Type in Graphviz graph language and display the generated image.

Graphviz as a Service - a webserver that responds rendered graphs in PNG format.

dot - Little helper package in Go for the graphviz dot language.

GoGraphviz - GoGraphviz provides an easy-to-use API for visualizing graphs using Graphviz

Libs for Java

JPGD - Java parser for Graphviz documents Alexander Merz

Java API - Java solution by Laszlo Szathmary

graphviz4j - Java GraphViz graph builder and parser.

Libs for C# and .NET

Libs for Perl

Graphviz2 - Perl interface, supports new options Ron Savage

GraphViz2::Marpa - Marpa-based parser for DOT files. Ron Savage

A Perl interface to Graphviz Leon Brocard

Tk::GraphViz - Perl module for displaying graphs in a perl/TK canvas Jeremy Slade

Graph-ReadWrite - Module that supports ‘dot’ syntax graphs Neil Bowers

GraphViz::ISA - Graph Perl packages’ ISA runtime hierarchies Marcel Grunauer

Graph::Easy Rectilinear graph drawing program compatible with Graphviz and written

Libs for PHP

Image_Graphviz - class in PHP by Sebastian Bergmann

graphp.graphviz - GraphViz graph drawing for mathematical graph/network in PHP

Others

Ruby-Graphviz - Ruby interface to Graphviz Grégoire Lejeune

MatLab Leon Peshkin

webdot TCL John Ellson

S-DOT - Common Lisp interface to dot also Martin Loetzsch.

Rgraphviz - Support for using the Graphviz library within R. Kasper Daniel Hansen et all

CMS-Integration

Confluence/Jira

Graphviz Diagrams for Confluence - Generate and display graphs based on Graph Visualization Software (Graphviz) and the DOT language. Bob Swift

Graphviz Cloud - Create and render Graphviz diagrams for Confluence Cloud Addteq

Digraph Macro - The Digraph Macro creates directed graphs using the Graphviz language. Bob Swift

GraphViz/PlantUML - Adding PlantUML Diagram in Confluence-Wiki with DOT-Language Michael Griffel

Wiki/Blog

MediaWiki-1 - Extension Tels.

MediaWiki-2 - Extension Coffman.

Drupal - Graphviz filter Karim Ratib.

Wordpress EHT Graphviz - Plugin for Wordpress, to allow Graphviz images to be easily integrated into a Wordpress page. Emilio González Montaña.

Wordpress Graphviz - Plugin for Wordpres, to allow Graphviz images to be easily integrated into a Wordpress page. * - DeBAAT*.

DokuWiki - Directed and non-directed graph images from “dot” language Andreas Gohr.

trac GraphvizPlugin - Dynamic generation of diagrams within wiki pages and ticket descriptions.

Docker Images

omerio/graphviz-webapp - Simple Java Web application deployed as a Docker container and run as part of a Kubernetes cluster by Omer Dawelbeit on git.

omerio/graphviz-server - HTTP server for Graphviz dot (ubuntu) by Omer Dawelbeit. More in this blog-post, src: git.

epicjhon/docker-php - PHP images with more tools: Git, Memcached, Phalcon, Zend, pdo_mysql, mysqli, Runkit, Graphviz by Jhon Eslava on git.

citizensadvice/ruby-jq - Ruby 2.3 with jq and graphviz on git.

hamroctopus/graphviz - Docker container (ubuntu 14.04.4) providing graphviz-2.38.0 from Eric Crosson on git.

efcasado/graphviz - Alpine Linux based, dockerized Graphviz by Enrique Fernandez on git.

djmattyg007/graphviz-server - Graphviz as a Docker Service by Matthew Gamble on git.

objectivetruth/graphvizzer - Docker image for the Graphvizzer slack-chat integrationon git.

rahulsom/groovy-graphviz-jenkins-slave - Creates a Jenkins Slave with groovy and graphviz by Rahul Somasunderam on git.

Generators and Translators

Transform data sources and formats into Graphviz

ExcelToGraphviz1 - Relationship Visualizer - Convert Excel data into Graphviz graphs Jeff Long.

ExcelToGraphviz2 - a tool for visualizing Excel data as graphs Matt Castelli.

Graph API - a Drupal graph generation module with Graphviz Dot output capabilities. Sebastian Daniel.

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.

DBGraphNav - Tool to facilitate the browsing of data within relational databases. Paul McMillan.

EMF To Graphviz - Eclipse plugin that helps to transform an EMF model into a diagram using Graphviz.

graphstk - Generate graphviz from golang stack trace.

node-it - subreddit grapher with graphviz written in golang.

lsofgraph - A small utility to convert Unix lsof output to a graph showing FIFO and UNIX interprocess communication by Ico Doornekamp.

UML and Software-Design

Compendium-TA - an integrated package of modelling tools which uses Graphviz for graph layouts Alan Richardson

AsmL - an executable specification language from Microsoft Research Yuri Gurevich, Margus Veanes.

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

Visustin - Visustin flow chart & uml generator Aivosto

APIviz - is a JavaDoc doclet which extends the Java standard doclet. It generates comprehensive UML-like class and package diagrams.

PlantUML - generates UML diagrams (classes, usecases, activities, components) - using a simple text description language. Arnaud Roques

Grails class diagram plugin - provides an UML-like diagram of grails domain classes. Trygve Amundsen

tags2uml - Generates UML class diagrams, from source code with go.

Gravizo - Simple way of describing graphs and include it easily in your web for free, blog, markdown page, github, and any location where remote images can be showed.

Umple - Textual language for modeling and code generation of complete executable systems; generates UML class diagrams, state diagrams and entity-relationship diagrams.

gitk-class-diagram - Class diagrams based on commit diffs.

Documentation

doxygen - Uses graphviz to produce class hierarchies and other diagrams directly from source code Dimitri van Heesch

IsaViz - A Visual Authoring Tool for RDF Emmanuel Pietriga

Symfony application-map plugin - an easy-to-use documentation tool for the symfony framework community. Tomasz Ducin

godoc - The GoDoc-Project uses graphviz to show the graph of imported packages (see footer of package page on godoc.org).

Call Graphs

javashot - captures the dynamic execution flow of a Java programa. The traces can be viewed using Graphviz.

CodeViz - a call graph generation utility for C/C++ that assumes dot for its back end Mel Gorman.

Python call graphs - Python Call Graph Visualisation.

go-callvis - Visualize call graph of your Go program.

Dependency

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

YaST - openSUSE installation and configuration showing a graph of storage devices with dependencies. Arvin Schnell

chefviz - Chefviz creates the dot files of recipes dependency-graph for graphviz.

go-erd - Visualize package’s types and their inter-relationships to aid exploring and studying source code.

npm-packages - Analyze NPM Package Dependencies in 2D and 3D Andrei Kashcha aka @anvaka.

graph.generator - Gradle plugin that generates dependency graphs from your project. Niklas Baudy

Schema & Datastructure

Merisedot - a tool to generate MCD Entity/Relation graphics of Merise. (Seulement en Français).

Reverse Snowflake Joins - is a tool that parses SQL Select statements and generates a diagram.

myDBR - is web-based reporting system for relational databases using Graphviz as one of its charting modules.

Erviz - an entity-relationship diagram generator that converts plain text files to DOT-formatted graphical files for Graphviz. Mitsuru Kono

GraphQLviz - GraphQLviz marries GraphQL (schemas) with Graphviz.

memviz - Visualize your data structures using graphviz

sqliterd - Tool to create a Graphviz dot file from SQLite database schema written in go.

Theoretical Computer Science

Ragel - (think “lex”) - compiles executable finite state machines from regular languages and can generate diagrams of the state machines in DOT format.

Lambda Animator - is a tool for demonstrating and experimenting with alternative reduction strategies in the lambda-calculus Mike Thyer

Maria - Modular Reachability Analyzer - a reachability analyzer for concurrent systems that uses Algebraic System Nets as its modelling formalism Marko Mäkelä

Finite State Machine web visualization - interactively accepts input from a form Gertjan van Noord

scxml2dot - a very simple conversion function in perl to plot a finite state machine written in scxml using the graphviz tools. Fabrizio Morbini

Others

TheHat workflow engine - 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

gradle-graphviz-plugin - A Gradle plugin to make builds using Graphviz portable.

YaccViso - YACC visualization tool

Bioinformatics and Cheminformatics

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

Document preparation

dot2tex - 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

TeXmacs - a scientific text editor, inspired by TeX and GNU Emacs, has a Graphviz interface Joris van der Hoeven

Mac OmniGraffle - Omni Group

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

graphviz2drawio - Convert graphviz to draw.io (mxGraph) format Harold Martin

Linux Distributions

Debian - Linux packages for several architectures.

Gentoo - Linux packages.

SuSE - rpms for Novell/SuSE distributions for many architectures.

Ubuntu - Linux packages.

Package Search and Further Collections

Packages

libraries.io - Meta Package Search

npm packages - npm packages.

CPAN - The ultimative PERL Source.

RPM Find - many distros and architectures.

GoLangLibs - Three pages full of Go Packages.

Go Search - Searching in over 700k Golang Files and Packages.

GoDoc - Query through all the Go Package Documentation.

Maven Central - Find the most actual Jar-Files.

More to find