1DOT(1) General Commands Manual DOT(1)
2
3
4
6 dot - filter for drawing directed graphs
7 neato - filter for drawing undirected graphs
8 twopi - filter for radial layouts of graphs
9 circo - filter for circular layout of graphs
10 fdp - filter for drawing undirected graphs
11 sfdp - filter for drawing large undirected graphs
12 patchwork - filter for squarified tree maps
13 osage - filter for array-based layouts
14
16 dot [options] [files]
17 neato [options] [files]
18 twopi [options] [files]
19 circo [options] [files]
20 fdp [options] [files]
21 sfdp [options] [files]
22 patchwork [options] [files]
23 osage [options] [files]
24
26 These are a collection of programs for drawing graphs. There is actu‐
27 ally only one main program; the specific layout algorithms are imple‐
28 mented as plugins. Thus, they largely share all of the same command-
29 line options.
30
31 dot draws directed graphs. It works well on directed acyclic graphs
32 and other graphs that can be drawn as hierarchies or have a natural
33 ``flow.''
34
35 neato draws undirected graphs using a ``spring'' model and reducing the
36 related energy (see Kamada and Kawai, Information Processing Letters
37 31:1, April 1989).
38
39 twopi draws graphs using a radial layout (see G. Wills, Symposium on
40 Graph Drawing GD'97, September, 1997). Basically, one node is chosen
41 as the center and put at the origin. The remaining nodes are placed on
42 a sequence of concentric circles centered about the origin, each a
43 fixed radial distance from the previous circle. All nodes distance 1
44 from the center are placed on the first circle; all nodes distance 1
45 from a node on the first circle are placed on the second circle; and so
46 forth.
47
48 circo draws graphs using a circular layout (see Six and Tollis, GD '99
49 and ALENEX '99, and Kaufmann and Wiese, GD '02.) The tool identifies
50 biconnected components and draws the nodes of the component on a cir‐
51 cle. The block‐cutpoint tree is then laid out using a recursive radial
52 algorithm. Edge crossings within a circle are minimized by placing as
53 many edges on the circle's perimeter as possible. In particular, if
54 the component is outerplanar, the component will have a planar layout.
55 If a node belongs to multiple non‐trivial biconnected components, the
56 layout puts the node in one of them. By default, this is the first non‐
57 trivial component found in the search from the root component.
58
59 fdp draws undirected graphs using a ``spring'' model. It relies on a
60 force‐directed approach in the spirit of Fruchterman and Reingold (cf.
61 Software‐Practice & Experience 21(11), 1991, pp. 1129‐1164).
62
63 sfdp also draws undirected graphs using the ``spring'' model described
64 above, but it uses a multi-scale approach to produce layouts of large
65 graphs in a reasonably short time.
66
67 patchwork draws the graph as a squarified treemap (see M. Bruls et al.,
68 ``Squarified treemaps'', Proc. Joint Eurographics and IEEE TCVG Symp.
69 on Visualization, 2000, pp. 33-42). The clusters of the graph are used
70 to specify the tree.
71
72 osage draws the graph using its cluster structure. For a given cluster,
73 each of its subclusters is laid out internally. Then the subclusters,
74 plus any remaining nodes, are repositioned based on the cluster's pack
75 and packmode attributes.
76
78 Graphviz uses an extensible plugin mechanism for its output renderers,
79 so to see what output formats your installation of dot supports you can
80 use ``dot -T:'' and check the warning message. Also, The plugin mecha‐
81 nism supports multiple implementations of the output formats, allowing
82 variations in the renderers and formatters. To see what variants are
83 available for a particular output format, use, for example: ``dot
84 -Tpng:'' and to force a particular variant, use, for example: ``dot
85 -Tpng:gd''
86
87 Traditionally, Graphviz supports the following:
88 -Tdot (Dot format containing layout information),
89 -Txdot (Dot format containing complete layout information),
90 -Tps (PostScript),
91 -Tpdf (PDF),
92 -Tsvg -Tsvgz (Structured Vector Graphics),
93 -Tfig (XFIG graphics),
94 -Tpng (png bitmap graphics),
95 -Tgif (gif bitmap graphics),
96 -Tjpg -Tjpeg (jpeg bitmap graphics),
97 -Tjson (xdot information encoded in JSON),
98 -Timap (imagemap files for httpd servers for each node or edge that has
99 a non‐null href attribute.),
100 -Tcmapx (client‐side imagemap for use in html and xhtml).
101 Additional less common or more special‐purpose output formats can be
102 found at //http://www.graphviz.org/content/output-formats.
103
104 Alternative plugins providing support for a given output format can be
105 found from the error message resulting from appending a ':' to the for‐
106 mat. e.g. -Tpng: The first plugin listed is always the default.
107
108 The -P switch can be used to produce a graph of all output variants
109 supported by plugins in the local installation of graphviz.
110
112 Here is a synopsis of the graph file language, normally using the
113 extension .gv, for graphs:
114
115 [strict] (graph|digraph) name { statement‐list }
116 is the top‐level graph. If the graph is strict, then multiple edges are
117 not allowed between the same pairs of nodes. If it is a directed
118 graph, indicated by digraph, then the edgeop must be "->". If it is an
119 undirected graph then the edgeop must be "--".
120
121 Statements may be:
122
123 name=val;
124 node [name=val];
125 edge [name=val];
126 Set default graph, node, or edge attribute name to val. Any subgraph,
127 node, or edge appearing after this inherits the new default attributes.
128
129 n0 [name0=val0,name1=val1,...]; Creates node n0 (if it does not already
130 exist) and sets its attributes according to the optional list.
131
132 n0 edgeop n1 edgeop ... edgeop nn [name0=val0,name1=val1,...];
133 Creates edges between nodes n0, n1, ..., nn and sets their attributes
134 according to the optional list. Creates nodes as necessary.
135
136 [subgraph name] { statement‐list }
137 Creates a subgraph. Subgraphs may be used in place of n0, ..., nn in
138 the above statements to create edges. [subgraph name] is optional; if
139 missing, the subgraph is assigned an internal name.
140
141 The language accepts both C‐style comments /*C...*/ or //...
142
143 Attribute names and values are ordinary (C‐style) strings. The follow‐
144 ing sections describe attributes that control graph layout.
145
146 A more complete description of the language can be found at
147 http://www.graphviz.org/content/dot-language.
148
150 Graphviz uses the name=value attributes, attached to graphs, subgraphs,
151 nodes and edges, to tailor the layout and rendering. We list the more
152 prominent attributes below. The complete list is available at
153 http://www.graphviz.org/content/attrs.
154
155 Attributes Common to Nodes, Edges, Clusters and Graphs
156 href=url the default url for image map files; in PostScript files, the
157 base URL for all relative URLs, as recognized by Acrobat Distiller 3.0
158 and up.
159
160 URL=url (``URL'' is a synonym for ``href.'')
161
162 fontcolor=colorvalue sets the label text color.
163
164 A colorvalue may be "h,s,v" (hue, saturation, brightness) floating
165 point numbers between 0 and 1, or an X11 color name such as white,
166 black, red, green, blue, yellow, magenta, or cyan, or a "#rrggbb" (red,
167 green, blue, 2 hex characters each) value. See
168 http://www.graphviz.org/content/attrs#kcolor and
169 http://www.graphviz.org/content/color-names for further details.
170
171 fontsize=n sets the label type size to n points.
172
173 fontname=name sets the label font family name.
174
175 label=text where text may include escaped newlines \n, \l, or \r for
176 center, left, and right justified lines. The string '\G' value will be
177 replaced by the graph name. For node labels, the string '\N' value
178 will be replaced by the node name. For edges, if the substring '\T' is
179 found in a label, it will be replaced by the name of the tail node; if
180 the substring '\H' is found in a label, it will be replaced by the name
181 of the head node; if the substring '\E' value is found in a label it
182 will be replaced by: tail_node_name->head_node_name or by:
183 tail_node_name--head_node_name for undirected graphs.
184
185 Graphviz also supports special HTML-like labels for constructing com‐
186 plex node content. A full‐description of these is given at
187 http://www.graphviz.org/content/node-shapes#html.
188
189 If a node has shape=record, the label may contain recursive box lists
190 delimited by { | }. Port identifiers in labels are set off by angle
191 brackets < >.
192
193 Graph Attributes
194 size="x,y" specifies the maximum bounding box of drawing in inches.
195
196 ratio=f sets the aspect ratio to f which may be a floating point num‐
197 ber, or one of the keywords fill, compress, or auto.
198
199 layout=engine indicates the preferred layout engine (dot, neato, fdp,
200 etc.) overriding the default from the basename of the command or the -K
201 commandline option.
202
203 margin=f sets the page margin (included in the page size).
204
205 ordering=out constrains order of out‐edges in a subgraph according to
206 their file sequence.
207
208 rotate=90 sets landscape mode. (orientation=land is backward compati‐
209 ble but obsolete.)
210
211 center=n a non‐zero value centers the drawing on the page.
212
213 color=colorvalue sets foreground color (bgcolor for background).
214
215 overlap=mode. This specifies what algorithm should do if any nodes
216 overlap. If mode is false, the program uses the Prism algorithm to
217 adjust the nodes to eliminate overlaps. If mode is scale, the layout is
218 uniformly scaled up, preserving node sizes, until nodes no longer over‐
219 lap. The latter technique removes overlaps while preserving symmetry
220 and structure, while the former removes overlaps more compactly but
221 destroys symmetries. If mode is true (the default), no repositioning
222 is done. Since the dot algorithm always produces a layout with no node
223 overlaps, this attribute is only useful with other layouts.
224
225 stylesheet="file.css" includes a reference to a stylesheet in -Tsvg and
226 -Tsvgz outputs. Ignored by other formats.
227
228 splines If set to true, edges are drawn as splines. If set to poly‐
229 line, edges are drawn as polylines. If set to ortho, edges are drawn
230 as orthogonal polylines. In all of these cases, the nodes must not
231 overlap. If splines=false or splines=line, edges are drawn as line
232 segments. The default is true for dot, and false for all other lay‐
233 outs.
234
235
236 (dot‐specific attributes)
237
238 nodesep=f sets the minimum separation between nodes.
239
240 ranksep=f sets the minimum separation between ranks.
241
242 rankdir=LR|RL|BT requests a left‐to‐right, right‐to‐left, or bottom‐to‐
243 top, drawing.
244
245 rank=same (or min or max) in a subgraph constrains the rank assignment
246 of its nodes. If a subgraph's name has the prefix cluster, its nodes
247 are drawn in a distinct rectangle of the layout. Clusters may be
248 nested.
249
250
251 (neato‐specific attributes)
252 mode=val. Algorithm for minimizing energy in the layout. By default,
253 neato uses stress majorization. If mode=KK, it uses a version of gradi‐
254 ent descent.
255
256 model=val. The neato model computes the desired distances between all
257 pairs of vertices. By default, it uses the length of the shortest path.
258 If model is set to circuit, a circuit-resistance model is used. If
259 model is set to subset, it uses a model whereby the edge length is the
260 number of nodes that are neighbors of exactly one of the edge's ver‐
261 tices.
262
263 start=val. Requests random initial placement and seeds the random num‐
264 ber generator. If val is not an integer, the process ID or current
265 time is used as the seed.
266
267 epsilon=n. Sets the cutoff for the solver. The default is 0.1.
268
269
270 (twopi‐specific attributes)
271 root=ctr. This specifies the node to be used as the center of the lay‐
272 out. If not specified, twopi will randomly pick one of the nodes that
273 are furthest from a leaf node, where a leaf node is a node of degree 1.
274 If no leaf nodes exists, an arbitrary node is picked as center.
275
276 ranksep=val. Specifies the radial distance in inches between the
277 sequence of rings. The default is 0.75.
278
279
280 (circo‐specific attributes)
281 root=nodename. Specifies the name of a node occurring in the root
282 block. If the graph is disconnected, the root node attribute can be
283 used to specify additional root blocks.
284
285 mindist=value. Sets the minimum separation between all nodes. If not
286 specified then circo uses a default value of 1.0.
287
288
289 (fdp‐specific attributes)
290 K=val. Sets the default ideal node separation in the layout.
291
292 maxiter=val. Sets the maximum number of iterations used to layout the
293 graph.
294
295 start=val. Adjusts the random initial placement of nodes with no speci‐
296 fied position. If val is is an integer, it is used as the seed for the
297 random number generator. If val is not an integer, a random system‐
298 generated integer, such as the process ID or current time, is used as
299 the seed.
300
301 Node Attributes
302 height=d or width=d sets minimum height or width. Adding fixed‐
303 size=true forces these to be the actual size (text labels are ignored).
304
305 shape=builtin_polygon record epsf
306 builtin_polygon can be such values as plaintext, ellipse, oval, circle,
307 egg, triangle, box, diamond, trapezium, parallelogram, house, hexagon,
308 octagon, note, tab, box3d, or component,, among others. (Polygons are
309 defined or modified by the following node attributes: regular, periph‐
310 eries, sides, orientation, distortion and skew.) epsf uses the node's
311 shapefile attribute as the path name of an external EPSF file to be
312 automatically loaded for the node shape.
313
314 See http://www.graphviz.org/content/node-shapes for a complete descrip‐
315 tion of node shapes.
316
317 color=colorvalue sets the outline color, and the default fill color if
318 style=filled and fillcolor is not specified.
319
320 fillcolor=colorvalue sets the fill color when style=filled. If not
321 specified, the fillcolor when style=filled defaults to be the same as
322 the outline color.
323
324 style=filled solid dashed dotted bold invis
325
326 xlabel="text" specifies a label that will be place near, but outside,
327 of a node. The normal label string is placed within the node shape.
328
329 target="target" is a target string for client‐side imagemaps and SVG,
330 effective when nodes have a URL. The target string is used to deter‐
331 mine which window of the browser is used for the URL. Setting it to
332 "_graphviz" will open a new window if it doesn't already exist, or re‐
333 use it if it does. If the target string is empty, the default, then no
334 target attribute is included in the output. The substrings '\N' and
335 '\G' are substituted in the same manner as for the node label
336 attribute. Additionally the substring '\L' is substituted with the
337 node label string.
338
339 tooltip="text" is a tooltip string for client‐side imagemaps and SVG,
340 effective when nodes have a URL. The tooltip string defaults to be the
341 same as the label string, but this attribute permits nodes without
342 labels to still have tooltips thus permitting denser graphs. The sub‐
343 strings '\N' and '\G' are substituted in the same manner as for the
344 node label attribute. Additionally the substring '\L' is substituted
345 with the node label string.
346
347 The following attributes apply only to polygon shape nodes:
348
349 regular=n if n is non‐zero then the polygon is made regular, i.e. sym‐
350 metric about the x and y axis, otherwise the polygon takes on the
351 aspect ratio of the label. builtin_polygons that are not already regu‐
352 lar are made regular by this attribute. builtin_polygons that are
353 already regular are not affected (i.e. they cannot be made asymmet‐
354 ric).
355
356 peripheries=n sets the number of periphery lines drawn around the poly‐
357 gon. This value supersedes the number of periphery lines of
358 builtin_polygons.
359
360 sides=n sets the number of sides to the polygon. n<3 results in an
361 ellipse. This attribute is ignored by builtin_polygons.
362
363 orientation=f sets the orientation of the first apex of the polygon
364 counterclockwise from the vertical, in degrees. f may be a floating
365 point number. The orientation of labels is not affected by this
366 attribute. This attribute is added to the initial orientation of
367 builtin_polygons.
368
369 distortion=f sets the amount of broadening of the top and narrowing of
370 the bottom of the polygon (relative to its orientation). Floating
371 point values between -1 and +1 are suggested. This attribute is
372 ignored by builtin_polygons.
373
374 skew=f sets the amount of right‐displacement of the top and left‐dis‐
375 placement of the bottom of the polygon (relative to its orientation).
376 Floating point values between -1 and +1 are suggested. This attribute
377 is ignored by builtin_polygons.
378
379
380 (circo‐specific attributes)
381 root=true/false. This specifies that the block containing the given
382 node be treated as the root of the spanning tree in the layout.
383
384
385 (neato‐ and fdp‐specific attributes)
386 pin=val. If val is true, the node will remain at its initial position.
387
388
389 Edge Attributes
390 weight=val where val is the cost of the edge. For dot, weights must be
391 non-negative integers. Values greater than 1 tend to shorten the edge;
392 weight 0 flat edges are ignored for ordering nodes. In twopi, a weight
393 of 0 will cause the edge to be ignored in constructing the underlying
394 spanning tree. For neato and fdp, a heavier weight will put more empha‐
395 sis on the algorithm achieving an edge length closer to that specified
396 by the edge's len attribute.
397
398 style=solid dashed dotted bold invis
399
400 color=colorvalue sets the line color for edges.
401
402 color=colorvaluelist a ':' separated list of colorvalue creates paral‐
403 lel edges, one edge for each color.
404
405 dir=forward back both none controls arrow direction.
406
407 tailclip,headclip=false disables endpoint shape clipping.
408
409 target="text" is a target string for client‐side imagemaps and SVG,
410 effective when edges have a URL. If the target string is empty, the
411 default, then no target attribute is included in the output. The sub‐
412 strings '\T', '\H', '\E' and '\G' are substituted in the same manner as
413 for the edge label attribute. Additionally the substring '\L' is sub‐
414 stituted with the edge label string.
415
416 tooltip="text" is a tooltip string for client‐side imagemaps effective
417 when edges have a URL. The tooltip string defaults to be the same as
418 the edge label string. The substrings '\T', '\H', '\E' and '\G' are
419 substituted in the same manner as for the edge label attribute. Addi‐
420 tionally the substring '\L' is substituted with the edge label string.
421
422 arrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot, tee,
423 empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow.
424 Specifies the shape of the glyph occurring where the edge touches the
425 head or tail node, respectively. Note that this only specifies the
426 shape. The dir attribute determines whether or not the glyph is drawn.
427
428 arrowsize=val specifies a multiplicative scale factor for the size of
429 the arrowhead. inv_length=6,inv_width=7,dot_radius=2)
430
431 headlabel,taillabel=text for labels appearing near the head and tail
432 nodes of an edge. labelfontcolor, labelfontname, labelfontsize for
433 head and tail labels. The substrings '\T', '\H', '\E' and '\G' are
434 substituted in the same manner as for the edge label attribute. Addi‐
435 tionally the substring '\L' is substituted with the edge label string.
436
437 headhref="url" sets the url for the head port in imagemap, PostScript
438 and SVG files. The substrings '\T', '\H', '\E' and '\G' are substi‐
439 tuted in the same manner as for the edge label attribute. Additionally
440 the substring '\L' is substituted with the edge label string.
441
442 headURL="url" (headURL is a synonym for headhref.)
443
444 headtarget="headtarget" is a target string for client‐side imagemaps
445 and SVG, effective when edge heads have a URL. The headtarget string
446 is used to determine which window of the browser is used for the URL.
447 If the headtarget string is empty, the default, then headtarget
448 defaults to the same value as target for the edge. The substrings
449 '\T', '\H', '\E' and '\G' are substituted in the same manner as for the
450 edge label attribute. Additionally the substring '\L' is substituted
451 with the edge label string.
452
453 headtooltip="tooltip" is a tooltip string for client‐side imagemaps
454 effective when head ports have a URL. The tooltip string defaults to
455 be the same as the headlabel string. The substrings '\T', '\H', and
456 '\E' are substituted in the same manner as for the edge label
457 attribute. Additionally the substring '\L' is substituted with the
458 edge label string.
459
460 tailhref="url" sets the url for the tail port in imagemap, PostScript
461 and SVG files. The substrings '\T', '\H', '\E' and '\G' are substi‐
462 tuted in the same manner as for the edge label attribute. Additionally
463 the substring '\L' is substituted with the edge label string.
464
465 tailURL="url" (tailURL is a synonym for tailhref.)
466
467 tailtarget="tailtarget" is a target string for client‐side imagemaps
468 and SVG, effective when edge tails have a URL. The tailtarget string
469 is used to determine which window of the browser is used for the URL.
470 If the tailtarget string is empty, the default, then tailtarget
471 defaults to the same value as target for the edge. The substrings
472 '\T', '\H', '\E' and '\G' are substituted in the same manner as for the
473 edge label attribute. Additionally the substring '\L' is substituted
474 with the edge label string.
475
476 tailtooltip="tooltip" is a tooltip string for client‐side imagemaps
477 effective when tail ports have a URL. The tooltip string defaults to
478 be the same as the taillabel string. The substrings '\T', '\H', '\E'
479 and '\G' are substituted in the same manner as for the edge label
480 attribute. Additionally the substring '\L' is substituted with the
481 edge label string.
482
483 labeldistance and labelangle (in degrees CCW) specify the placement of
484 head and tail labels.
485
486 decorate draws line from edge to label.
487
488 samehead,sametail aim edges having the same value to the same port,
489 using the average landing point.
490
491
492 (dot‐specific attributes)
493 constraint=false causes an edge to be ignored for rank assignment.
494
495 minlen=n where n is an integer factor that applies to the edge length
496 (ranks for normal edges, or minimum node separation for flat edges).
497
498 xlabel="text" Edge labels in dot are treated as special types of nodes,
499 with space allocated for them during node layout. This can sometimes
500 deform the edge routing. If an xlabel is used instead, the label is
501 placed after all nodes and edges have been positioned. In turn, this
502 may mean that there is some overlap among the labels.
503
504 (neato and fdp‐specific attributes)
505 len=f sets the optimal length of an edge. The default is 1.0.
506
508 -G sets a default graph attribute.
509 -N sets a default node attribute.
510 -E sets a default edge attribute. Example: -Gsize="7,8" -Nshape=box
511 -Efontsize=8
512
513 -lfile loads custom PostScript library files. Usually these define
514 custom shapes or styles. If -l is given by itself, the standard
515 library is omitted.
516
517 -Tlang sets the output language as described above.
518
519
520 -n[1|2] (no‐op) If set, neato assumes nodes have already been posi‐
521 tioned and all nodes have a pos attribute giving the positions. It
522 then performs an optional adjustment to remove node‐node overlap,
523 depending on the value of the overlap attribute, computes the edge lay‐
524 outs, depending on the value of the splines attribute, and emits the
525 graph in the appropriate format. If num is supplied, the following
526 actions occur:
527 num = 1
528 Equivalent to -n.
529 num > 1
530 Use node positions as specified, with no adjustment to remove node‐node
531 overlaps, and use any edge layouts already specified by the pos
532 attribute. neato computes an edge layout for any edge that does not
533 have a pos attribute. As usual, edge layout is guided by the splines
534 attribute.
535
536 -Klayout override the default layout engine implied by the command
537 name.
538
539 -O automatically generate output filenames based on the input filename
540 and the -T format.
541
542 -P generate a graph of the currently available plugins.
543
544 -v (verbose) prints various information useful for debugging.
545
546 -c configure plugins.
547
548 -m memory test (observe no growth with top, kill when done).
549
550 -qlevel set level of message suppression. The default is 1.
551
552 -sfscale scale input by fscale, the default is 72.
553
554 -y invert y coordinate in output.
555
556 -V (version) prints version information and exits.
557
558 -? prints the usage and exits.
559
560 A complete description of the available command‐line options can be
561 found at https://www.graphviz.org/doc/info/command.html.
562
564 digraph test123 {
565 a -> b -> c;
566 a -> {x y};
567 b [shape=box];
568 c [label="hello\nworld",color=blue,fontsize=24,
569 fontname="Palatino-Italic",fontcolor=red,style=filled];
570 a -> z [label="hi", weight=100];
571 x -> z [label="multi-line\nlabel"];
572 edge [style=dashed,color=red];
573 b -> x;
574 {rank=same; b x}
575 }
576
577 graph test123 {
578 a -- b -- c;
579 a -- {x y};
580 x -- c [w=10.0];
581 x -- y [w=5.0,len=3];
582 }
583
585 Edge splines can overlap unintentionally.
586
587 Flat edge labels are slightly broken. Intercluster edge labels are
588 totally broken.
589
590 Because unconstrained optimization is employed, node boxes can possibly
591 overlap or touch unrelated edges. All existing spring embedders seem
592 to have this limitation.
593
594 Apparently reasonable attempts to pin nodes or adjust edge lengths and
595 weights can cause instability.
596
598 Stephen C. North <north@research.att.com>
599 Emden R. Gansner <erg@graphviz.org>
600 John C. Ellson <ellson@research.att.com>
601 Yifan Hu <yifanhu@yahoo.com>
602
603 The bitmap driver (PNG, GIF etc) is by Thomas Boutell,
604 <http://www.boutell.com/gd>
605
606 The Truetype font renderer is from the Freetype Project (David Turner,
607 Robert Wilhelm, and Werner Lemberg) (who can be contacted at
608 freetype-devel@lists.lrz-muenchen.de).
609
611 This man page contains only a small amount of the information related
612 to the Graphviz layout programs. The most complete information can be
613 found at http://www.graphviz.org/Documentation.php, especially in the
614 on‐line reference pages. Most of these documents are also available in
615 the doc and doc/info subtrees in the source and binary distributions.
616
617 dotty(1)
618 tcldot(n)
619 xcolors(1)
620 libcgraph(3)
621
622 E. R. Gansner, S. C. North, K. P. Vo, "DAG ‐ A Program to Draw
623 Directed Graphs", Software ‐ Practice and Experience 17(1), 1988, pp.
624 1047‐1062.
625 E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, "A Technique for
626 Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp.
627 214‐230.
628 S. North and E. Koutsofios, "Applications of graph visualization",
629 Graphics Interface 94, pp. 234‐245.
630 E. R. Gansner and E. Koutsofios and S. C. North, "Drawing Graphs with
631 dot," Available at http://www.graphviz.org/pdf/dotguide.pdf.
632 S. C. North, "NEATO User's Manual". Available
633 http://www.graphviz.org/pdf/neatoguide.pdf.
634 E. R. Gansner and Y. Hu, "Efficient, Proximity-Preserving Node Overlap
635 Removal", J. Graph Algorithms Appl., 14(1) pp. 53‐74, 2010.
636
637
638
639
640 12 January 2015 DOT(1)