Download Using Graphviz as a Library (cgraph version)

Transcript
Graphviz Library Manual, August 21, 2014
2
Contents
1
2
Introduction
1.1 String-based layouts . .
1.1.1 dot . . . . . .
1.1.2 xdot . . . . . .
1.1.3 plain . . . . .
1.1.4 plain-ext . . .
1.1.5 GXL and GML
1.2 Graphviz as a library .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
5
5
6
7
7
7
Basic graph drawing
2.1 Creating the graph . . . . . . . . . .
2.1.1 Attributes . . . . . . . . . .
2.1.2 Attribute and HTML Strings
2.2 Laying out the graph . . . . . . . .
2.3 Rendering the graph . . . . . . . . .
2.3.1 Drawing nodes and edges .
2.4 Cleaning up a graph . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
10
16
17
17
19
20
Inside the layouts
3.1 dot . . . . . .
3.2 neato . . . .
3.3 fdp . . . . . .
3.4 sfdp . . . . .
3.5 twopi . . . .
3.6 circo . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
21
22
22
24
24
24
25
4
The Graphviz context
4.1 Version-specific data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
26
5
Graphics renderers
5.1 The GVJ t data structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Inside the obj state t data structure . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Color information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
30
30
31
6
Adding Plug-ins
6.1 Writing a renderer plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Writing a device plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3 Writing an image loading plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
34
35
35
7
Unconnected graphs
37
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A Compiling and linking
42
B A sample program: simple.c
43
C A sample program: dot.c
44
D A sample program: demo.c
45