A simple Dart package for writing GraphViz dot files.
GViz graph = GViz();
Gviz subGraph = Gviz(name: 'SG'); // Needs to have a name other than parent graph
subGraph
..addNode('A')
..addNode('B')
..addNode('C');
subGraph
..addEdge('A', 'B')
..addEdge('B', 'C')
..addEdge('C', 'A');
graph.addSubgraph(subGraph);
graph.addEdge('1', 'A');