comparison toolboxes/graph_visualisation/share/man/man1/neato.1 @ 0:e9a9cd732c1e tip

first hg version after svn
author wolffd
date Tue, 10 Feb 2015 15:05:51 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:e9a9cd732c1e
1 .TH DOT 1 "23 August 2004" \*(eX
2 .SH NAME
3 dot \- filter for drawing directed graphs
4 .br
5 neato \- filter for drawing undirected graphs
6 .br
7 twopi \- filter for radial layouts of graphs
8 .br
9 circo \- filter for circular layout of graphs
10 .br
11 fdp \- filter for drawing undirected graphs
12 .br
13 sfdp \- filter for drawing large undirected graphs
14 .SH SYNOPSIS
15 \fBdot\fR
16 [\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
17 [\fB\-T\fIlang\fR]
18 [\fB\-l\fIlibfile\fR]
19 [\fB\-o\fIoutfile\fR]
20 [\fB\-K\fIlayout\fR]
21 [\fB\-O\fR]
22 [\fB\-P\fR]
23 [\fB\-v\fR]
24 [\fB\-V\fR]
25 [files]
26 .br
27 \fBneato\fR
28 [\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
29 [\fB\-T\fIlang\fR]
30 [\fB\-l\fIlibfile\fR]
31 [\fB\-n\fR[\fB1\fR|\fB2\fR]]
32 [\fB\-o\fIoutfile\fR]
33 [\fB\-K\fIlayout\fR]
34 [\fB\-O\fR]
35 [\fB\-P\fR]
36 [\fB\-v\fR]
37 [\fB\-V\fR]
38 [files]
39 .br
40 \fBtwopi\fR
41 [\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
42 [\fB\-T\fIlang\fR]
43 [\fB\-l\fIlibfile\fR]
44 [\fB\-o\fIoutfile\fR]
45 [\fB\-K\fIlayout\fR]
46 [\fB\-O\fR]
47 [\fB\-P\fR]
48 [\fB\-v\fR]
49 [\fB\-V\fR]
50 [files]
51 .br
52 \fBcirco\fR
53 [\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
54 [\fB\-T\fIlang\fR]
55 [\fB\-l\fIlibfile\fR]
56 [\fB\-o\fIoutfile\fR]
57 [\fB\-K\fIlayout\fR]
58 [\fB\-O\fR]
59 [\fB\-P\fR]
60 [\fB\-v\fR]
61 [\fB\-V\fR]
62 [files]
63 .br
64 \fBfdp\fR
65 [\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
66 [\fB\-T\fIlang\fR]
67 [\fB\-l\fIlibfile\fR]
68 [\fB\-o\fIoutfile\fR]
69 [\fB\-K\fIlayout\fR]
70 [\fB\-O\fR]
71 [\fB\-P\fR]
72 [\fB\-v\fR]
73 [\fB\-V\fR]
74 [files]
75 .br
76 \fBsfdp\fR
77 [\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
78 [\fB\-T\fIlang\fR]
79 [\fB\-l\fIlibfile\fR]
80 [\fB\-o\fIoutfile\fR]
81 [\fB\-K\fIlayout\fR]
82 [\fB\-O\fR]
83 [\fB\-P\fR]
84 [\fB\-v\fR]
85 [\fB\-V\fR]
86 [files]
87 .SH DESCRIPTION
88 .I dot
89 draws directed graphs. It works well on DAGs and other graphs
90 that can be drawn as hierarchies.
91 It reads attributed graph files and writes drawings.
92 By default, the output format
93 .I dot
94 is the input file with layout coordinates appended.
95 .PP
96 .I neato
97 draws undirected graphs using ``spring'' models (see Kamada and Kawai,
98 Information Processing Letters 31:1, April 1989). Input files must be
99 formatted in the
100 .I dot
101 attributed graph language.
102 By default, the output of
103 .I neato
104 is the input graph with layout coordinates appended.
105 .PP
106 .I twopi
107 draws graphs using a radial layout (see G. Wills,
108 Symposium on Graph Drawing GD'97, September, 1997).
109 Basically, one node is chosen as the center and put at the origin.
110 The remaining nodes are placed on a sequence of concentric circles
111 centered about the origin, each a fixed radial distance from the
112 previous circle.
113 All nodes distance 1 from the center are placed on the first circle;
114 all nodes distance 1 from a node on the first circle are placed on
115 the second circle; and so forth.
116 .PP
117 .I circo
118 draws graphs using a circular layout (see
119 Six and Tollis, GD '99 and ALENEX '99, and
120 Kaufmann and Wiese, GD '02.)
121 The tool identifies biconnected components and draws the nodes of
122 the component on a circle. The block\(hycutpoint tree
123 is then laid out using a recursive radial algorithm. Edge
124 crossings within a circle are minimized by placing as many edges on
125 the circle's perimeter as possible.
126 In particular, if the component is outerplanar, the component will
127 have a planar layout.
128 .PP
129 If a node belongs to multiple non\(hytrivial biconnected components,
130 the layout puts the node in one of them. By default, this is the first
131 non\(hytrivial component found in the search from the root component.
132 .PP
133 .I fdp
134 draws undirected graphs using a ``spring'' model. It relies on a
135 force\(hydirected approach in the spirit of Fruchterman and Reingold
136 (cf. Software\(hyPractice & Experience 21(11), 1991, pp. 1129\(hy1164).
137 .PP
138 .I sfdp
139 also draws undirected graphs using the ``spring'' model described
140 above, but it uses a multi-scale approach to produce layouts
141 of large graphs in a reasonably short time.
142 .SH OUTPUT FORMATS
143 Dot uses an extensible plugin mechanism for its output renderers,
144 so to see what output formats your installation of dot supports
145 you can use ``dot \-Txxx'' (where xxx is an unlikely format)
146 and check the warning message.
147 Also, The plugin mechanism supports multiple implementations
148 of the output formats.
149 To see what variants are available, use, for example: ``dot \-Tpng:''
150 and to force a particular variant, use, for example: ``dot \-Tpng:gd''
151 .P
152 Traditionally, dot supports the following:
153 \fB\-Tps\fP (PostScript),
154 \fB\-Tsvg\fP \fB\-Tsvgz\fP (Structured Vector Graphics),
155 \fB\-Tfig\fP (XFIG graphics),
156 \fB\-Tmif\fP (FrameMaker graphics),
157 \fB\-Thpgl\fP (HP pen plotters), and \fB\-Tpcl\fP (Laserjet printers),
158 \fB\-Tpng\fP \fB\-Tgif\fP (bitmap graphics),
159 \fB\-Tdia\fP (GTK+ based diagrams),
160 \fB\-Timap\fP (imagemap files for httpd servers for each node or edge
161 that has a non\(hynull "href" attribute.),
162 \fB\-Tcmapx\fP (client\(hyside imagemap for use in html and xhtml).
163 Additional less common or more special\(hypurpose output formats
164 can be found at http://www.graphviz.org/cvs/doc/info/output.html.)
165 .P
166 Alternative plugins providing support for a given output format
167 can be found from the error message resulting from appending a ':' to the format. e.g. \fB-Tpng:\fP
168 The first plugin listed is always the default.
169 .P
170 The \fB\-P\fP switch can be used to produce a graph of all output variants supported by plugins in the local installation of graphviz.
171 .SH GRAPH FILE LANGUAGE
172 Here is a synopsis of the graph file language, traditionally using the extension \fB.dot\fR, for graphs:
173 .PP
174 [\fBstrict\fR] (\fBgraph\fR|\fBdigraph\fR) \fIname\fP { \fIstatement\(hylist\fP }\fR
175 .br
176 Is the top level graph. If the graph is \fBstrict\fR then multiple edges are
177 not allowed between the same pairs of nodes.
178 If it is a directed graph, indicated by \fBdigraph\fR,
179 then the \fIedgeop\fR must be "\->". If it is an undirected \fBgraph\fR
180 then the \fIedgeop\fR must be "\-\-".
181 Statements may be:
182 .PP
183 \fIname\fB=\fIval\fB;\fR
184 .br
185 \fBnode [\fIname\fB=\fIval\fB];\fR
186 .br
187 \fBedge [\fIname\fB=\fIval\fB];\fR
188 .br
189 Set default graph, node, or edge attribute \fIname\fP to \fIval\fP.
190 Any subgraph, node, or edge appearing after this inherits the new
191 default attributes.
192 .PP
193 \fBn0 [\fIname0=val0,name1=val1,...\fB];\fR
194 Creates node \fBn0\fP (if it does not already exist)
195 and sets its attributes according to the optional list.
196 .PP
197 \fBn0 \fIedgeop\fR n1 \fIedgeop\fR \fI...\fB \fIedgeop\fR nn [\fIname0=val0,name1=val1,...\fB];\fR
198 .br
199 Creates edges between nodes \fBn0\fP, \fBn1\fP, ..., \fBnn\fP and sets
200 their attributes according to the optional list.
201 Creates nodes as necessary.
202 .PP
203 [\fBsubgraph \fIname\fB] { \fIstatement\(hylist \fB}\fR
204 .br
205 Creates a subgraph. Subgraphs may be used in place
206 of \fBn0\fP, ..., \fBnn\fP in the above statements to create edges.
207 [\fBsubgraph \fIname\fR] is optional;
208 if missing, the subgraph is assigned an internal name.
209 .PP
210 Comments may be /*C\(hylike*/ or //C++\(hylike.
211
212 .PP
213 Attribute names and values are ordinary (C\(hystyle) strings.
214 The following sections describe attributes that control graph layout.
215
216 .SH "GRAPH ATTRIBUTES"
217 .PP
218 \fBsize="\fIx,y\fP"\fR sets bounding box of drawing in inches.
219 .PP
220 \fBpage="\fIx,y\fP"\fR sets the PostScript pagination unit.
221 .PP
222 \fBratio=\fIf\fR sets the aspect ratio to \fIf\fP which may be
223 a floating point number, or one of the keywords \fBfill\fP,
224 \fBcompress\fP, or \fBauto\fP.
225 .PP
226 \fBlayout=\fIengine\fR indicates the preferred layout engine ("dot", "neato", fdp" etc) overriding the default from the basename of the command or the -K commandline option.
227 .PP
228 \fBmargin=\fIf\fR sets the page margin (included in the page size).
229 .PP
230 \fBnodesep=\fIf\fR sets the minimum separation between nodes.
231 .PP
232 \fBranksep=\fIf\fR sets the minimum separation between ranks.
233 .PP
234 \fBordering=out\fR constrains order of out\(hyedges in a subgraph
235 according to their file sequence.
236 .PP
237 \fBrankdir=LR|RL|BT\fR requests a left\(hyto\(hyright, right\(hyto\(hyleft, or bottom\(hyto\(hytop, drawing.
238 .PP
239 \fBpagedir=\fR[TBLR][TBLR] sets the major and minor order of pagination.
240 .PP
241 \fBrank=same\fR (or \fBmin\fP or \fBmax\fP) in a subgraph
242 constrains the rank assignment of its nodes. If a subgraph's
243 name has the prefix \fBcluster\fP, its nodes are drawn in
244 a distinct rectangle of the layout. Clusters may be nested.
245 .PP
246 \fBrotate=90\fR sets landscape mode.
247 (\fBorientation=land\fR is backward compatible but obsolete.)
248 .PP
249 \fBcenter=\fIn\fR a non\(hyzero value centers the drawing on the page.
250 .PP
251 \fBnslimit=\fIf\fR or \fBmclimit=\fIf\fR adjusts the bound on the
252 number of network simplex or mincross iterations by the given ratio.
253 For example, \fBmclimit=2.0\fP runs twice as long.
254 .PP
255 \fBlayers="\fIid:id:id:id\fR" is a sequence of layer identifiers for
256 overlay diagrams. The PostScript array variable \fIlayercolorseq\fR
257 sets the assignment of colors to layers. The least index is 1 and
258 each element must be a 3\(hyelement array to be interpreted as a color coordinate.
259 .PP
260 \fBcolor=\fIcolorvalue\fR sets foreground color (\fBbgcolor\fP for background).
261 .PP
262 \fBhref=\fI"url"\fR the default url for image map files; in PostScript files,
263 the base URL for all relative URLs, as recognized by Acrobat Distiller
264 3.0 and up.
265 .PP
266 \fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
267 .PP
268 \fBstylesheet=\fI"file.css"\fR includes a reference to a stylesheet
269 in \-Tsvg and \-Tsvgz outputs. Ignored by other formats.
270 .PP
271 \fBsplines\fR. If set to \fItrue\fR, edges are
272 drawn as splines.
273 If set to \fIpolyline\fR, edges are
274 drawn as polylines.
275 If set to \fIortho\fR, edges are
276 drawn as orthogonal polylines.
277 In all of these cases, the nodes may not overlap.
278 If \fBsplines=\fIfalse\fR or \fBsplines=\fIline\fR, edges are
279 drawn as line segments.
280 The default is \fItrue\fR for dot, and \fIfalse\fR for all other layouts.
281
282 .PP
283 \fB(neato\(hyspecific attributes)\fR
284 .br
285 \fBstart=\fIval\fR. Requests random initial placement and seeds
286 the random number generator. If \fIval\fP is not an integer,
287 the process ID or current time is used as the seed.
288 .PP
289 \fBepsilon=\fIn\fR. Sets the cutoff for the solver.
290 The default is 0.1.
291
292 .PP
293 \fB(twopi\(hyspecific attributes)\fR
294 .br
295 \fBroot=\fIctr\fR. This specifies the node to be used as the center of
296 the layout. If not specified, \fItwopi\fP will randomly pick one of the
297 nodes that are furthest from a leaf node, where a leaf node is a node
298 of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.
299 .PP
300 \fBranksep=\fIval\fR. Specifies the radial distance in inches between
301 the sequence of rings. The default is 0.75.
302 .PP
303 \fBoverlap=\fImode\fR. This specifies what \fItwopi\fP should do if
304 any nodes overlap. If mode is \fI"false"\fP, the program uses Voronoi
305 diagrams to adjust the nodes to eliminate overlaps. If mode is \fI"scale"\fP,
306 the layout is uniformly scaled up, preserving node sizes, until nodes no
307 longer overlap. The latter technique removes overlaps while preserving
308 symmetry and structure, while the former removes overlaps more compactly
309 but destroys symmetries.
310 If mode is \fI"true"\fP (the default), no repositioning is done.
311
312 .PP
313 \fB(circo\(hyspecific attributes)\fR
314 .br
315 \fBroot=\fInodename\fR. Specifies the name of a node occurring in the
316 root block. If the graph is disconnected, the \fBroot\fP node attribute
317 can be used to specify additional root blocks.
318 .PP
319 \fBmindist=\fIvalue\fR. Sets the minimum separation between all nodes. If not
320 specified then \fIcirco\fP uses a default value of 1.0.
321
322 .PP
323 \fB(fdp\(hyspecific attributes)\fR
324 .br
325 \fBK=\fIval\fR. Sets the default ideal node separation
326 in the layout.
327 .PP
328 \fBmaxiter=\fIval\fR. Sets the maximum number of iterations used to
329 layout the graph.
330 .PP
331 \fBstart=\fIval\fR. Adjusts the random initial placement of nodes
332 with no specified position. If \fIval\fP is is an integer,
333 it is used as the seed for the random number generator.
334 If \fIval\fP is not an integer, a random system\(hygenerated integer,
335 such as the process ID or current time, is used as the seed.
336 .PP
337
338 .SH "NODE ATTRIBUTES"
339 .PP
340 \fBheight=\fId\fR or \fBwidth=\fId\fR sets minimum height or width.
341 Adding \fBfixedsize=true\fP forces these to be the actual size
342 (text labels are ignored).
343 .PP
344 \fBshape=record polygon epsf \fIbuiltin_polygon\fR
345 .br
346 \fIbuiltin_polygon\fR is one of: \fBplaintext ellipse oval circle egg
347 triangle box diamond trapezium parallelogram house hexagon octagon
348 note tab box3d component.\fR
349 (Polygons are defined or modified by the following node attributes:
350 \fBregular\fR, \fBperipheries\fR, \fBsides\fR, \fBorientation\fR,
351 \fBdistortion\fR and \fBskew\fR.) \fBepsf\fR uses the node's
352 \fBshapefile\fR attribute as the path name of an external
353 EPSF file to be automatically loaded for the node shape.
354 .PP
355 \fBlabel=\fItext\fR where \fItext\fP may include escaped newlines
356 \\\|n, \\\|l, or \\\|r for center, left, and right justified lines.
357 The string '\\N' value will be replaced by the node name.
358 The string '\\G' value will be replaced by the graph name.
359 Record labels may contain recursive box lists delimited by { | }.
360 Port identifiers in labels are set off by angle brackets < >.
361 In the graph file, use colon (such as, \fBnode0:port28\fR).
362 .PP
363 \fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
364 .PP
365 \fBfontname=\fIname\fR sets the label font family name.
366 .PP
367 \fBcolor=\fIcolorvalue\fR sets the outline color, and the default fill color
368 if style=filled and \fBfillcolor\fR is not specified.
369 .PP
370 \fBfillcolor=\fIcolorvalue\fR sets the fill color
371 when style=filled. If not specified, the fillcolor when style=filled defaults
372 to be the same as the outline color.
373 .PP
374 \fBfontcolor=\fIcolorvalue\fR sets the label text color.
375 .PP
376 A \fIcolorvalue\fP may be "\fIh,s,v\fB"\fR (hue, saturation, brightness)
377 floating point numbers between 0 and 1, or an X11 color name such as
378 \fBwhite black red green blue yellow magenta cyan\fR or \fBburlywood\fR,
379 or a "\fI#rrggbb" (red, green, blue, 2 hex characters each) value.
380 .PP
381 \fBstyle=filled solid dashed dotted bold invis\fP or any Postscript code.
382 .PP
383 \fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the node's active layers.
384 The empty string means no layers (invisible).
385 .PP
386 The following attributes apply only to polygon shape nodes:
387 .PP
388 \fBregular=\fIn\fR if \fIn\fR is non\(hyzero then the polygon is made
389 regular, i.e. symmetric about the x and y axis, otherwise the
390 polygon takes on the aspect ratio of the label.
391 \fIbuiltin_polygons\fR that are not already regular are made regular
392 by this attribute.
393 \fIbuiltin_polygons\fR that are already regular are not affected (i.e.
394 they cannot be made asymmetric).
395 .PP
396 \fBperipheries=\fIn\fR sets the number of periphery lines drawn around
397 the polygon. This value supersedes the number of periphery lines
398 of \fIbuiltin_polygons\fR.
399 .PP
400 \fBsides=\fIn\fR sets the number of sides to the polygon. \fIn\fR<3
401 results in an ellipse.
402 This attribute is ignored by \fIbuiltin_polygons\fR.
403 .PP
404 \fBorientation=\fIf\fR sets the orientation of the first apex of the
405 polygon counterclockwise from the vertical, in degrees.
406 \fIf\fR may be a floating point number.
407 The orientation of labels is not affected by this attribute.
408 This attribute is added to the initial orientation of \fIbuiltin_polygons.\fR
409 .PP
410 \fBdistortion=\fIf\fR sets the amount of broadening of the top and
411 narrowing of the bottom of the polygon (relative to its orientation).
412 Floating point values between \-1 and +1 are suggested.
413 This attribute is ignored by \fIbuiltin_polygons\fR.
414 .PP
415 \fBskew=\fIf\fR sets the amount of right\(hydisplacement of the top and
416 left\(hydisplacement of the bottom of the polygon (relative to its
417 orientation).
418 Floating point values between \-1 and +1 are suggested.
419 This attribute is ignored by \fIbuiltin_polygons\fR.
420 .PP
421 \fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
422 files.
423 The substrings '\\N' and '\\G' are substituted in the same manner as
424 for the node label attribute.
425 Additionally the substring '\\L' is substituted with the node label string.
426 .PP
427 \fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
428 .PP
429 \fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
430 and SVG, effective when nodes have a URL.
431 The target string is used to determine which window of the browser is used
432 for the URL. Setting it to "_graphviz" will open a new window if it doesn't
433 already exist, or reuse it if it does.
434 If the target string is empty, the default,
435 then no target attribute is included in the output.
436 The substrings '\\N' and '\\G' are substituted in the same manner as
437 for the node label attribute.
438 Additionally the substring '\\L' is substituted with the node label string.
439 .PP
440 \fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
441 and SVG, effective when nodes have a URL. The tooltip string defaults to be the
442 same as the label string, but this attribute permits nodes without
443 labels to still have tooltips thus permitting denser graphs.
444 The substrings '\\N' and '\\G' are substituted in the same manner as
445 for the node label attribute.
446 Additionally the substring '\\L' is substituted with the node label string.
447
448 .PP
449 \fB(circo\(hyspecific attributes)\fR
450 .br
451 \fBroot=\fItrue/false\fR. This specifies that the block containing the given
452 node be treated as the root of the spanning tree in the layout.
453
454 .PP
455 \fB(fdp\(hyspecific attributes)\fR
456 .br
457 \fBpin=\fIval\fR. If \fIval\fR is "true", the node will remain at
458 its initial position.
459
460 .SH "EDGE ATTRIBUTES"
461 \fBminlen=\fIn\fR where \fIn\fP is an integer factor that applies
462 to the edge length (ranks for normal edges, or minimum node separation
463 for flat edges).
464 .PP
465 \fBweight=\fIn\fR where \fIn\fP is the integer cost of the edge.
466 Values greater than 1 tend to shorten the edge. Weight 0 flat
467 edges are ignored for ordering nodes.
468 .PP
469 \fBlabel=\fItext\fR where \fItext\fR may include escaped newlines
470 \\\|n, \\\|l, or \\\|r for centered, left, or right justified lines.
471 If the substring '\\T' is found in a label it will be replaced by the tail_node name.
472 If the substring '\\H' is found in a label it will be replaced by the head_node name.
473 If the substring '\\E' value is found in a label it will be replaced by: tail_node_name\->head_node_name
474 If the substring '\\G' is found in a label it will be replaced by the graph name.
475 or by: tail_node_name\-\-head_node_name for undirected graphs.
476 .PP
477 \fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
478 .PP
479 \fBfontname=\fIname\fR sets the label font family name.
480 .PP
481 \fBfontcolor=\fIcolorvalue\fR sets the label text color.
482 .PP
483 \fBstyle=solid dashed dotted bold invis\fP
484 .PP
485 \fBcolor=\fIcolorvalue\fR sets the line color for edges.
486 .PP
487 \fBcolor=\fIcolorvaluelist\fR a ':' separated list of \fIcolorvalue\fR creates
488 parallel edges, one edge for each color.
489 .PP
490 \fBdir=forward back both none\fP controls arrow direction.
491 .PP
492 \fBtailclip,headclip=false\fP disables endpoint shape clipping.
493 .PP
494 \fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
495 files.
496 The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
497 for the edge label attribute.
498 Additionally the substring '\\L' is substituted with the edge label string.
499 .PP
500 \fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
501 .PP
502 \fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
503 and SVG, effective when edges have a URL.
504 If the target string is empty, the default,
505 then no target attribute is included in the output.
506 The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
507 for the edge label attribute.
508 Additionally the substring '\\L' is substituted with the edge label string.
509 .PP
510 \fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
511 effective when edges have a URL. The tooltip string defaults to be the
512 same as the edge label string.
513 The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
514 for the edge label attribute.
515 Additionally the substring '\\L' is substituted with the edge label string.
516 .PP
517 \fBarrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot,
518 tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow\fP.
519 .PP
520 \fBarrowsize\fP (norm_length=10,norm_width=5,
521 inv_length=6,inv_width=7,dot_radius=2)
522 .PP
523 \fBheadlabel,taillabel=string\fP for port labels.
524 \fBlabelfontcolor\fP,\fBlabelfontname\fP,\fBlabelfontsize\fP
525 for head and tail labels.
526 The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
527 for the edge label attribute.
528 Additionally the substring '\\L' is substituted with the edge label string.
529 .PP
530 \fBheadhref=\fI"url"\fR sets the url for the head port in imagemap, PostScript and SVG files.
531 The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
532 for the edge label attribute.
533 Additionally the substring '\\L' is substituted with the edge label string.
534 .PP
535 \fBheadURL=\fI"url"\fR ("headURL" is a synonym for "headhref".)
536 .PP
537 \fBheadtarget=\fI"headtarget"\fR is a target string for client\(hyside imagemaps
538 and SVG, effective when edge heads have a URL.
539 The headtarget string is used to determine which window of the browser is used
540 for the URL. If the headtarget string is empty, the default,
541 then headtarget defaults to the same value as target for the edge.
542 The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
543 for the edge label attribute.
544 Additionally the substring '\\L' is substituted with the edge label string.
545 .PP
546 \fBheadtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
547 effective when head ports have a URL. The tooltip string defaults to be the
548 same as the headlabel string.
549 The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
550 for the edge label attribute.
551 Additionally the substring '\\L' is substituted with the edge label string.
552 .PP
553 \fBtailhref=\fI"url"\fR sets the url for the tail port in imagemap, PostScript and SVG files.
554 The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
555 for the edge label attribute.
556 Additionally the substring '\\L' is substituted with the edge label string.
557 .PP
558 \fBtailURL=\fI"url"\fR ("tailURL" is a synonym for "tailhref".)
559 .PP
560 \fBtailtarget=\fI"tailtarget"\fR is a target string for client\(hyside imagemaps
561 and SVG, effective when edge tails have a URL.
562 The tailtarget string is used to determine which window of the browser is used
563 for the URL. If the tailtarget string is empty, the default,
564 then tailtarget defaults to the same value as target for the edge.
565 The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
566 for the edge label attribute.
567 Additionally the substring '\\L' is substituted with the edge label string.
568 .PP
569 \fBtailtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
570 effective when tail ports have a URL. The tooltip string defaults to be the
571 same as the taillabel string.
572 The substrings '\\T', '\\H', '\\E' and '\\G' are substituted in the same manner as
573 for the edge label attribute.
574 Additionally the substring '\\L' is substituted with the edge label string.
575 .PP
576 \fBlabeldistance\fP and \fPport_label_distance\fP set distance; also
577 \fBlabelangle\fP (in degrees CCW)
578 .PP
579 \fBdecorate\fP draws line from edge to label.
580 .PP
581 \fBsamehead,sametail\fP aim edges having the same value to the
582 same port, using the average landing point.
583 .PP
584 \fBconstraint=false\fP causes an edge to be ignored for rank assignment.
585 .PP
586 \fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the edge's active layers.
587 The empty string means no layers (invisible).
588
589 .PP
590 \fB(neato\(hyspecific attributes)\fR
591 .br
592 \fBw=\fIf\fR sets the weight (spring constant) of an edge
593 to the given floating point value. The default is 1.0;
594 greater values make the edge tend more toward its optimal length.
595 .PP
596 \fBlen=\fIf\fR sets the optimal length of an edge.
597 The default is 1.0.
598 .PP
599 \fB(fdp\(hyspecific attributes)\fR
600 .br
601 \fBweight=\fIf\fR sets the weight of an edge
602 to the given floating point value. The default is 1.0;
603 greater values make the edge tend more toward its optimal length.
604 .SH "COMMAND LINE OPTIONS"
605 \fB\-G\fP sets a default graph attribute.
606 .br
607 \fB\-N\fP sets a default node attribute.
608 .br
609 \fB\-E\fP sets a default edge attribute.
610 Example: \fB\-Gsize="7,8" \-Nshape=box \-Efontsize=8\fR
611 .PP
612 \fB\-l\fIfile\fR loads custom PostScript library files.
613 Usually these define custom shapes or styles.
614 If \fB\-l\fP is given by itself, the standard library is omitted.
615 .PP
616 \fB\-T\fIlang\fR sets the output language as described above.
617
618 .PP
619 \fB\-n\fR[\fB1\fR|\fB2\fR] (no\(hyop)
620 If set, neato assumes nodes have already been positioned and all
621 nodes have a pos attribute giving the positions.
622 It then performs an optional adjustment to remove node\(hynode overlap,
623 depending on the value of the overlap attribute,
624 computes the edge layouts, depending on the value of the \fBsplines\fR attribute,
625 and emits the graph in the appropriate format.
626 If num is supplied, the following actions occur:
627 .nf
628 num = 1
629 .fi
630 Equivalent to \-n.
631 .nf
632 num > 1
633 .fi
634 Use node positions as specified,
635 with no adjustment to remove node\(hynode overlaps,
636 and use any edge layouts already specified by the pos attribute.
637 neato computes an edge layout for any edge that does not have a pos attribute.
638 As usual, edge layout is guided by the \fBsplines\fR attribute.
639 .PP
640 \fB\-K\fIlayout\fR override the default layout engine implied by the command name.
641 .PP
642 \fB\-O\fP automatically generate output filenames based on the input filename and the -T format.
643 .PP
644 \fB\-P\fP generate a graph of the currently available plugins.
645 .PP
646 \fB\-v\fP (verbose) prints various information useful for debugging.
647 .PP
648 \fB\-V\fP (version) prints version information and exits.
649 .PP
650 \fB\-?\fP prints the usage and exits.
651 .SH "EXAMPLES"
652 .nf
653 digraph test123 {
654 a \-> b \-> c;
655 a \-> {x y};
656 b [shape=box];
657 c [label="hello\\\|nworld",color=blue,fontsize=24,
658 fontname="Palatino\-Italic",fontcolor=red,style=filled];
659 a \-> z [label="hi", weight=100];
660 x \-> z [label="multi\-line\\\|nlabel"];
661 edge [style=dashed,color=red];
662 b \-> x;
663 {rank=same; b x}
664 }
665 .fi
666 .PP
667 .nf
668 graph test123 {
669 a \-\- b \-\- c;
670 a \-\- {x y};
671 x \-\- c [w=10.0];
672 x \-\- y [w=5.0,len=3];
673 }
674 .fi
675 .SH "CAVEATS"
676 Edge splines can overlap unintentionally.
677 .PP
678 Flat edge labels are slightly broken.
679 Intercluster edge labels are totally broken.
680 .PP
681 Because unconstrained optimization is employed, node boxes can
682 possibly overlap or touch unrelated edges. All existing
683 spring embedders seem to have this limitation.
684 .PP
685 Apparently reasonable attempts to pin nodes or adjust edge lengths
686 and weights can cause instability.
687 .SH AUTHORS
688 Stephen C. North <north@research.att.com>
689 .br
690 Emden R. Gansner <erg@research.att.com>
691 .br
692 John C. Ellson <ellson@research.att.com>
693 .PP
694 The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>
695 .PP
696 The Truetype font renderer is from
697 the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg)
698 (who can be contacted at freetype\-devel@lists.lrz\-muenchen.de).
699 .SH "SEE ALSO"
700 This man page contains only a small amount of the information related
701 to the Graphviz layout programs. The most complete information can be
702 found at http://www.graphviz.org/Documentation.php, especially in the
703 on\(hyline reference pages. Most of these documents are also available in the
704 \fIdoc\fP and \fIdoc/info\fP subtrees in the source and binary distributions.
705 .PP
706 dotty(1)
707 .br
708 tcldot(n)
709 .br
710 xcolors(1)
711 .br
712 libgraph(3)
713 .PP
714 E. R. Gansner, S. C. North, K. P. Vo, "DAG \(hy A Program to Draw Directed Graphs", Software \(hy Practice and Experience 17(1), 1988, pp. 1047\(hy1062.
715 .br
716 E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, "A Technique for Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214\(hy230.
717 .br
718 S. North and E. Koutsofios, "Applications of graph visualization",
719 Graphics Interface 94, pp. 234\(hy245.
720 .br
721 E. Koutsofios and S. C. North, "Drawing Graphs with dot,"
722 Available on research.att.com in dist/drawdag/dotguide.ps.Z.
723 .br
724 S. C. North, "NEATO User's Manual".
725 Available on research.att.com in dist/drawdag/neatodoc.ps.Z.