Documentation ¶
Overview ¶
Package draw provides functions for visualizing graph structures. At this time, draw supports the DOT language which can be interpreted by Graphviz, Grappa, and others.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DOT ¶ added in v0.8.0
DOT renders the given graph structure in DOT language into an io.Writer, for example a file. The generated output can be passed to Graphviz or other visualization tools supporting DOT.
The following example renders a directed graph into a file my-graph.gv:
g := graph.New(graph.IntHash, graph.Directed()) g.AddVertex(1) g.AddVertex(2) g.AddVertex(3, graph.VertexAttribute("style", "filled"), graph.VertexAttribute("fillcolor", "red")) _ = g.AddEdge(1, 2, graph.EdgeWeight(10), graph.EdgeAttribute("color", "red")) _ = g.AddEdge(1, 3) file, _ := os.Create("./my-graph.gv") _ = draw.DOT(g, file)
To generate an SVG from the created file using Graphviz, use a command such as the following:
dot -Tsvg -O my-graph.gv
Another possibility is to use os.Stdout as an io.Writer, print the DOT output to stdout, and pipe it as follows:
go run main.go | dot -Tsvg > output.svg
Types ¶
This section is empty.