Lucas Serven e989f0a25f init 7 سال پیش
..
ast e989f0a25f init 7 سال پیش
internal e989f0a25f init 7 سال پیش
.travis.yml e989f0a25f init 7 سال پیش
AUTHORS e989f0a25f init 7 سال پیش
CONTRIBUTORS e989f0a25f init 7 سال پیش
LICENSE e989f0a25f init 7 سال پیش
Makefile e989f0a25f init 7 سال پیش
Readme.md e989f0a25f init 7 سال پیش
analyse.go e989f0a25f init 7 سال پیش
attr.go e989f0a25f init 7 سال پیش
attrs.go e989f0a25f init 7 سال پیش
catch.go e989f0a25f init 7 سال پیش
dot.bnf e989f0a25f init 7 سال پیش
edges.go e989f0a25f init 7 سال پیش
escape.go e989f0a25f init 7 سال پیش
gographviz.go e989f0a25f init 7 سال پیش
graph.go e989f0a25f init 7 سال پیش
install-godeps.sh e989f0a25f init 7 سال پیش
nodes.go e989f0a25f init 7 سال پیش
relations.go e989f0a25f init 7 سال پیش
subgraphs.go e989f0a25f init 7 سال پیش
write.go e989f0a25f init 7 سال پیش

Readme.md

Parses the Graphviz DOT language and creates an interface, in golang, with which to easily create new and manipulate existing graphs which can be written back to the DOT format.

This parser has been created using gocc.

Example (Parse and Edit)

graphAst, _ := gographviz.ParseString(`digraph G {}`)
graph := gographviz.NewGraph()
if err := gographviz.Analyse(graphAst, graph); err != nil {
    panic(err)
}
graph.AddNode("G", "a", nil)
graph.AddNode("G", "b", nil)
graph.AddEdge("a", "b", true, nil)
output := graph.String()

Documentation

The godoc includes some more examples.

Installation

go get github.com/awalterschulze/gographviz

Tests

Build Status

Users

  • aptly - Debian repository management tool
  • gorgonia - A Library that helps facilitate machine learning in Go
  • imagemonkey - Let's create our own image dataset
  • depviz - GitHub dependency visualizer (auto-roadmap)

Mentions

Using Golang and GraphViz to Visualize Complex Grails Applications