<TR><TD><A NAME=a:Damping HREF=#d:Damping>Damping</A>
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.99</TD><TD>0.0</TD><TD>neato only</TD> </TR>
<TR><TD><A NAME=a:K HREF=#d:K>K</A>
-</TD><TD>GC</TD><TD>double</TD><TD ALIGN="CENTER">0.3</TD><TD>0</TD><TD>fdp only</TD> </TR>
+</TD><TD>GC</TD><TD>double</TD><TD ALIGN="CENTER">0.3</TD><TD>0</TD><TD>sfdp, fdp only</TD> </TR>
<TR><TD><A NAME=a:URL HREF=#d:URL>URL</A>
</TD><TD>ENGC</TD><TD><A HREF=#k:lblString>lblString</A>
</TD><TD ALIGN="CENTER"><none></TD><TD></TD><TD>svg, postscript, map only</TD> </TR>
<TR><TD><A NAME=a:defaultdist HREF=#d:defaultdist>defaultdist</A>
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1+(avg. len)*sqrt(|V|)</TD><TD>epsilon</TD><TD>neato only</TD> </TR>
<TR><TD><A NAME=a:dim HREF=#d:dim>dim</A>
-</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">2</TD><TD>2</TD><TD>fdp, neato only</TD> </TR>
+</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">2</TD><TD>2</TD><TD>sfdp, fdp, neato only</TD> </TR>
<TR><TD><A NAME=a:dimen HREF=#d:dimen>dimen</A>
-</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">2</TD><TD>2</TD><TD>fdp, neato only</TD> </TR>
+</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">2</TD><TD>2</TD><TD>sfdp, fdp, neato only</TD> </TR>
<TR><TD><A NAME=a:dir HREF=#d:dir>dir</A>
</TD><TD>E</TD><TD><A HREF=#k:dirType>dirType</A>
</TD><TD ALIGN="CENTER">forward(directed)<BR>none(undirected)</TD><TD></TD><TD></TD> </TR>
</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">" :\t"</TD><TD></TD><TD></TD> </TR>
<TR><TD><A NAME=a:len HREF=#d:len>len</A>
</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0(neato)<BR>0.3(fdp)</TD><TD></TD><TD>fdp, neato only</TD> </TR>
+ <TR><TD><A NAME=a:levels HREF=#d:levels>levels</A>
+</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">MAXINT</TD><TD>0.0</TD><TD>sfdp only</TD> </TR>
<TR><TD><A NAME=a:levelsgap HREF=#d:levelsgap>levelsgap</A>
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD></TD><TD>neato only</TD> </TR>
<TR><TD><A NAME=a:lhead HREF=#d:lhead>lhead</A>
</TD><TD>EN</TD><TD><A HREF=#k:point>point</A>
<BR><A HREF=#k:splineType>splineType</A>
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:quadtree HREF=#d:quadtree>quadtree</A>
+</TD><TD>G</TD><TD><A HREF=#k:quadType>quadType</A>
+<BR><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">"normal"</TD><TD></TD><TD>sfdp only</TD> </TR>
<TR><TD><A NAME=a:quantum HREF=#d:quantum>quantum</A>
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>0.0</TD><TD></TD> </TR>
<TR><TD><A NAME=a:rank HREF=#d:rank>rank</A>
<TR><TD><A NAME=a:remincross HREF=#d:remincross>remincross</A>
</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:repulsiveforce HREF=#d:repulsiveforce>repulsiveforce</A>
+</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD>sfdp only</TD> </TR>
<TR><TD><A NAME=a:resolution HREF=#d:resolution>resolution</A>
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">96.0<BR>0.0</TD><TD></TD><TD>svg, bitmap output only</TD> </TR>
<TR><TD><A NAME=a:root HREF=#d:root>root</A>
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
<TR><TD><A NAME=a:skew HREF=#d:skew>skew</A>
</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>-100.0</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:smoothing HREF=#d:smoothing>smoothing</A>
+</TD><TD>G</TD><TD><A HREF=#k:smoothType>smoothType</A>
+</TD><TD ALIGN="CENTER">"none"</TD><TD></TD><TD>sfdp only</TD> </TR>
<TR><TD><A NAME=a:splines HREF=#d:splines>splines</A>
</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
<BR>string</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
<TR><TD><A NAME=a:voro_margin HREF=#d:voro_margin>voro_margin</A>
</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.05</TD><TD>0.0</TD><TD>not dot</TD> </TR>
<TR><TD><A NAME=a:weight HREF=#d:weight>weight</A>
-</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0(dot)<BR>1(neato)</TD><TD></TD> </TR>
+</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0(dot)<BR>1(neato,fdp,sfdp)</TD><TD></TD> </TR>
<TR><TD><A NAME=a:width HREF=#d:width>width</A>
</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.75</TD><TD>0.01</TD><TD></TD> </TR>
<TR><TD><A NAME=a:z HREF=#d:z>z</A>
<DT><A NAME=d:len HREF=#a:len><STRONG>len</STRONG></A>
<DD> Preferred edge length, in inches.
+<DT><A NAME=d:levels HREF=#a:levels><STRONG>levels</STRONG></A>
+<DD> Number of levels allowed in the multilevel scheme.
+
<DT><A NAME=d:levelsgap HREF=#a:levelsgap><STRONG>levelsgap</STRONG></A>
<DD> Specifies strictness of level constraints in neato
when <TT><A HREF=#d:mode>mode</A>="ipsep" or "hier"</TT>.
For nodes, the position indicates the center of the node.
On output, the coordinates are in <A HREF=#points>points</A>.
<P>
- In neato and fdp, pos can be used to set the initial position of a node.
- By default, the coordinates are assumed to be in inches. However, the
+ In neato, fdp and sfdp, pos can be used to set the initial position of a node.
+ By default, the coordinates are assumed to be in points. However, the
<A HREF=command.html#d:s>-s</A> command line flag can be used to specify
different units.
<P>
input correctly without requiring a <TT>-s</TT> flag and, in fact,
ignores any such flag.
+<DT><A NAME=d:quadtree HREF=#a:quadtree><STRONG>quadtree</STRONG></A>
+<DD> Quadtree scheme to use.
+ <P>
+ A TRUE bool value corresponds to "normal";
+ a FALSE bool value corresponds to "none".
+ As a slight exception to the normal interpretation of bool,
+ a value of "2" corresponds to "fast".
+
<DT><A NAME=d:quantum HREF=#a:quantum><STRONG>quantum</STRONG></A>
<DD> If <B>quantum</B> > 0.0, node label dimensions
will be rounded to integral multiples of the quantum.
<DD> If true and there are multiple clusters, run cross
minimization a second time.
+<DT><A NAME=d:repulsiveforce HREF=#a:repulsiveforce><STRONG>repulsiveforce</STRONG></A>
+<DD> The power of the repulsive force used in an extended Fruchterman-Reingold
+ force directed model. Values larger than 1 tend to reduce
+ the warping effect at the expense of less clustering.
+
<DT><A NAME=d:resolution HREF=#a:resolution><STRONG>resolution</STRONG></A>
<DD> This is a synonym for the <A HREF=#d:dpi>dpi</A> attribute.
<DD> Skew factor for <A HREF=#d:shape><B>shape</B></A>=polygon. Positive values
skew top of polygon to right; negative to left.
+<DT><A NAME=d:smoothing HREF=#a:smoothing><STRONG>smoothing</STRONG></A>
+<DD> Specifies a post-processing step used to smooth out an uneven distribution
+ of nodes.
+
<DT><A NAME=d:splines HREF=#a:splines><STRONG>splines</STRONG></A>
<DD> Controls how, and if, edges are represented. If true, edges are drawn as
splines routed around nodes; if false, edges are drawn as line segments.
<DT><A NAME=d:weight HREF=#a:weight><STRONG>weight</STRONG></A>
<DD> Weight of edge. In dot, the heavier the weight, the shorter,
- straighter and more vertical the edge is. In neato, the heavier the
- weight, the more neato will try to place the end points so that the
- length of the edge is <A HREF=#d:len>len</A>.
+ straighter and more vertical the edge is.
<DT><A NAME=d:width HREF=#a:width><STRONG>width</STRONG></A>
<DD> Width of node, in inches. This is taken as the initial, minimum width
At present, in this case, there is no way to specify that the compass
point should be used.
+<DT><A NAME=k:quadType><STRONG>quadType</STRONG></A>
+<DD>"normal", "fast", "none".
+ <P>
+ Using "fast" gives about a 2-4 times overall speedup compared with "normal",
+ though layout quality can suffer a little.
+
<DT><A NAME=k:rankType><STRONG>rankType</STRONG></A>
<DD>"same", "min", "source", "max", "sink"
<A HREF=shapes.html#record>record-based</A> and
<A HREF=shapes.html#epsf>user-defined</A>.
+<DT><A NAME=k:smoothType><STRONG>smoothType</STRONG></A>
+<DD>Values are "none", "avg_dist", "graph_dist", "power_dist", "rng",
+ "spring" and "triangle".
+
<DT><A NAME=k:splineType><STRONG>splineType</STRONG></A>
<DD>spline ( ';' spline )*<BR>
<TABLE>
<H2><A NAME=polygon>Polygon-based Nodes</A></H2>
The possible polygon-based shapes are displayed below.
-<TABLE ALIGN="CENTER">
- <TR ALIGN="CENTER">
- <TD><IMG SRC="box.gif"><BR><A NAME="d:box">box</A></TD>
- <TD><IMG SRC="polygon.gif"><BR><A NAME="d:polygon">polygon</A></TD>
- <TD><IMG SRC="ellipse.gif"><BR><A NAME="d:ellipse">ellipse</A></TD>
- <TD><IMG SRC="circle.gif"><BR><A NAME="d:circle">circle</A></TD>
+<TABLE ALIGN=CENTER>
+ <TR ALIGN=CENTER>
+ <TD><IMG SRC=box.gif>
+ <TD><IMG SRC=polygon.gif>
+ <TD><IMG SRC=ellipse.gif>
+ <TD><IMG SRC=circle.gif>
</TR>
- <TR ALIGN="CENTER">
- <TD><IMG SRC="point.gif"><BR><A NAME="d:point">point</A></TD>
- <TD><IMG SRC="egg.gif"><BR><A NAME="d:egg">egg</A></TD>
- <TD><IMG SRC="triangle.gif"><BR><A NAME="d:triangle">triangle</A></TD>
- <TD><IMG SRC="plaintext.gif"><BR><A NAME="d:plaintext">plaintext</A></TD>
+ <TR ALIGN=CENTER>
+ <TD><A NAME=d:box>box</A>
+ <TD><A NAME=d:polygon>polygon</A>
+ <TD><A NAME=d:ellipse>ellipse</A>
+ <TD><A NAME=d:circle>circle</A>
</TR>
- <TR ALIGN="CENTER">
- <TD><IMG SRC="diamond.gif"><BR><A NAME="d:diamond">diamond</A></TD>
- <TD><IMG SRC="trapezium.gif"><BR><A NAME="d:trapezium">trapezium</A></TD>
- <TD><IMG SRC="parallelogram.gif"><BR><A NAME="d:parallelogram">parallelogram</A></TD>
- <TD><IMG SRC="house.gif"><BR><A NAME="d:house">house</A></TD>
+ <TR ALIGN=CENTER>
+ <TD><IMG SRC=point.gif>
+ <TD><IMG SRC=egg.gif>
+ <TD><IMG SRC=triangle.gif>
+ <TD><IMG SRC=plaintext.gif>
</TR>
- <TR ALIGN="CENTER">
- <TD><IMG SRC="pentagon.gif"><BR><A NAME="d:pentagon">pentagon</A></TD>
- <TD><IMG SRC="hexagon.gif"><BR><A NAME="d:hexagon">hexagon</A></TD>
- <TD><IMG SRC="septagon.gif"><BR><A NAME="d:septagon">septagon</A></TD>
- <TD><IMG SRC="octagon.gif"><BR><A NAME="d:octagon">octagon</A></TD>
+ <TR ALIGN=CENTER>
+ <TD><A NAME=d:point>point</A>
+ <TD><A NAME=d:egg>egg</A>
+ <TD><A NAME=d:triangle>triangle</A>
+ <TD><A NAME=d:plaintext>plaintext</A>
</TR>
- <TR ALIGN="CENTER">
- <TD><IMG SRC="doublecircle.gif"><BR><A NAME="d:doublecircle">doublecircle</A></TD>
- <TD><IMG SRC="doubleoctagon.gif"><BR><A NAME="d:doubleoctagon">doubleoctagon</A></TD>
- <TD><IMG SRC="tripleoctagon.gif"><BR><A NAME="d:tripleoctagon">tripleoctagon</A></TD>
- <TD><IMG SRC="invtriangle.gif"><BR><A NAME="d:invtriangle">invtriangle</A></TD>
+ <TR ALIGN=CENTER>
+ <TD><IMG SRC=diamond.gif>
+ <TD><IMG SRC=trapezium.gif>
+ <TD><IMG SRC=parallelogram.gif>
+ <TD><IMG SRC=house.gif>
</TR>
- <TR ALIGN="CENTER">
- <TD><IMG SRC="invtrapezium.gif"><BR><A NAME="d:invtrapezium">invtrapezium</A></TD>
- <TD><IMG SRC="invhouse.gif"><BR><A NAME="d:invhouse">invhouse</A></TD>
- <TD><IMG SRC="Mdiamond.gif"><BR><A NAME="d:Mdiamond">Mdiamond</A></TD>
- <TD><IMG SRC="Msquare.gif"><BR><A NAME="d:Msquare">Msquare</A></TD>
+ <TR ALIGN=CENTER>
+ <TD><A NAME=d:diamond>diamond</A>
+ <TD><A NAME=d:trapezium>trapezium</A>
+ <TD><A NAME=d:parallelogram>parallelogram</A>
+ <TD><A NAME=d:house>house</A>
</TR>
- <TR ALIGN="CENTER">
- <TD><IMG SRC="Mcircle.gif"><BR><A NAME="d:Mcircle">Mcircle</A></TD>
- <TD><IMG SRC="rect.gif"><BR><A NAME="d:rect">rect</A></TD>
- <TD><IMG SRC="rectangle.gif"><BR><A NAME="d:rectangle">rectangle</A></TD>
- <TD><IMG SRC="none.gif"><BR><A NAME="d:none">none</A></TD>
+ <TR ALIGN=CENTER>
+ <TD><IMG SRC=pentagon.gif>
+ <TD><IMG SRC=hexagon.gif>
+ <TD><IMG SRC=septagon.gif>
+ <TD><IMG SRC=octagon.gif>
</TR>
- <TR ALIGN="CENTER">
- <TD><IMG SRC="note.gif"><BR><A NAME="d:note">note</A></TD>
- <TD><IMG SRC="tab.gif"><BR><A NAME="d:tab">tab</A></TD>
- <TD><IMG SRC="folder.gif"><BR><A NAME="d:folder">folder</A></TD>
- <TD><IMG SRC="box3d.gif"><BR><A NAME="d:box3d">box3d</A></TD>
+ <TR ALIGN=CENTER>
+ <TD><A NAME=d:pentagon>pentagon</A>
+ <TD><A NAME=d:hexagon>hexagon</A>
+ <TD><A NAME=d:septagon>septagon</A>
+ <TD><A NAME=d:octagon>octagon</A>
</TR>
- <TR ALIGN="CENTER">
- <TD><IMG SRC="component.gif"><BR><A NAME="d:component">component</A></TD>
+ <TR ALIGN=CENTER>
+ <TD><IMG SRC=doublecircle.gif>
+ <TD><IMG SRC=doubleoctagon.gif>
+ <TD><IMG SRC=tripleoctagon.gif>
+ <TD><IMG SRC=invtriangle.gif>
+ </TR>
+ <TR ALIGN=CENTER>
+ <TD><A NAME=d:doublecircle>doublecircle</A>
+ <TD><A NAME=d:doubleoctagon>doubleoctagon</A>
+ <TD><A NAME=d:tripleoctagon>tripleoctagon</A>
+ <TD><A NAME=d:invtriangle>invtriangle</A>
+ </TR>
+ <TR ALIGN=CENTER>
+ <TD><IMG SRC=invtrapezium.gif>
+ <TD><IMG SRC=invhouse.gif>
+ <TD><IMG SRC=Mdiamond.gif>
+ <TD><IMG SRC=Msquare.gif>
+ </TR>
+ <TR ALIGN=CENTER>
+ <TD><A NAME=d:invtrapezium>invtrapezium</A>
+ <TD><A NAME=d:invhouse>invhouse</A>
+ <TD><A NAME=d:Mdiamond>Mdiamond</A>
+ <TD><A NAME=d:Msquare>Msquare</A>
+ </TR>
+ <TR ALIGN=CENTER>
+ <TD><IMG SRC=Mcircle.gif>
+ <TD><IMG SRC=rect.gif>
+ <TD><IMG SRC=rectangle.gif>
+ <TD><IMG SRC=none.gif>
+ </TR>
+ <TR ALIGN=CENTER>
+ <TD><A NAME=d:Mcircle>Mcircle</A>
+ <TD><A NAME=d:rect>rect</A>
+ <TD><A NAME=d:rectangle>rectangle</A>
+ <TD><A NAME=d:none>none</A>
+ </TR>
+ <TR ALIGN=CENTER>
+ <TD><IMG SRC=note.gif>
+ <TD><IMG SRC=tab.gif>
+ <TD><IMG SRC=folder.gif>
+ <TD><IMG SRC=box3d.gif>
+ </TR>
+ <TR ALIGN=CENTER>
+ <TD><A NAME=d:note>note</A>
+ <TD><A NAME=d:tab>tab</A>
+ <TD><A NAME=d:folder>folder</A>
+ <TD><A NAME=d:box3d>box3d</A>
+ </TR>
+ <TR ALIGN=CENTER>
+ <TD><IMG SRC=component.gif>
+ </TR>
+ <TR ALIGN=CENTER>
+ <TD><A NAME=d:component>component</A>
</TR>
</TABLE>
As the figures suggest, the shapes <TT>rect</TT> and <TT>rectangle</TT> are synonyms for <TT>box</TT>, and <TT>none</TT> is a synonym for <TT>plaintext</TT>.
-Also, unlike the rest, we have shown <TT>none</TT> and <TT>plaintext</TT>
+Also, unlike the rest, we have shown these last two
without <TT>style=filled</TT>
to indicate the normal use. If fill were turned on, the label text would
appear in a filled rectangle.
with different graphical attributes at each level.
<P>
<B>NOTE:</B> The features and syntax supported by these labels are
-modeled by HTML. However, there are many aspects that are relevant
+modeled on HTML. However, there are many aspects that are relevant
to Graphviz labels that are not in HTML and, conversely, HTML allows
various constructs which are meaningless in Graphviz. We will generally
refer to these labels as "HTML labels" rather than the cumbersome
and nonterminals in italics.
Square brackets [ and ] enclose optional items.
Vertical bars | separate alternatives.
-Note that, as in HTML, element and attribute names are case-insensitive
+Note that, as in HTML, element and attribute names are case-insensitive.
(cf. sections 3.2.1 and 3.2.2 of the
<A HREF="http://www.w3.org/TR/html401">HTML 4.01 specification</A>).
-
<TABLE>
<TR>
<TD ALIGN=RIGHT><I>label</I></TD>
BORDER="<I>value</I>"
CELLPADDING="<I>value</I>"
CELLSPACING="<I>value</I>"
- COLSPAN="<I>value</I>"
COLOR="<I>color</I>"
+ COLSPAN="<I>value</I>"
FIXEDSIZE="FALSE|TRUE"
HEIGHT="<I>value</I>"
HREF="<I>value</I>"
<B><I><FONT SIZE=-1>COLOR="color"</FONT></I></B>
<BLOCKQUOTE>
-sets the color of the border within the scope of
+sets the color of the font within the scope of
+<FONT>...</FONT>, or the border color
+of the table or cell within the scope of
<TABLE>...</TABLE>,
or <TD>...</TD>.
This color can be
overridden by a <B><I>COLOR</I></B> attribute in descendents.
-By default, the color is determined by the
-<A HREF="attrs.html#:color">color</A> attribute of
-the corresponding node, edge or graph.
-</BLOCKQUOTE>
-
-<B><I><FONT SIZE=-1>COLOR="color"</FONT></I></B>
-<BLOCKQUOTE>
-sets the color of the font within the scope of
-<FONT>...</FONT>.
-This color can be
-overridden by a <B><I>COLOR</I></B> attribute in descendents.
By default, the font color is determined by the
<A HREF="attrs.html#:fontcolor">fontcolor</A> attribute of
+the corresponding node, edge or graph, and the border color
+is determined by the
+<A HREF="attrs.html#:color">color</A> attribute of
the corresponding node, edge or graph.
</BLOCKQUOTE>
<FONT>...</FONT>.
This can be
overridden by a <B><I>POINT-SIZE</I></B> attribute in descendents.
-By default, the font name is determined by the
+By default, the font size is determined by the
<A HREF="attrs.html#:fontsize">fontsize</A> attribute of the corresponding
node, edge or graph.
</BLOCKQUOTE>