graphviz: Graphviz bindings for Haskell.
This library provides bindings for the Dot language used by the Graphviz (http://graphviz.org/) suite of programs, as well as functions to call the Grapvhiz programs.
Features of this library are:
Almost complete coverage of all Graphviz attributes, etc. for graphs, sub-graphs, clusters, nodes and edges: http://graphviz.org/doc/info/attrs.html
Thorough documentation on known problems with the library and how it differs from the actual Dot specification.
Support for specifying clusters.
The ability to use a custom node type.
Functions for running a Graphviz layout tool with all specified output types.
The ability to not only generate but also parse Dot code with two options: strict and liberal (in terms of ordering of statements).
Functions to convert FGL graphs to Dot code - including support to group them into clusters - with a high degree of customisation by specifying which attributes to use.
Round-trip support for passing an FGL graph through Graphviz to augment node and edge labels with positional information, etc.
[Skip to Readme]
Build the test suite, including an executable to run it.
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info