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
14 dot [-(G|N|E)name=value] [-Tlang] [-llibfile] [-ooutfile] [-Klayout]
15 [-O] [-P] [-v] [-V] [files]
16 neato [-(G|N|E)name=value] [-Tlang] [-llibfile] [-n[1|2]] [-ooutfile]
17 [-Klayout] [-O] [-P] [-v] [-V] [files]
18 twopi [-(G|N|E)name=value] [-Tlang] [-llibfile] [-ooutfile] [-Klayout]
19 [-O] [-P] [-v] [-V] [files]
20 circo [-(G|N|E)name=value] [-Tlang] [-llibfile] [-ooutfile] [-Klayout]
21 [-O] [-P] [-v] [-V] [files]
22 fdp [-(G|N|E)name=value] [-Tlang] [-llibfile] [-ooutfile] [-Klayout]
23 [-O] [-P] [-v] [-V] [files]
24 sfdp [-(G|N|E)name=value] [-Tlang] [-llibfile] [-ooutfile] [-Klayout]
25 [-O] [-P] [-v] [-V] [files]
26
28 dot draws directed graphs. It works well on DAGs and other graphs that
29 can be drawn as hierarchies. It reads attributed graph files and
30 writes drawings. By default, the output format dot is the input file
31 with layout coordinates appended.
32
33 neato draws undirected graphs using ``spring'' models (see Kamada and
34 Kawai, Information Processing Letters 31:1, April 1989). Input files
35 must be formatted in the dot attributed graph language. By default,
36 the output of neato is the input graph with layout coordinates
37 appended.
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
56 If a node belongs to multiple non‐trivial biconnected components, the
57 layout puts the node in one of them. By default, this is the first non‐
58 trivial component found in the search from the root component.
59
60 fdp draws undirected graphs using a ``spring'' model. It relies on a
61 force‐directed approach in the spirit of Fruchterman and Reingold (cf.
62 Software‐Practice & Experience 21(11), 1991, pp. 1129‐1164).
63
64 sfdp also draws undirected graphs using the ``spring'' model described
65 above, but it uses a multi-scale approach to produce layouts of large
66 graphs in a reasonably short time.
67
69 Dot uses an extensible plugin mechanism for its output renderers, so to
70 see what output formats your installation of dot supports you can use
71 ``dot -Txxx'' (where xxx is an unlikely format) and check the warning
72 message. Also, The plugin mechanism supports multiple implementations
73 of the output formats. To see what variants are available, use, for
74 example: ``dot -Tpng:'' and to force a particular variant, use, for
75 example: ``dot -Tpng:gd''
76
77 Traditionally, dot supports the following: -Tps (PostScript), -Tsvg
78 -Tsvgz (Structured Vector Graphics), -Tfig (XFIG graphics), -Tmif
79 (FrameMaker graphics), -Thpgl (HP pen plotters), and -Tpcl (Laserjet
80 printers), -Tpng -Tgif (bitmap graphics), -Tdia (GTK+ based diagrams),
81 -Timap (imagemap files for httpd servers for each node or edge that has
82 a non‐null "href" attribute.), -Tcmapx (client‐side imagemap for use in
83 html and xhtml). Additional less common or more special‐purpose output
84 formats can be found at http://www.graphviz.org/cvs/doc/info/out‐
85 put.html.)
86
87 Alternative plugins providing support for a given output format can be
88 found from the error message resulting from appending a ':' to the for‐
89 mat. e.g. -Tpng: The first plugin listed is always the default.
90
91 The -P switch can be used to produce a graph of all output variants
92 supported by plugins in the local installation of graphviz.
93
95 Here is a synopsis of the graph file language, traditionally using the
96 extension .dot, for graphs:
97
98 [strict] (graph|digraph) name { statement‐list }
99 Is the top level graph. If the graph is strict then multiple edges are
100 not allowed between the same pairs of nodes. If it is a directed
101 graph, indicated by digraph, then the edgeop must be "->". If it is an
102 undirected graph then the edgeop must be "--". Statements may be:
103
104 name=val;
105 node [name=val];
106 edge [name=val];
107 Set default graph, node, or edge attribute name to val. Any subgraph,
108 node, or edge appearing after this inherits the new default attributes.
109
110 n0 [name0=val0,name1=val1,...]; Creates node n0 (if it does not already
111 exist) and sets its attributes according to the optional list.
112
113 n0 edgeop n1 edgeop ... edgeop nn [name0=val0,name1=val1,...];
114 Creates edges between nodes n0, n1, ..., nn and sets their attributes
115 according to the optional list. Creates nodes as necessary.
116
117 [subgraph name] { statement‐list }
118 Creates a subgraph. Subgraphs may be used in place of n0, ..., nn in
119 the above statements to create edges. [subgraph name] is optional; if
120 missing, the subgraph is assigned an internal name.
121
122 Comments may be /*C‐like*/ or //C++‐like.
123
124
125 Attribute names and values are ordinary (C‐style) strings. The follow‐
126 ing sections describe attributes that control graph layout.
127
128
130 size="x,y" sets bounding box of drawing in inches.
131
132 page="x,y" sets the PostScript pagination unit.
133
134 ratio=f sets the aspect ratio to f which may be a floating point num‐
135 ber, or one of the keywords fill, compress, or auto.
136
137 layout=engine indicates the preferred layout engine ("dot", "neato",
138 fdp" etc) overriding the default from the basename of the command or
139 the -K commandline option.
140
141 margin=f sets the page margin (included in the page size).
142
143 nodesep=f sets the minimum separation between nodes.
144
145 ranksep=f sets the minimum separation between ranks.
146
147 ordering=out constrains order of out‐edges in a subgraph according to
148 their file sequence.
149
150 rankdir=LR|RL|BT requests a left‐to‐right, right‐to‐left, or bottom‐to‐
151 top, drawing.
152
153 pagedir=[TBLR][TBLR] sets the major and minor order of pagination.
154
155 rank=same (or min or max) in a subgraph constrains the rank assignment
156 of its nodes. If a subgraph's name has the prefix cluster, its nodes
157 are drawn in a distinct rectangle of the layout. Clusters may be
158 nested.
159
160 rotate=90 sets landscape mode. (orientation=land is backward compati‐
161 ble but obsolete.)
162
163 center=n a non‐zero value centers the drawing on the page.
164
165 nslimit=f or mclimit=f adjusts the bound on the number of network sim‐
166 plex or mincross iterations by the given ratio. For example,
167 mclimit=2.0 runs twice as long.
168
169 layers="id:id:id:id" is a sequence of layer identifiers for overlay
170 diagrams. The PostScript array variable layercolorseq sets the assign‐
171 ment of colors to layers. The least index is 1 and each element must be
172 a 3‐element array to be interpreted as a color coordinate.
173
174 color=colorvalue sets foreground color (bgcolor for background).
175
176 href="url" the default url for image map files; in PostScript files,
177 the base URL for all relative URLs, as recognized by Acrobat Distiller
178 3.0 and up.
179
180 URL="url" ("URL" is a synonym for "href".)
181
182 stylesheet="file.css" includes a reference to a stylesheet in -Tsvg and
183 -Tsvgz outputs. Ignored by other formats.
184
185 splines. If set to true, edges are drawn as splines. If set to poly‐
186 line, edges are drawn as polylines. If set to ortho, edges are drawn
187 as orthogonal polylines. In all of these cases, the nodes may not
188 overlap. If splines=false or splines=line, edges are drawn as line
189 segments. The default is true for dot, and false for all other lay‐
190 outs.
191
192
193 (neato‐specific attributes)
194 start=val. Requests random initial placement and seeds the random num‐
195 ber generator. If val is not an integer, the process ID or current
196 time is used as the seed.
197
198 epsilon=n. Sets the cutoff for the solver. The default is 0.1.
199
200
201 (twopi‐specific attributes)
202 root=ctr. This specifies the node to be used as the center of the lay‐
203 out. If not specified, twopi will randomly pick one of the nodes that
204 are furthest from a leaf node, where a leaf node is a node of degree 1.
205 If no leaf nodes exists, an arbitrary node is picked as center.
206
207 ranksep=val. Specifies the radial distance in inches between the
208 sequence of rings. The default is 0.75.
209
210 overlap=mode. This specifies what twopi should do if any nodes overlap.
211 If mode is "false", the program uses Voronoi diagrams to adjust the
212 nodes to eliminate overlaps. If mode is "scale", the layout is uni‐
213 formly scaled up, preserving node sizes, until nodes no longer overlap.
214 The latter technique removes overlaps while preserving symmetry and
215 structure, while the former removes overlaps more compactly but
216 destroys symmetries. If mode is "true" (the default), no repositioning
217 is done.
218
219
220 (circo‐specific attributes)
221 root=nodename. Specifies the name of a node occurring in the root
222 block. If the graph is disconnected, the root node attribute can be
223 used to specify additional root blocks.
224
225 mindist=value. Sets the minimum separation between all nodes. If not
226 specified then circo uses a default value of 1.0.
227
228
229 (fdp‐specific attributes)
230 K=val. Sets the default ideal node separation in the layout.
231
232 maxiter=val. Sets the maximum number of iterations used to layout the
233 graph.
234
235 start=val. Adjusts the random initial placement of nodes with no speci‐
236 fied position. If val is is an integer, it is used as the seed for the
237 random number generator. If val is not an integer, a random system‐
238 generated integer, such as the process ID or current time, is used as
239 the seed.
240
242 height=d or width=d sets minimum height or width. Adding fixed‐
243 size=true forces these to be the actual size (text labels are ignored).
244
245 shape=record polygon epsf builtin_polygon
246 builtin_polygon is one of: plaintext ellipse oval circle egg triangle
247 box diamond trapezium parallelogram house hexagon octagon note tab
248 box3d component. (Polygons are defined or modified by the following
249 node attributes: regular, peripheries, sides, orientation, distortion
250 and skew.) epsf uses the node's shapefile attribute as the path name
251 of an external EPSF file to be automatically loaded for the node shape.
252
253 label=text where text may include escaped newlines \n, \l, or \r for
254 center, left, and right justified lines. The string '\N' value will be
255 replaced by the node name. The string '\G' value will be replaced by
256 the graph name. Record labels may contain recursive box lists delim‐
257 ited by { | }. Port identifiers in labels are set off by angle brack‐
258 ets < >. In the graph file, use colon (such as, node0:port28).
259
260 fontsize=n sets the label type size to n points.
261
262 fontname=name sets the label font family name.
263
264 color=colorvalue sets the outline color, and the default fill color if
265 style=filled and fillcolor is not specified.
266
267 fillcolor=colorvalue sets the fill color when style=filled. If not
268 specified, the fillcolor when style=filled defaults to be the same as
269 the outline color.
270
271 fontcolor=colorvalue sets the label text color.
272
273 A colorvalue may be "h,s,v" (hue, saturation, brightness) floating
274 point numbers between 0 and 1, or an X11 color name such as white black
275 red green blue yellow magenta cyan or burlywood, or a "#rrggbb" (red,
276 green, blue, 2 hex characters each) value.
277
278 style=filled solid dashed dotted bold invis or any Postscript code.
279
280 layer=id or id:id or "all" sets the node's active layers. The empty
281 string means no layers (invisible).
282
283 The following attributes apply only to polygon shape nodes:
284
285 regular=n if n is non‐zero then the polygon is made regular, i.e. sym‐
286 metric about the x and y axis, otherwise the polygon takes on the
287 aspect ratio of the label. builtin_polygons that are not already regu‐
288 lar are made regular by this attribute. builtin_polygons that are
289 already regular are not affected (i.e. they cannot be made asymmet‐
290 ric).
291
292 peripheries=n sets the number of periphery lines drawn around the poly‐
293 gon. This value supersedes the number of periphery lines of
294 builtin_polygons.
295
296 sides=n sets the number of sides to the polygon. n<3 results in an
297 ellipse. This attribute is ignored by builtin_polygons.
298
299 orientation=f sets the orientation of the first apex of the polygon
300 counterclockwise from the vertical, in degrees. f may be a floating
301 point number. The orientation of labels is not affected by this
302 attribute. This attribute is added to the initial orientation of
303 builtin_polygons.
304
305 distortion=f sets the amount of broadening of the top and narrowing of
306 the bottom of the polygon (relative to its orientation). Floating
307 point values between -1 and +1 are suggested. This attribute is
308 ignored by builtin_polygons.
309
310 skew=f sets the amount of right‐displacement of the top and left‐dis‐
311 placement of the bottom of the polygon (relative to its orientation).
312 Floating point values between -1 and +1 are suggested. This attribute
313 is ignored by builtin_polygons.
314
315 href="url" sets the url for the node in imagemap, PostScript and SVG
316 files. The substrings '\N' and '\G' are substituted in the same manner
317 as for the node label attribute. Additionally the substring '\L' is
318 substituted with the node label string.
319
320 URL="url" ("URL" is a synonym for "href".)
321
322 target="target" is a target string for client‐side imagemaps and SVG,
323 effective when nodes have a URL. The target string is used to deter‐
324 mine which window of the browser is used for the URL. Setting it to
325 "_graphviz" will open a new window if it doesn't already exist, or re‐
326 use it if it does. If the target string is empty, the default, then no
327 target attribute is included in the output. The substrings '\N' and
328 '\G' are substituted in the same manner as for the node label
329 attribute. Additionally the substring '\L' is substituted with the
330 node label string.
331
332 tooltip="tooltip" is a tooltip string for client‐side imagemaps and
333 SVG, effective when nodes have a URL. The tooltip string defaults to
334 be the same as the label string, but this attribute permits nodes with‐
335 out labels to still have tooltips thus permitting denser graphs. The
336 substrings '\N' and '\G' are substituted in the same manner as for the
337 node label attribute. Additionally the substring '\L' is substituted
338 with the node label string.
339
340
341 (circo‐specific attributes)
342 root=true/false. This specifies that the block containing the given
343 node be treated as the root of the spanning tree in the layout.
344
345
346 (fdp‐specific attributes)
347 pin=val. If val is "true", the node will remain at its initial posi‐
348 tion.
349
350
352 minlen=n where n is an integer factor that applies to the edge length
353 (ranks for normal edges, or minimum node separation for flat edges).
354
355 weight=n where n is the integer cost of the edge. Values greater than
356 1 tend to shorten the edge. Weight 0 flat edges are ignored for order‐
357 ing nodes.
358
359 label=text where text may include escaped newlines \n, \l, or \r for
360 centered, left, or right justified lines. If the substring '\T' is
361 found in a label it will be replaced by the tail_node name. If the
362 substring '\H' is found in a label it will be replaced by the head_node
363 name. If the substring '\E' value is found in a label it will be
364 replaced by: tail_node_name->head_node_name If the substring '\G' is
365 found in a label it will be replaced by the graph name. or by:
366 tail_node_name--head_node_name for undirected graphs.
367
368 fontsize=n sets the label type size to n points.
369
370 fontname=name sets the label font family name.
371
372 fontcolor=colorvalue sets the label text color.
373
374 style=solid dashed dotted bold invis
375
376 color=colorvalue sets the line color for edges.
377
378 color=colorvaluelist a ':' separated list of colorvalue creates paral‐
379 lel edges, one edge for each color.
380
381 dir=forward back both none controls arrow direction.
382
383 tailclip,headclip=false disables endpoint shape clipping.
384
385 href="url" sets the url for the node in imagemap, PostScript and SVG
386 files. The substrings '\T', '\H', '\E' and '\G' are substituted in the
387 same manner as for the edge label attribute. Additionally the sub‐
388 string '\L' is substituted with the edge label string.
389
390 URL="url" ("URL" is a synonym for "href".)
391
392 target="target" is a target string for client‐side imagemaps and SVG,
393 effective when edges have a URL. If the target string is empty, the
394 default, then no target attribute is included in the output. The sub‐
395 strings '\T', '\H', '\E' and '\G' are substituted in the same manner as
396 for the edge label attribute. Additionally the substring '\L' is sub‐
397 stituted with the edge label string.
398
399 tooltip="tooltip" is a tooltip string for client‐side imagemaps effec‐
400 tive when edges have a URL. The tooltip string defaults to be the same
401 as the edge label string. The substrings '\T', '\H', '\E' and '\G' are
402 substituted in the same manner as for the edge label attribute. Addi‐
403 tionally the substring '\L' is substituted with the edge label string.
404
405 arrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot, tee,
406 empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow.
407
408 arrowsize (norm_length=10,norm_width=5,
409 inv_length=6,inv_width=7,dot_radius=2)
410
411 headlabel,taillabel=string for port labels. labelfontcolor,labelfont‐
412 name,labelfontsize for head and tail labels. The substrings '\T',
413 '\H', '\E' and '\G' are substituted in the same manner as for the edge
414 label attribute. Additionally the substring '\L' is substituted with
415 the edge label string.
416
417 headhref="url" sets the url for the head port in imagemap, PostScript
418 and SVG files. The substrings '\T', '\H', '\E' and '\G' are substi‐
419 tuted in the same manner as for the edge label attribute. Additionally
420 the substring '\L' is substituted with the edge label string.
421
422 headURL="url" ("headURL" is a synonym for "headhref".)
423
424 headtarget="headtarget" is a target string for client‐side imagemaps
425 and SVG, effective when edge heads have a URL. The headtarget string
426 is used to determine which window of the browser is used for the URL.
427 If the headtarget string is empty, the default, then headtarget
428 defaults to the same value as target for the edge. The substrings
429 '\T', '\H', '\E' and '\G' are substituted in the same manner as for the
430 edge label attribute. Additionally the substring '\L' is substituted
431 with the edge label string.
432
433 headtooltip="tooltip" is a tooltip string for client‐side imagemaps
434 effective when head ports have a URL. The tooltip string defaults to
435 be the same as the headlabel string. The substrings '\T', '\H', and
436 '\E' are substituted in the same manner as for the edge label
437 attribute. Additionally the substring '\L' is substituted with the
438 edge label string.
439
440 tailhref="url" sets the url for the tail port in imagemap, PostScript
441 and SVG files. The substrings '\T', '\H', '\E' and '\G' are substi‐
442 tuted in the same manner as for the edge label attribute. Additionally
443 the substring '\L' is substituted with the edge label string.
444
445 tailURL="url" ("tailURL" is a synonym for "tailhref".)
446
447 tailtarget="tailtarget" is a target string for client‐side imagemaps
448 and SVG, effective when edge tails have a URL. The tailtarget string
449 is used to determine which window of the browser is used for the URL.
450 If the tailtarget string is empty, the default, then tailtarget
451 defaults to the same value as target for the edge. The substrings
452 '\T', '\H', '\E' and '\G' are substituted in the same manner as for the
453 edge label attribute. Additionally the substring '\L' is substituted
454 with the edge label string.
455
456 tailtooltip="tooltip" is a tooltip string for client‐side imagemaps
457 effective when tail ports have a URL. The tooltip string defaults to
458 be the same as the taillabel string. The substrings '\T', '\H', '\E'
459 and '\G' are substituted in the same manner as for the edge label
460 attribute. Additionally the substring '\L' is substituted with the
461 edge label string.
462
463 labeldistance and port_label_distance set distance; also labelangle (in
464 degrees CCW)
465
466 decorate draws line from edge to label.
467
468 samehead,sametail aim edges having the same value to the same port,
469 using the average landing point.
470
471 constraint=false causes an edge to be ignored for rank assignment.
472
473 layer=id or id:id or "all" sets the edge's active layers. The empty
474 string means no layers (invisible).
475
476
477 (neato‐specific attributes)
478 w=f sets the weight (spring constant) of an edge to the given floating
479 point value. The default is 1.0; greater values make the edge tend
480 more toward its optimal length.
481
482 len=f sets the optimal length of an edge. The default is 1.0.
483
484 (fdp‐specific attributes)
485 weight=f sets the weight of an edge to the given floating point value.
486 The default is 1.0; greater values make the edge tend more toward its
487 optimal length.
488
490 -G sets a default graph attribute.
491 -N sets a default node attribute.
492 -E sets a default edge attribute. Example: -Gsize="7,8" -Nshape=box
493 -Efontsize=8
494
495 -lfile loads custom PostScript library files. Usually these define
496 custom shapes or styles. If -l is given by itself, the standard
497 library is omitted.
498
499 -Tlang sets the output language as described above.
500
501
502 -n[1|2] (no‐op) If set, neato assumes nodes have already been posi‐
503 tioned and all nodes have a pos attribute giving the positions. It
504 then performs an optional adjustment to remove node‐node overlap,
505 depending on the value of the overlap attribute, computes the edge lay‐
506 outs, depending on the value of the splines attribute, and emits the
507 graph in the appropriate format. If num is supplied, the following
508 actions occur:
509 num = 1
510 Equivalent to -n.
511 num > 1
512 Use node positions as specified, with no adjustment to remove node‐node
513 overlaps, and use any edge layouts already specified by the pos
514 attribute. neato computes an edge layout for any edge that does not
515 have a pos attribute. As usual, edge layout is guided by the splines
516 attribute.
517
518 -Klayout override the default layout engine implied by the command
519 name.
520
521 -O automatically generate output filenames based on the input filename
522 and the -T format.
523
524 -P generate a graph of the currently available plugins.
525
526 -v (verbose) prints various information useful for debugging.
527
528 -V (version) prints version information and exits.
529
530 -? prints the usage and exits.
531
533 digraph test123 {
534 a -> b -> c;
535 a -> {x y};
536 b [shape=box];
537 c [label="hello\nworld",color=blue,fontsize=24,
538 fontname="Palatino-Italic",fontcolor=red,style=filled];
539 a -> z [label="hi", weight=100];
540 x -> z [label="multi-line\nlabel"];
541 edge [style=dashed,color=red];
542 b -> x;
543 {rank=same; b x}
544 }
545
546 graph test123 {
547 a -- b -- c;
548 a -- {x y};
549 x -- c [w=10.0];
550 x -- y [w=5.0,len=3];
551 }
552
554 Edge splines can overlap unintentionally.
555
556 Flat edge labels are slightly broken. Intercluster edge labels are
557 totally broken.
558
559 Because unconstrained optimization is employed, node boxes can possibly
560 overlap or touch unrelated edges. All existing spring embedders seem
561 to have this limitation.
562
563 Apparently reasonable attempts to pin nodes or adjust edge lengths and
564 weights can cause instability.
565
567 Stephen C. North <north@research.att.com>
568 Emden R. Gansner <erg@research.att.com>
569 John C. Ellson <ellson@research.att.com>
570
571 The bitmap driver (PNG, GIF etc) is by Thomas Boutell,
572 <http://www.boutell.com/gd>
573
574 The Truetype font renderer is from the Freetype Project (David Turner,
575 Robert Wilhelm, and Werner Lemberg) (who can be contacted at
576 freetype-devel@lists.lrz-muenchen.de).
577
579 This man page contains only a small amount of the information related
580 to the Graphviz layout programs. The most complete information can be
581 found at http://www.graphviz.org/Documentation.php, especially in the
582 on‐line reference pages. Most of these documents are also available in
583 the doc and doc/info subtrees in the source and binary distributions.
584
585 dotty(1)
586 tcldot(n)
587 xcolors(1)
588 libgraph(3)
589
590 E. R. Gansner, S. C. North, K. P. Vo, "DAG ‐ A Program to Draw
591 Directed Graphs", Software ‐ Practice and Experience 17(1), 1988, pp.
592 1047‐1062.
593 E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, "A Technique for
594 Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp.
595 214‐230.
596 S. North and E. Koutsofios, "Applications of graph visualization",
597 Graphics Interface 94, pp. 234‐245.
598 E. Koutsofios and S. C. North, "Drawing Graphs with dot," Available on
599 research.att.com in dist/drawdag/dotguide.ps.Z.
600 S. C. North, "NEATO User's Manual". Available on research.att.com in
601 dist/drawdag/neatodoc.ps.Z.
602
603
604
605 23 August 2004 DOT(1)