Skip to content

CodeFreezr/awesome-graphviz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome GraphViz Awesome

A curated, independent list of GraphViz related resources.

GraphViz

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.

Tools

  • 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

API

  • Language Bindings
    • C
    • TCL/TK libraries
      • gdtclft.3tcl - render images in various bitmap formats (GD, GD2, GIF,JPEG, PNG, WBMP,XBM).
      • tcldot.3tcl - graph manipulation in tcl.
      • tkspline.3tk - additional smoothing method for canvasitems.
    • Guile - graph manipulation in guile.
    • Java - graph manipulation in java.
    • Perl - graph manipulation in perl.
    • PHP - graph manipulation in php.
    • Python - graph manipulation in python.
    • Ruby - graph manipulation in ruby.
    • TCL - graph manipulation in tcl.
  • Misc

Social Media

Theory & Publications

Graphviz Papers

Graph Drawing

Information Visualization

Graphical Interfaces

Web-Interface

  • Online Graphviz Editor - A beautiful website that generates Graphviz image URL that can be used directly on any website without a need to host them on a server
  • 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

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

Libs for PHP

Libs for R

  • Rgraphviz - Support for using the Graphviz library within R. Kasper Daniel Hansen et all
  • DiagrammeR Graphviz support is an integral part of the DiagrammeR package. Richard Iannone

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.
  • graphviz - Haskell bindings for the Dot language

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

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.

AI and Language Tools

Network and Web Engineering Tools

  • 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
  • SMART - passive network flow visualization tool Cisco's Critical Infrastructure Assurance Group (CIAG) Research team
  • CSO Online - What a Botnet Looks like David Vorel
  • EFnet - IRC Network server routing maps Douglas Boldt
  • phpOpenTracker - provides a framework solution for the analysis of website traffic and visitor analysis. Sebastian Bergmann
  • apache2dot - Apache log file visualizer
  • sig2dot - generates a graph of all of the signature relationships in a GPG/PGP keyring
  • Rocketfuel - ISP mapper see U. Washington
  • DNS server visualization - Visual DNS Server.lich
  • Visitors, a fast web log analyzer - uses graphviz to display usage patterns showing how users are using your web site. Salvatore Sanfilippo
  • 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
  • dockviz - Visualizing Docker Data.
  • docker-compose-graphviz - Turn a docker-compose.yml files into Graphviz .dot files in go.
  • docker-compose-dot - Convert docker-compose yaml files to graphviz dot files in go.
  • Dotler - Dotler is a web crawler and graph generator written in go.
  • sabaviz - Create dot files for graphviz which visualize servers connections by netstat output in go.
  • Kafka Streams Topology Visualizer - Great solution if you wanna show how streams topologies are tied together.
  • aws-securitygroup-grapher - An Ansible role to generate a graphical representation of AWS VPC security groups. Jean-Louis Férey

Programming and Software Engineering Tools

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
  • pointillism.io - Render your checked-in DOT files straight from your git repos. Supports README.md, wiki, and Confluence 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.
  • DSViz - Visualize C++ data structure with a non-invasive approach.
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

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

More to find