annotate toolboxes/graph_visualisation/share/graphviz/doc/html/info/attrs.html @ 0:e9a9cd732c1e tip

first hg version after svn
author wolffd
date Tue, 10 Feb 2015 15:05:51 +0000
parents
children
rev   line source
wolffd@0 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
wolffd@0 2 <!--
wolffd@0 3 This is a generated document. Do not edit.
wolffd@0 4 -->
wolffd@0 5 <HTML VERSION="2.0">
wolffd@0 6 <HEAD>
wolffd@0 7 <TITLE>Node, Edge and Graph Attributes</TITLE>
wolffd@0 8 </HEAD>
wolffd@0 9 <BODY BGCOLOR=white>
wolffd@0 10 <A NAME="top"></A>
wolffd@0 11 <H1 align=CENTER>Node, Edge and Graph Attributes</H1>
wolffd@0 12 <HR>
wolffd@0 13 The table below describes the attributes used by various Graphviz tools.
wolffd@0 14 The table gives the name of the attribute, the graph components (node,
wolffd@0 15 edge, etc.) which use the attribute and the type of the attribute
wolffd@0 16 (strings representing legal values of that type). Where applicable, the table
wolffd@0 17 also gives a default value for the attribute, a minimum allowed setting
wolffd@0 18 for numeric attributes, and certain restrictions on the use of the attribute.
wolffd@0 19 <P>
wolffd@0 20 All Graphviz attributes are specified by name-value pairs. Thus, to
wolffd@0 21 set the fillcolor of a node <TT>abc</TT>, one would use
wolffd@0 22 <TABLE>
wolffd@0 23 <TR><TD><TT>abc [fillcolor = red]</TT></TR>
wolffd@0 24 </TABLE>
wolffd@0 25 Similarly, to set the arrowhead style of an edge <TT>abc -> def</TT>,
wolffd@0 26 one would use
wolffd@0 27 <TABLE>
wolffd@0 28 <TR><TD><TT>abc -> def [arrowhead = diamond]</TT></TR>
wolffd@0 29 </TABLE>
wolffd@0 30 Further details concerning the setting of attributes can be found
wolffd@0 31 in the description of the
wolffd@0 32 <A HREF="http://www.graphviz.org/doc/info/lang.html">DOT language.</A>
wolffd@0 33 <P>
wolffd@0 34 At present, most device-independent units are either inches or
wolffd@0 35 <A NAME="points"></A>
wolffd@0 36 <A HREF="http://en.wikipedia.org/wiki/Point_(typography)">points</A>,
wolffd@0 37 which we take as 72 points per inch.
wolffd@0 38 <P>
wolffd@0 39 <A NAME=h:undir_note><STRONG>Note:</STRONG></A> Some attributes, such as
wolffd@0 40 <A HREF=#d:dir>dir</A> or <A HREF=#d:arrowtail>arrowtail</A>, are
wolffd@0 41 ambiguous when used in
wolffd@0 42 <A HREF="http://www.graphviz.org/doc/info/lang.html">DOT</A>
wolffd@0 43 with an undirected graph since the head and tail of an edge are meaningless.
wolffd@0 44 As a convention, the first time an undirected edge appears, the
wolffd@0 45 <A HREF="http://www.graphviz.org/doc/info/lang.html">DOT</A>
wolffd@0 46 parser will assign the left node as the tail node and the right node as
wolffd@0 47 the head. For example, the edge <TT>A -- B</TT> will have tail <TT>A</TT>
wolffd@0 48 and head <TT>B</TT>. It is the user's responsibility to handle such
wolffd@0 49 edges consistently. If the edge appears later, in the format
wolffd@0 50 <TABLE>
wolffd@0 51 <TR><TD><TT>B -- A [taillabel = "tail"]</TT></TR>
wolffd@0 52 </TABLE>
wolffd@0 53 the drawing will attach the tail label to node <TT>A</TT>.
wolffd@0 54 To avoid possible confusion when such attributes are required, the user
wolffd@0 55 is encouraged to use a directed graph.
wolffd@0 56 If it is important to make the graph appear undirected, this can be
wolffd@0 57 done using the <A HREF=#d:dir>dir</A>, <A HREF=#d:arrowtail>arrowtail</A>
wolffd@0 58 or <A HREF=#d:arrowhead>arrowhead</A> attributes.
wolffd@0 59 <P>
wolffd@0 60 The tools accept standard C representations for <EM>int</EM> and
wolffd@0 61 <EM>double</EM> types.
wolffd@0 62 For the <A NAME=k:bool><EM>bool</EM></A> type, TRUE values are
wolffd@0 63 represented by "true" (case-insensitive)
wolffd@0 64 and any non-zero integer, and FALSE values by "false" (case-insensitive)
wolffd@0 65 and zero.
wolffd@0 66 In addition, there are a variety of specialized types such as
wolffd@0 67 <EM>arrowType</EM>, <EM>color</EM>,
wolffd@0 68 <EM>pointf</EM> and <EM>rankdir</EM>. Legal values for these types are given
wolffd@0 69 at the end.
wolffd@0 70 <P>
wolffd@0 71 In the <A NAME=h:uses><STRONG>Used By</STRONG></A> field, the
wolffd@0 72 characters E, N, G, S and C
wolffd@0 73 represent edges, nodes, the root graph, subgraphs
wolffd@0 74 and cluster subgraphs, respectively.
wolffd@0 75 This field indicates which graph component uses the attribute.
wolffd@0 76 <HR ALIGN=CENTER WIDTH="70%" SIZE=3>
wolffd@0 77 <TABLE ALIGN=CENTER>
wolffd@0 78 <TR><TH>Name</TH><TH><A HREF=#h:uses>Used By</A></TH><TH>Type</TH><TH>Default</TH><TH>Minimum</TH><TH>Notes</TH></TR>
wolffd@0 79 <TR><TD><A NAME=a:Damping HREF=#d:Damping>Damping</A>
wolffd@0 80 </TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.99</TD><TD>0.0</TD><TD>neato only</TD> </TR>
wolffd@0 81 <TR><TD><A NAME=a:K HREF=#d:K>K</A>
wolffd@0 82 </TD><TD>GC</TD><TD>double</TD><TD ALIGN="CENTER">0.3</TD><TD>0</TD><TD>sfdp, fdp only</TD> </TR>
wolffd@0 83 <TR><TD><A NAME=a:URL HREF=#d:URL>URL</A>
wolffd@0 84 </TD><TD>ENGC</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 85 </TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, postscript, map only</TD> </TR>
wolffd@0 86 <TR><TD><A NAME=a:arrowhead HREF=#d:arrowhead>arrowhead</A>
wolffd@0 87 </TD><TD>E</TD><TD><A HREF=#k:arrowType>arrowType</A>
wolffd@0 88 </TD><TD ALIGN="CENTER">normal</TD><TD></TD><TD></TD> </TR>
wolffd@0 89 <TR><TD><A NAME=a:arrowsize HREF=#d:arrowsize>arrowsize</A>
wolffd@0 90 </TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD></TD> </TR>
wolffd@0 91 <TR><TD><A NAME=a:arrowtail HREF=#d:arrowtail>arrowtail</A>
wolffd@0 92 </TD><TD>E</TD><TD><A HREF=#k:arrowType>arrowType</A>
wolffd@0 93 </TD><TD ALIGN="CENTER">normal</TD><TD></TD><TD></TD> </TR>
wolffd@0 94 <TR><TD><A NAME=a:aspect HREF=#d:aspect>aspect</A>
wolffd@0 95 </TD><TD>G</TD><TD><A HREF=#k:aspectType>aspectType</A>
wolffd@0 96 </TD><TD ALIGN="CENTER"></TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 97 <TR><TD><A NAME=a:bb HREF=#d:bb>bb</A>
wolffd@0 98 </TD><TD>G</TD><TD><A HREF=#k:rect>rect</A>
wolffd@0 99 </TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
wolffd@0 100 <TR><TD><A NAME=a:bgcolor HREF=#d:bgcolor>bgcolor</A>
wolffd@0 101 </TD><TD>GC</TD><TD><A HREF=#k:color>color</A>
wolffd@0 102 </TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD></TD> </TR>
wolffd@0 103 <TR><TD><A NAME=a:center HREF=#d:center>center</A>
wolffd@0 104 </TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 105 </TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
wolffd@0 106 <TR><TD><A NAME=a:charset HREF=#d:charset>charset</A>
wolffd@0 107 </TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">"UTF-8"</TD><TD></TD><TD></TD> </TR>
wolffd@0 108 <TR><TD><A NAME=a:clusterrank HREF=#d:clusterrank>clusterrank</A>
wolffd@0 109 </TD><TD>G</TD><TD><A HREF=#k:clusterMode>clusterMode</A>
wolffd@0 110 </TD><TD ALIGN="CENTER">local</TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 111 <TR><TD><A NAME=a:color HREF=#d:color>color</A>
wolffd@0 112 </TD><TD>ENC</TD><TD><A HREF=#k:color>color</A>
wolffd@0 113 <BR><A HREF=#k:colorList>colorList</A>
wolffd@0 114 </TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
wolffd@0 115 <TR><TD><A NAME=a:colorscheme HREF=#d:colorscheme>colorscheme</A>
wolffd@0 116 </TD><TD>ENCG</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
wolffd@0 117 <TR><TD><A NAME=a:comment HREF=#d:comment>comment</A>
wolffd@0 118 </TD><TD>ENG</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
wolffd@0 119 <TR><TD><A NAME=a:compound HREF=#d:compound>compound</A>
wolffd@0 120 </TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 121 </TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 122 <TR><TD><A NAME=a:concentrate HREF=#d:concentrate>concentrate</A>
wolffd@0 123 </TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 124 </TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
wolffd@0 125 <TR><TD><A NAME=a:constraint HREF=#d:constraint>constraint</A>
wolffd@0 126 </TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 127 </TD><TD ALIGN="CENTER">true</TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 128 <TR><TD><A NAME=a:decorate HREF=#d:decorate>decorate</A>
wolffd@0 129 </TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 130 </TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
wolffd@0 131 <TR><TD><A NAME=a:defaultdist HREF=#d:defaultdist>defaultdist</A>
wolffd@0 132 </TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1+(avg. len)*sqrt(|V|)</TD><TD>epsilon</TD><TD>neato only</TD> </TR>
wolffd@0 133 <TR><TD><A NAME=a:dim HREF=#d:dim>dim</A>
wolffd@0 134 </TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">2</TD><TD>2</TD><TD>sfdp, fdp, neato only</TD> </TR>
wolffd@0 135 <TR><TD><A NAME=a:dimen HREF=#d:dimen>dimen</A>
wolffd@0 136 </TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">2</TD><TD>2</TD><TD>sfdp, fdp, neato only</TD> </TR>
wolffd@0 137 <TR><TD><A NAME=a:dir HREF=#d:dir>dir</A>
wolffd@0 138 </TD><TD>E</TD><TD><A HREF=#k:dirType>dirType</A>
wolffd@0 139 </TD><TD ALIGN="CENTER">forward(directed)<BR>none(undirected)</TD><TD></TD><TD></TD> </TR>
wolffd@0 140 <TR><TD><A NAME=a:diredgeconstraints HREF=#d:diredgeconstraints>diredgeconstraints</A>
wolffd@0 141 </TD><TD>G</TD><TD>string<BR><A HREF=#k:bool>bool</A>
wolffd@0 142 </TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>neato only</TD> </TR>
wolffd@0 143 <TR><TD><A NAME=a:distortion HREF=#d:distortion>distortion</A>
wolffd@0 144 </TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>-100.0</TD><TD></TD> </TR>
wolffd@0 145 <TR><TD><A NAME=a:dpi HREF=#d:dpi>dpi</A>
wolffd@0 146 </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>
wolffd@0 147 <TR><TD><A NAME=a:edgeURL HREF=#d:edgeURL>edgeURL</A>
wolffd@0 148 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 149 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
wolffd@0 150 <TR><TD><A NAME=a:edgehref HREF=#d:edgehref>edgehref</A>
wolffd@0 151 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 152 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
wolffd@0 153 <TR><TD><A NAME=a:edgetarget HREF=#d:edgetarget>edgetarget</A>
wolffd@0 154 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 155 </TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
wolffd@0 156 <TR><TD><A NAME=a:edgetooltip HREF=#d:edgetooltip>edgetooltip</A>
wolffd@0 157 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 158 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
wolffd@0 159 <TR><TD><A NAME=a:epsilon HREF=#d:epsilon>epsilon</A>
wolffd@0 160 </TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">.0001 * # nodes(mode == KK)<BR>.0001(mode == major)</TD><TD></TD><TD>neato only</TD> </TR>
wolffd@0 161 <TR><TD><A NAME=a:esep HREF=#d:esep>esep</A>
wolffd@0 162 </TD><TD>G</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
wolffd@0 163 </TD><TD ALIGN="CENTER">+3</TD><TD></TD><TD>not dot</TD> </TR>
wolffd@0 164 <TR><TD><A NAME=a:fillcolor HREF=#d:fillcolor>fillcolor</A>
wolffd@0 165 </TD><TD>NC</TD><TD><A HREF=#k:color>color</A>
wolffd@0 166 </TD><TD ALIGN="CENTER">lightgrey(nodes)<BR>black(clusters)</TD><TD></TD><TD></TD> </TR>
wolffd@0 167 <TR><TD><A NAME=a:fixedsize HREF=#d:fixedsize>fixedsize</A>
wolffd@0 168 </TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 169 </TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
wolffd@0 170 <TR><TD><A NAME=a:fontcolor HREF=#d:fontcolor>fontcolor</A>
wolffd@0 171 </TD><TD>ENGC</TD><TD><A HREF=#k:color>color</A>
wolffd@0 172 </TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
wolffd@0 173 <TR><TD><A NAME=a:fontname HREF=#d:fontname>fontname</A>
wolffd@0 174 </TD><TD>ENGC</TD><TD>string</TD><TD ALIGN="CENTER">"Times-Roman"</TD><TD></TD><TD></TD> </TR>
wolffd@0 175 <TR><TD><A NAME=a:fontnames HREF=#d:fontnames>fontnames</A>
wolffd@0 176 </TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg only</TD> </TR>
wolffd@0 177 <TR><TD><A NAME=a:fontpath HREF=#d:fontpath>fontpath</A>
wolffd@0 178 </TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">system-dependent</TD><TD></TD><TD></TD> </TR>
wolffd@0 179 <TR><TD><A NAME=a:fontsize HREF=#d:fontsize>fontsize</A>
wolffd@0 180 </TD><TD>ENGC</TD><TD>double</TD><TD ALIGN="CENTER">14.0</TD><TD>1.0</TD><TD></TD> </TR>
wolffd@0 181 <TR><TD><A NAME=a:group HREF=#d:group>group</A>
wolffd@0 182 </TD><TD>N</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 183 <TR><TD><A NAME=a:headURL HREF=#d:headURL>headURL</A>
wolffd@0 184 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 185 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
wolffd@0 186 <TR><TD><A NAME=a:headclip HREF=#d:headclip>headclip</A>
wolffd@0 187 </TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 188 </TD><TD ALIGN="CENTER">true</TD><TD></TD><TD></TD> </TR>
wolffd@0 189 <TR><TD><A NAME=a:headhref HREF=#d:headhref>headhref</A>
wolffd@0 190 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 191 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
wolffd@0 192 <TR><TD><A NAME=a:headlabel HREF=#d:headlabel>headlabel</A>
wolffd@0 193 </TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
wolffd@0 194 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
wolffd@0 195 <TR><TD><A NAME=a:headport HREF=#d:headport>headport</A>
wolffd@0 196 </TD><TD>E</TD><TD><A HREF=#k:portPos>portPos</A>
wolffd@0 197 </TD><TD ALIGN="CENTER">center</TD><TD></TD><TD></TD> </TR>
wolffd@0 198 <TR><TD><A NAME=a:headtarget HREF=#d:headtarget>headtarget</A>
wolffd@0 199 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 200 </TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
wolffd@0 201 <TR><TD><A NAME=a:headtooltip HREF=#d:headtooltip>headtooltip</A>
wolffd@0 202 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 203 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
wolffd@0 204 <TR><TD><A NAME=a:height HREF=#d:height>height</A>
wolffd@0 205 </TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.5</TD><TD>0.02</TD><TD></TD> </TR>
wolffd@0 206 <TR><TD><A NAME=a:href HREF=#d:href>href</A>
wolffd@0 207 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 208 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, postscript, map only</TD> </TR>
wolffd@0 209 <TR><TD><A NAME=a:id HREF=#d:id>id</A>
wolffd@0 210 </TD><TD>GNE</TD><TD><A HREF=#k:lblString>lblString</A>
wolffd@0 211 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, postscript, map only</TD> </TR>
wolffd@0 212 <TR><TD><A NAME=a:image HREF=#d:image>image</A>
wolffd@0 213 </TD><TD>N</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
wolffd@0 214 <TR><TD><A NAME=a:imagescale HREF=#d:imagescale>imagescale</A>
wolffd@0 215 </TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 216 <BR>string</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
wolffd@0 217 <TR><TD><A NAME=a:label HREF=#d:label>label</A>
wolffd@0 218 </TD><TD>ENGC</TD><TD><A HREF=#k:lblString>lblString</A>
wolffd@0 219 </TD><TD ALIGN="CENTER">"\N" (nodes)<BR>"" (otherwise)</TD><TD></TD><TD></TD> </TR>
wolffd@0 220 <TR><TD><A NAME=a:labelURL HREF=#d:labelURL>labelURL</A>
wolffd@0 221 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 222 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
wolffd@0 223 <TR><TD><A NAME=a:labelangle HREF=#d:labelangle>labelangle</A>
wolffd@0 224 </TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">-25.0</TD><TD>-180.0</TD><TD></TD> </TR>
wolffd@0 225 <TR><TD><A NAME=a:labeldistance HREF=#d:labeldistance>labeldistance</A>
wolffd@0 226 </TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD></TD> </TR>
wolffd@0 227 <TR><TD><A NAME=a:labelfloat HREF=#d:labelfloat>labelfloat</A>
wolffd@0 228 </TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 229 </TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
wolffd@0 230 <TR><TD><A NAME=a:labelfontcolor HREF=#d:labelfontcolor>labelfontcolor</A>
wolffd@0 231 </TD><TD>E</TD><TD><A HREF=#k:color>color</A>
wolffd@0 232 </TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
wolffd@0 233 <TR><TD><A NAME=a:labelfontname HREF=#d:labelfontname>labelfontname</A>
wolffd@0 234 </TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">"Times-Roman"</TD><TD></TD><TD></TD> </TR>
wolffd@0 235 <TR><TD><A NAME=a:labelfontsize HREF=#d:labelfontsize>labelfontsize</A>
wolffd@0 236 </TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">14.0</TD><TD>1.0</TD><TD></TD> </TR>
wolffd@0 237 <TR><TD><A NAME=a:labelhref HREF=#d:labelhref>labelhref</A>
wolffd@0 238 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 239 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
wolffd@0 240 <TR><TD><A NAME=a:labeljust HREF=#d:labeljust>labeljust</A>
wolffd@0 241 </TD><TD>GC</TD><TD>string</TD><TD ALIGN="CENTER">"c"</TD><TD></TD><TD></TD> </TR>
wolffd@0 242 <TR><TD><A NAME=a:labelloc HREF=#d:labelloc>labelloc</A>
wolffd@0 243 </TD><TD>GC</TD><TD>string</TD><TD ALIGN="CENTER">"t"(clusters)<BR>"b"(root graphs)</TD><TD></TD><TD></TD> </TR>
wolffd@0 244 <TR><TD><A NAME=aa:labelloc HREF=#dd:labelloc>labelloc</A>
wolffd@0 245 </TD><TD>N</TD><TD>string</TD><TD ALIGN="CENTER">"c"(clusters)</TD><TD></TD><TD></TD> </TR>
wolffd@0 246 <TR><TD><A NAME=a:labeltarget HREF=#d:labeltarget>labeltarget</A>
wolffd@0 247 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 248 </TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
wolffd@0 249 <TR><TD><A NAME=a:labeltooltip HREF=#d:labeltooltip>labeltooltip</A>
wolffd@0 250 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 251 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
wolffd@0 252 <TR><TD><A NAME=a:landscape HREF=#d:landscape>landscape</A>
wolffd@0 253 </TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 254 </TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
wolffd@0 255 <TR><TD><A NAME=a:layer HREF=#d:layer>layer</A>
wolffd@0 256 </TD><TD>EN</TD><TD><A HREF=#k:layerRange>layerRange</A>
wolffd@0 257 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
wolffd@0 258 <TR><TD><A NAME=a:layers HREF=#d:layers>layers</A>
wolffd@0 259 </TD><TD>G</TD><TD><A HREF=#k:layerList>layerList</A>
wolffd@0 260 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
wolffd@0 261 <TR><TD><A NAME=a:layersep HREF=#d:layersep>layersep</A>
wolffd@0 262 </TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">" :\t"</TD><TD></TD><TD></TD> </TR>
wolffd@0 263 <TR><TD><A NAME=a:layout HREF=#d:layout>layout</A>
wolffd@0 264 </TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
wolffd@0 265 <TR><TD><A NAME=a:len HREF=#d:len>len</A>
wolffd@0 266 </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>
wolffd@0 267 <TR><TD><A NAME=a:levels HREF=#d:levels>levels</A>
wolffd@0 268 </TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">MAXINT</TD><TD>0.0</TD><TD>sfdp only</TD> </TR>
wolffd@0 269 <TR><TD><A NAME=a:levelsgap HREF=#d:levelsgap>levelsgap</A>
wolffd@0 270 </TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD></TD><TD>neato only</TD> </TR>
wolffd@0 271 <TR><TD><A NAME=a:lhead HREF=#d:lhead>lhead</A>
wolffd@0 272 </TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 273 <TR><TD><A NAME=a:lp HREF=#d:lp>lp</A>
wolffd@0 274 </TD><TD>EGC</TD><TD><A HREF=#k:point>point</A>
wolffd@0 275 </TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
wolffd@0 276 <TR><TD><A NAME=a:ltail HREF=#d:ltail>ltail</A>
wolffd@0 277 </TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 278 <TR><TD><A NAME=a:margin HREF=#d:margin>margin</A>
wolffd@0 279 </TD><TD>NG</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
wolffd@0 280 </TD><TD ALIGN="CENTER">&#60;device-dependent&#62;</TD><TD></TD><TD></TD> </TR>
wolffd@0 281 <TR><TD><A NAME=a:maxiter HREF=#d:maxiter>maxiter</A>
wolffd@0 282 </TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">100 * # nodes(mode == KK)<BR>200(mode == major)<BR>600(fdp)</TD><TD></TD><TD>fdp, neato only</TD> </TR>
wolffd@0 283 <TR><TD><A NAME=a:mclimit HREF=#d:mclimit>mclimit</A>
wolffd@0 284 </TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 285 <TR><TD><A NAME=a:mindist HREF=#d:mindist>mindist</A>
wolffd@0 286 </TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD>circo only</TD> </TR>
wolffd@0 287 <TR><TD><A NAME=a:minlen HREF=#d:minlen>minlen</A>
wolffd@0 288 </TD><TD>E</TD><TD>int</TD><TD ALIGN="CENTER">1</TD><TD>0</TD><TD>dot only</TD> </TR>
wolffd@0 289 <TR><TD><A NAME=a:mode HREF=#d:mode>mode</A>
wolffd@0 290 </TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">"major"</TD><TD></TD><TD>neato only</TD> </TR>
wolffd@0 291 <TR><TD><A NAME=a:model HREF=#d:model>model</A>
wolffd@0 292 </TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">"shortpath"</TD><TD></TD><TD>neato only</TD> </TR>
wolffd@0 293 <TR><TD><A NAME=a:mosek HREF=#d:mosek>mosek</A>
wolffd@0 294 </TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 295 </TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>neato only</TD> </TR>
wolffd@0 296 <TR><TD><A NAME=a:nodesep HREF=#d:nodesep>nodesep</A>
wolffd@0 297 </TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.25</TD><TD>0.02</TD><TD>dot only</TD> </TR>
wolffd@0 298 <TR><TD><A NAME=a:nojustify HREF=#d:nojustify>nojustify</A>
wolffd@0 299 </TD><TD>GCNE</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 300 </TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
wolffd@0 301 <TR><TD><A NAME=a:normalize HREF=#d:normalize>normalize</A>
wolffd@0 302 </TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 303 </TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>not dot</TD> </TR>
wolffd@0 304 <TR><TD><A NAME=a:nslimit HREF=#d:nslimit>nslimit</A>
wolffd@0 305 <BR><A NAME=a:nslimit1 HREF=#d:nslimit1>nslimit1</A>
wolffd@0 306 </TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 307 <TR><TD><A NAME=a:ordering HREF=#d:ordering>ordering</A>
wolffd@0 308 </TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 309 <TR><TD><A NAME=a:orientation HREF=#d:orientation>orientation</A>
wolffd@0 310 </TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>360.0</TD><TD></TD> </TR>
wolffd@0 311 <TR><TD><A NAME=aa:orientation HREF=#dd:orientation>orientation</A>
wolffd@0 312 </TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
wolffd@0 313 <TR><TD><A NAME=a:outputorder HREF=#d:outputorder>outputorder</A>
wolffd@0 314 </TD><TD>G</TD><TD><A HREF=#k:outputMode>outputMode</A>
wolffd@0 315 </TD><TD ALIGN="CENTER">breadthfirst</TD><TD></TD><TD></TD> </TR>
wolffd@0 316 <TR><TD><A NAME=a:overlap HREF=#d:overlap>overlap</A>
wolffd@0 317 </TD><TD>G</TD><TD>string<BR><A HREF=#k:bool>bool</A>
wolffd@0 318 </TD><TD ALIGN="CENTER">true</TD><TD></TD><TD>not dot</TD> </TR>
wolffd@0 319 <TR><TD><A NAME=a:overlap_scaling HREF=#d:overlap_scaling>overlap_scaling</A>
wolffd@0 320 </TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">-4</TD><TD>-1.0e10</TD><TD>prism only</TD> </TR>
wolffd@0 321 <TR><TD><A NAME=a:pack HREF=#d:pack>pack</A>
wolffd@0 322 </TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 323 <BR>int</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>not dot</TD> </TR>
wolffd@0 324 <TR><TD><A NAME=a:packmode HREF=#d:packmode>packmode</A>
wolffd@0 325 </TD><TD>G</TD><TD><A HREF=#k:packMode>packMode</A>
wolffd@0 326 </TD><TD ALIGN="CENTER">node</TD><TD></TD><TD>not dot</TD> </TR>
wolffd@0 327 <TR><TD><A NAME=a:pad HREF=#d:pad>pad</A>
wolffd@0 328 </TD><TD>G</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
wolffd@0 329 </TD><TD ALIGN="CENTER">0.0555 (4 points)</TD><TD></TD><TD></TD> </TR>
wolffd@0 330 <TR><TD><A NAME=a:page HREF=#d:page>page</A>
wolffd@0 331 </TD><TD>G</TD><TD><A HREF=#k:pointf>pointf</A>
wolffd@0 332 </TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
wolffd@0 333 <TR><TD><A NAME=a:pagedir HREF=#d:pagedir>pagedir</A>
wolffd@0 334 </TD><TD>G</TD><TD><A HREF=#k:pagedir>pagedir</A>
wolffd@0 335 </TD><TD ALIGN="CENTER">BL</TD><TD></TD><TD></TD> </TR>
wolffd@0 336 <TR><TD><A NAME=a:pencolor HREF=#d:pencolor>pencolor</A>
wolffd@0 337 </TD><TD>C</TD><TD><A HREF=#k:color>color</A>
wolffd@0 338 </TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
wolffd@0 339 <TR><TD><A NAME=a:penwidth HREF=#d:penwidth>penwidth</A>
wolffd@0 340 </TD><TD>CNE</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD></TD> </TR>
wolffd@0 341 <TR><TD><A NAME=a:peripheries HREF=#d:peripheries>peripheries</A>
wolffd@0 342 </TD><TD>NC</TD><TD>int</TD><TD ALIGN="CENTER">shape default(nodes)<BR>1(clusters)</TD><TD>0</TD><TD></TD> </TR>
wolffd@0 343 <TR><TD><A NAME=a:pin HREF=#d:pin>pin</A>
wolffd@0 344 </TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 345 </TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>fdp, neato only</TD> </TR>
wolffd@0 346 <TR><TD><A NAME=a:pos HREF=#d:pos>pos</A>
wolffd@0 347 </TD><TD>EN</TD><TD><A HREF=#k:point>point</A>
wolffd@0 348 <BR><A HREF=#k:splineType>splineType</A>
wolffd@0 349 </TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
wolffd@0 350 <TR><TD><A NAME=a:quadtree HREF=#d:quadtree>quadtree</A>
wolffd@0 351 </TD><TD>G</TD><TD><A HREF=#k:quadType>quadType</A>
wolffd@0 352 <BR><A HREF=#k:bool>bool</A>
wolffd@0 353 </TD><TD ALIGN="CENTER">"normal"</TD><TD></TD><TD>sfdp only</TD> </TR>
wolffd@0 354 <TR><TD><A NAME=a:quantum HREF=#d:quantum>quantum</A>
wolffd@0 355 </TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>0.0</TD><TD></TD> </TR>
wolffd@0 356 <TR><TD><A NAME=a:rank HREF=#d:rank>rank</A>
wolffd@0 357 </TD><TD>S</TD><TD><A HREF=#k:rankType>rankType</A>
wolffd@0 358 </TD><TD ALIGN="CENTER"></TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 359 <TR><TD><A NAME=a:rankdir HREF=#d:rankdir>rankdir</A>
wolffd@0 360 </TD><TD>G</TD><TD><A HREF=#k:rankdir>rankdir</A>
wolffd@0 361 </TD><TD ALIGN="CENTER">TB</TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 362 <TR><TD><A NAME=a:ranksep HREF=#d:ranksep>ranksep</A>
wolffd@0 363 </TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.5(dot)<BR>1.0(twopi)</TD><TD>0.02</TD><TD>twopi, dot only</TD> </TR>
wolffd@0 364 <TR><TD><A NAME=a:ratio HREF=#d:ratio>ratio</A>
wolffd@0 365 </TD><TD>G</TD><TD>double<BR>string</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
wolffd@0 366 <TR><TD><A NAME=a:rects HREF=#d:rects>rects</A>
wolffd@0 367 </TD><TD>N</TD><TD><A HREF=#k:rect>rect</A>
wolffd@0 368 </TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
wolffd@0 369 <TR><TD><A NAME=a:regular HREF=#d:regular>regular</A>
wolffd@0 370 </TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 371 </TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
wolffd@0 372 <TR><TD><A NAME=a:remincross HREF=#d:remincross>remincross</A>
wolffd@0 373 </TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 374 </TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 375 <TR><TD><A NAME=a:repulsiveforce HREF=#d:repulsiveforce>repulsiveforce</A>
wolffd@0 376 </TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD>sfdp only</TD> </TR>
wolffd@0 377 <TR><TD><A NAME=a:resolution HREF=#d:resolution>resolution</A>
wolffd@0 378 </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>
wolffd@0 379 <TR><TD><A NAME=a:root HREF=#d:root>root</A>
wolffd@0 380 </TD><TD>GN</TD><TD>string<BR><A HREF=#k:bool>bool</A>
wolffd@0 381 </TD><TD ALIGN="CENTER">""(graphs)<BR>false(nodes)</TD><TD></TD><TD>circo, twopi only</TD> </TR>
wolffd@0 382 <TR><TD><A NAME=a:rotate HREF=#d:rotate>rotate</A>
wolffd@0 383 </TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">0</TD><TD></TD><TD></TD> </TR>
wolffd@0 384 <TR><TD><A NAME=a:samehead HREF=#d:samehead>samehead</A>
wolffd@0 385 </TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 386 <TR><TD><A NAME=a:sametail HREF=#d:sametail>sametail</A>
wolffd@0 387 </TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 388 <TR><TD><A NAME=a:samplepoints HREF=#d:samplepoints>samplepoints</A>
wolffd@0 389 </TD><TD>N</TD><TD>int</TD><TD ALIGN="CENTER">8(output)<BR>20(overlap and image maps)</TD><TD></TD><TD></TD> </TR>
wolffd@0 390 <TR><TD><A NAME=a:searchsize HREF=#d:searchsize>searchsize</A>
wolffd@0 391 </TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">30</TD><TD></TD><TD>dot only</TD> </TR>
wolffd@0 392 <TR><TD><A NAME=a:sep HREF=#d:sep>sep</A>
wolffd@0 393 </TD><TD>G</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
wolffd@0 394 </TD><TD ALIGN="CENTER">+4</TD><TD></TD><TD>not dot</TD> </TR>
wolffd@0 395 <TR><TD><A NAME=a:shape HREF=#d:shape>shape</A>
wolffd@0 396 </TD><TD>N</TD><TD><A HREF=#k:shape>shape</A>
wolffd@0 397 </TD><TD ALIGN="CENTER">ellipse</TD><TD></TD><TD></TD> </TR>
wolffd@0 398 <TR><TD><A NAME=a:shapefile HREF=#d:shapefile>shapefile</A>
wolffd@0 399 </TD><TD>N</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
wolffd@0 400 <TR><TD><A NAME=a:showboxes HREF=#d:showboxes>showboxes</A>
wolffd@0 401 </TD><TD>ENG</TD><TD>int</TD><TD ALIGN="CENTER">0</TD><TD>0</TD><TD>dot only</TD> </TR>
wolffd@0 402 <TR><TD><A NAME=a:sides HREF=#d:sides>sides</A>
wolffd@0 403 </TD><TD>N</TD><TD>int</TD><TD ALIGN="CENTER">4</TD><TD>0</TD><TD></TD> </TR>
wolffd@0 404 <TR><TD><A NAME=a:size HREF=#d:size>size</A>
wolffd@0 405 </TD><TD>G</TD><TD><A HREF=#k:pointf>pointf</A>
wolffd@0 406 </TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
wolffd@0 407 <TR><TD><A NAME=a:skew HREF=#d:skew>skew</A>
wolffd@0 408 </TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>-100.0</TD><TD></TD> </TR>
wolffd@0 409 <TR><TD><A NAME=a:smoothing HREF=#d:smoothing>smoothing</A>
wolffd@0 410 </TD><TD>G</TD><TD><A HREF=#k:smoothType>smoothType</A>
wolffd@0 411 </TD><TD ALIGN="CENTER">"none"</TD><TD></TD><TD>sfdp only</TD> </TR>
wolffd@0 412 <TR><TD><A NAME=a:sortv HREF=#d:sortv>sortv</A>
wolffd@0 413 </TD><TD>GCN</TD><TD>int</TD><TD ALIGN="CENTER">0</TD><TD>0</TD><TD></TD> </TR>
wolffd@0 414 <TR><TD><A NAME=a:splines HREF=#d:splines>splines</A>
wolffd@0 415 </TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 416 <BR>string</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
wolffd@0 417 <TR><TD><A NAME=a:start HREF=#d:start>start</A>
wolffd@0 418 </TD><TD>G</TD><TD><A HREF=#k:startType>startType</A>
wolffd@0 419 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>fdp, neato only</TD> </TR>
wolffd@0 420 <TR><TD><A NAME=a:style HREF=#d:style>style</A>
wolffd@0 421 </TD><TD>ENC</TD><TD><A HREF=#k:style>style</A>
wolffd@0 422 </TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
wolffd@0 423 <TR><TD><A NAME=a:stylesheet HREF=#d:stylesheet>stylesheet</A>
wolffd@0 424 </TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg only</TD> </TR>
wolffd@0 425 <TR><TD><A NAME=a:tailURL HREF=#d:tailURL>tailURL</A>
wolffd@0 426 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 427 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
wolffd@0 428 <TR><TD><A NAME=a:tailclip HREF=#d:tailclip>tailclip</A>
wolffd@0 429 </TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 430 </TD><TD ALIGN="CENTER">true</TD><TD></TD><TD></TD> </TR>
wolffd@0 431 <TR><TD><A NAME=a:tailhref HREF=#d:tailhref>tailhref</A>
wolffd@0 432 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 433 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
wolffd@0 434 <TR><TD><A NAME=a:taillabel HREF=#d:taillabel>taillabel</A>
wolffd@0 435 </TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
wolffd@0 436 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
wolffd@0 437 <TR><TD><A NAME=a:tailport HREF=#d:tailport>tailport</A>
wolffd@0 438 </TD><TD>E</TD><TD><A HREF=#k:portPos>portPos</A>
wolffd@0 439 </TD><TD ALIGN="CENTER">center</TD><TD></TD><TD></TD> </TR>
wolffd@0 440 <TR><TD><A NAME=a:tailtarget HREF=#d:tailtarget>tailtarget</A>
wolffd@0 441 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 442 </TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
wolffd@0 443 <TR><TD><A NAME=a:tailtooltip HREF=#d:tailtooltip>tailtooltip</A>
wolffd@0 444 </TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 445 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
wolffd@0 446 <TR><TD><A NAME=a:target HREF=#d:target>target</A>
wolffd@0 447 </TD><TD>ENGC</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 448 <BR>string</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
wolffd@0 449 <TR><TD><A NAME=a:tooltip HREF=#d:tooltip>tooltip</A>
wolffd@0 450 </TD><TD>NEC</TD><TD><A HREF=#k:escString>escString</A>
wolffd@0 451 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
wolffd@0 452 <TR><TD><A NAME=a:truecolor HREF=#d:truecolor>truecolor</A>
wolffd@0 453 </TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
wolffd@0 454 </TD><TD ALIGN="CENTER"></TD><TD></TD><TD>bitmap output only</TD> </TR>
wolffd@0 455 <TR><TD><A NAME=a:vertices HREF=#d:vertices>vertices</A>
wolffd@0 456 </TD><TD>N</TD><TD><A HREF=#k:pointfList>pointfList</A>
wolffd@0 457 </TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
wolffd@0 458 <TR><TD><A NAME=a:viewport HREF=#d:viewport>viewport</A>
wolffd@0 459 </TD><TD>G</TD><TD><A HREF=#k:viewPort>viewPort</A>
wolffd@0 460 </TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
wolffd@0 461 <TR><TD><A NAME=a:voro_margin HREF=#d:voro_margin>voro_margin</A>
wolffd@0 462 </TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.05</TD><TD>0.0</TD><TD>not dot</TD> </TR>
wolffd@0 463 <TR><TD><A NAME=a:weight HREF=#d:weight>weight</A>
wolffd@0 464 </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>
wolffd@0 465 <TR><TD><A NAME=a:width HREF=#d:width>width</A>
wolffd@0 466 </TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.75</TD><TD>0.01</TD><TD></TD> </TR>
wolffd@0 467 <TR><TD><A NAME=a:z HREF=#d:z>z</A>
wolffd@0 468 </TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>-MAXFLOAT<BR>-1000</TD><TD></TD> </TR>
wolffd@0 469 </TABLE>
wolffd@0 470 <HR>
wolffd@0 471 <H1>Attribute Descriptions</H1>
wolffd@0 472 <DL>
wolffd@0 473 <DT><A NAME=d:Damping HREF=#a:Damping><STRONG>Damping</STRONG></A>
wolffd@0 474 <DD> Factor damping force motions. On each iteration, a nodes movement
wolffd@0 475 is limited to this factor of its potential motion. By being less than
wolffd@0 476 1.0, the system tends to ``cool'', thereby preventing cycling.
wolffd@0 477
wolffd@0 478 <DT><A NAME=d:K HREF=#a:K><STRONG>K</STRONG></A>
wolffd@0 479 <DD> Spring constant used in virtual physical model. It roughly corresponds
wolffd@0 480 to an ideal edge length (in inches), in that increasing K tends to
wolffd@0 481 increase the distance between nodes.
wolffd@0 482 Note that the edge attribute <A HREF=#d:len>len</A> can be used to
wolffd@0 483 override this value for adjacent nodes.
wolffd@0 484
wolffd@0 485 <DT><A NAME=d:URL HREF=#a:URL><STRONG>URL</STRONG></A>
wolffd@0 486 <DD> Hyperlinks incorporated into device-dependent output.
wolffd@0 487 At present, used in ps2, cmap, i*map and svg formats.
wolffd@0 488 For all these formats, URLs can be attached to nodes, edges and
wolffd@0 489 clusters. URL attributes can also be attached to the root graph in ps2,
wolffd@0 490 cmap and i*map formats. This serves as the base URL for relative URLs in the
wolffd@0 491 former, and as the default image map file in the latter.
wolffd@0 492 <P>
wolffd@0 493 For svg, cmapx and imap output, the active area for a node is its
wolffd@0 494 visible image.
wolffd@0 495 For example, an unfilled
wolffd@0 496 node with no drawn boundary will only be active on its label.
wolffd@0 497 For other output, the active area is its bounding box.
wolffd@0 498 The active area for a cluster is its bounding box.
wolffd@0 499 For edges, the active areas are small circles where the edge contacts its head
wolffd@0 500 and tail nodes. In addition, for svg, cmapx and imap, the active area
wolffd@0 501 includes a thin polygon approximating the edge. The circles may
wolffd@0 502 overlap the related node, and the edge URL dominates.
wolffd@0 503 If the edge has a label, this will also be active.
wolffd@0 504 Finally, if the edge has a head or tail label, this will also be active.
wolffd@0 505 <P>
wolffd@0 506 Note that, for edges, the attributes <A HREF=#d:headURL>headURL</A>,
wolffd@0 507 <A HREF=#d:tailURL>tailURL</A>, <A HREF=#d:labelURL>labelURL</A> and
wolffd@0 508 <A HREF=#d:edgeURL>edgeURL</A> allow control of various parts of an
wolffd@0 509 edge.
wolffd@0 510 Also note that, if active areas of two edges overlap, it is unspecified
wolffd@0 511 which area dominates.
wolffd@0 512
wolffd@0 513 <DT><A NAME=d:arrowhead HREF=#a:arrowhead><STRONG>arrowhead</STRONG></A>
wolffd@0 514 <DD> Style of arrowhead on the head node of an edge.
wolffd@0 515 See also the <A HREF=#d:dir>dir</A> attribute,
wolffd@0 516 and a <A HREF=#h:undir_note>limitation</A>.
wolffd@0 517
wolffd@0 518 <DT><A NAME=d:arrowsize HREF=#a:arrowsize><STRONG>arrowsize</STRONG></A>
wolffd@0 519 <DD> Multiplicative scale factor for arrowheads.
wolffd@0 520
wolffd@0 521 <DT><A NAME=d:arrowtail HREF=#a:arrowtail><STRONG>arrowtail</STRONG></A>
wolffd@0 522 <DD> Style of arrowhead on the tail node of an edge.
wolffd@0 523 See also the <A HREF=#d:dir>dir</A> attribute,
wolffd@0 524 and a <A HREF=#h:undir_note>limitation</A>.
wolffd@0 525
wolffd@0 526 <DT><A NAME=d:aspect HREF=#a:aspect><STRONG>aspect</STRONG></A>
wolffd@0 527 <DD> Target aspect ratio (width of the layout divided by the height)
wolffd@0 528 of the graph drawing. If unset, dot minimizes the total edge length.
wolffd@0 529 For certain graphs, like those with large fan-in or fan-out, this can
wolffd@0 530 lead to very wide layouts. Setting <TT>aspect</TT> will cause dot to try
wolffd@0 531 to adjust the layout to get an aspect ratio close to that specified
wolffd@0 532 by <TT>aspect</TT>.
wolffd@0 533 <P>
wolffd@0 534 By default, dot will do 5 passes attempting to achieve the desired
wolffd@0 535 aspect ratio. For certain graphs, more passes will be needed to get
wolffd@0 536 close enough. The <TT>aspect</TT> attribute can also be used to
wolffd@0 537 specify the maximum number of passes to try.
wolffd@0 538 <P>
wolffd@0 539 At present, there is no mechanism for widening a very tall layout.
wolffd@0 540 Also, the algorithm doesn't handle clusters, nor disconnected graphs.
wolffd@0 541 For the latter case, one can split the pipeline<BR>
wolffd@0 542 <TT>ccomps -x | dot | gvpack | neato -n2</TT>
wolffd@0 543 to get a similar effect.
wolffd@0 544
wolffd@0 545 <DT><A NAME=d:bb HREF=#a:bb><STRONG>bb</STRONG></A>
wolffd@0 546 <DD> Bounding box of drawing in points.
wolffd@0 547
wolffd@0 548 <DT><A NAME=d:bgcolor HREF=#a:bgcolor><STRONG>bgcolor</STRONG></A>
wolffd@0 549 <DD> When attached to the root graph, this color is used as the background for
wolffd@0 550 entire canvas. When a cluster attribute, it is used as the initial
wolffd@0 551 background for the cluster. If a cluster has a filled
wolffd@0 552 <A HREF=#d:style>style</A>, the
wolffd@0 553 cluster's <A HREF=#d:fillcolor>fillcolor</A> will overlay the
wolffd@0 554 background color.
wolffd@0 555 <P>
wolffd@0 556 If no background color is specified for the root graph, no graphics
wolffd@0 557 operation are performed on the background. This works fine for
wolffd@0 558 PostScript but for bitmap output, all bits are initialized to something.
wolffd@0 559 This means that when the bitmap output is included in some other
wolffd@0 560 document, all of the bits within the bitmap's bounding box will be
wolffd@0 561 set, overwriting whatever color or graphics where already on the page.
wolffd@0 562 If this effect is not desired, and you only want to set bits explicitly
wolffd@0 563 assigned in drawing the graph, set <B>bgcolor</B>="transparent".
wolffd@0 564
wolffd@0 565 <DT><A NAME=d:center HREF=#a:center><STRONG>center</STRONG></A>
wolffd@0 566 <DD> If true, the drawing is centered in the output canvas.
wolffd@0 567
wolffd@0 568 <DT><A NAME=d:charset HREF=#a:charset><STRONG>charset</STRONG></A>
wolffd@0 569 <DD> Specifies the character encoding used when interpreting string input
wolffd@0 570 as a text label. The default value is <TT>"UTF-8"</TT>.
wolffd@0 571 The other legal value is <TT>"iso-8859-1"</TT> or,
wolffd@0 572 equivalently,
wolffd@0 573 <TT>"Latin1"</TT>. The <B>charset</B> attribute is case-insensitive.
wolffd@0 574 Note that if the character encoding used in the input does not
wolffd@0 575 match the <B>charset</B> value, the resulting output may be very strange.
wolffd@0 576
wolffd@0 577 <DT><A NAME=d:clusterrank HREF=#a:clusterrank><STRONG>clusterrank</STRONG></A>
wolffd@0 578 <DD> Mode used for handling clusters. If <B>clusterrank</B> is "local", a
wolffd@0 579 subgraph whose name begins with "cluster" is given special treatment.
wolffd@0 580 The subgraph is laid out separately, and then integrated as a unit into
wolffd@0 581 its parent graph, with a bounding rectangle drawn about it.
wolffd@0 582 If the cluster has a <A HREF=#d:label>label</A> parameter, this label
wolffd@0 583 is displayed within the rectangle.
wolffd@0 584 Note also that there can be clusters within clusters.
wolffd@0 585 At present, the modes "global" and "none"
wolffd@0 586 appear to be identical, both turning off the special cluster processing.
wolffd@0 587
wolffd@0 588 <DT><A NAME=d:color HREF=#a:color><STRONG>color</STRONG></A>
wolffd@0 589 <DD> Basic drawing color for graphics, not text. For the latter, use the
wolffd@0 590 <A HREF=#d.fontcolor>fontcolor</A> attribute.
wolffd@0 591 <P>
wolffd@0 592 For edges, the value
wolffd@0 593 can either be a single color or a <A HREF=#k:colorList>colorList</A>.
wolffd@0 594 In the latter case, the edge is drawn using parallel splines or lines,
wolffd@0 595 one for each color in the list, in the order given.
wolffd@0 596 The head arrow, if any, is drawn using the first color in the list,
wolffd@0 597 and the tail arrow, if any, the second color. This supports the common
wolffd@0 598 case of drawing opposing edges, but using parallel splines instead of
wolffd@0 599 separately routed multiedges. For example, the graph
wolffd@0 600 <PRE>
wolffd@0 601 digraph G {
wolffd@0 602 a -> b [dir=both color="red:blue"]
wolffd@0 603 }
wolffd@0 604 </PRE>
wolffd@0 605 yields<BR>
wolffd@0 606 <IMG SRC="colorlist.gif">
wolffd@0 607
wolffd@0 608 <DT><A NAME=d:colorscheme HREF=#a:colorscheme><STRONG>colorscheme</STRONG></A>
wolffd@0 609 <DD> This attribute specifies a color scheme namespace. If defined, it specifies
wolffd@0 610 the context for interpreting color names. In particular, if a
wolffd@0 611 <A HREF=#k:color>color</A> value has form <TT>"xxx"</TT> or <TT>"//xxx"</TT>,
wolffd@0 612 then the
wolffd@0 613 color <TT>xxx</TT> will be evaluated according to the current color scheme.
wolffd@0 614 If no color scheme is set, the standard X11 naming is used.
wolffd@0 615 For example, if <TT>colorscheme=bugn9</TT>, then <TT>color=7</TT>
wolffd@0 616 is interpreted as <TT>"/bugn9/7"</TT>.
wolffd@0 617
wolffd@0 618 <DT><A NAME=d:comment HREF=#a:comment><STRONG>comment</STRONG></A>
wolffd@0 619 <DD> Comments are inserted into output. Device-dependent
wolffd@0 620
wolffd@0 621 <DT><A NAME=d:compound HREF=#a:compound><STRONG>compound</STRONG></A>
wolffd@0 622 <DD> If true, allow edges between clusters. (See <A HREF=#d:lhead>lhead</A>
wolffd@0 623 and <A HREF=#d:ltail>ltail</A> below.)
wolffd@0 624
wolffd@0 625 <DT><A NAME=d:concentrate HREF=#a:concentrate><STRONG>concentrate</STRONG></A>
wolffd@0 626 <DD> If true, use edge concentrators.
wolffd@0 627 This merges multiedges into a single edge and causes partially parallel
wolffd@0 628 edges to share part of their paths. The latter feature is not yet available
wolffd@0 629 outside of dot.
wolffd@0 630
wolffd@0 631 <DT><A NAME=d:constraint HREF=#a:constraint><STRONG>constraint</STRONG></A>
wolffd@0 632 <DD> If false, the edge is not used in ranking the nodes. For example,
wolffd@0 633 in the graph
wolffd@0 634 <PRE>
wolffd@0 635 digraph G {
wolffd@0 636 a -> c;
wolffd@0 637 a -> b;
wolffd@0 638 b -> c [constraint=false];
wolffd@0 639 }
wolffd@0 640 </PRE>
wolffd@0 641 the edge <CODE>b -> c</CODE> does not add a constraint during rank
wolffd@0 642 assignment, so the only constraints are that a be above b and c,
wolffd@0 643 yielding the graph:<BR>
wolffd@0 644 <IMG SRC="constraint.gif">
wolffd@0 645
wolffd@0 646 <DT><A NAME=d:decorate HREF=#a:decorate><STRONG>decorate</STRONG></A>
wolffd@0 647 <DD> If true, attach edge label to edge by a 2-segment
wolffd@0 648 polyline, underlining the label, then going to the closest point of spline.
wolffd@0 649
wolffd@0 650 <DT><A NAME=d:defaultdist HREF=#a:defaultdist><STRONG>defaultdist</STRONG></A>
wolffd@0 651 <DD> This specifies the distance between nodes in separate connected
wolffd@0 652 components. If set too small, connected components may overlap.
wolffd@0 653 Only applicable if <A HREF=#d:pack>pack</A>=false.
wolffd@0 654
wolffd@0 655 <DT><A NAME=d:dim HREF=#a:dim><STRONG>dim</STRONG></A>
wolffd@0 656 <DD> Set the number of dimensions used for the layout. The maximum value
wolffd@0 657 allowed is 10.
wolffd@0 658
wolffd@0 659 <DT><A NAME=d:dimen HREF=#a:dimen><STRONG>dimen</STRONG></A>
wolffd@0 660 <DD> Set the number of dimensions used for rendering.
wolffd@0 661 The maximum value allowed is 10.
wolffd@0 662 If both <TT>dimen</TT> and <TT>dim</TT> are set, the latter specifies
wolffd@0 663 the dimension used for layout, and the former for rendering.
wolffd@0 664 If only <TT>dimen</TT> is set, this is used for both layout and rendering
wolffd@0 665 dimensions.
wolffd@0 666
wolffd@0 667 <DT><A NAME=d:dir HREF=#a:dir><STRONG>dir</STRONG></A>
wolffd@0 668 <DD> Set edge type for drawing arrowheads. This indicates which ends of the
wolffd@0 669 edge should be decorated with an arrowhead. The actual style of the
wolffd@0 670 arrowhead can be specified using the <A HREF=#d:arrowhead>arrowhead</A>
wolffd@0 671 and <A HREF=#d:arrowtail>arrowtail</A> attributes.
wolffd@0 672 See <A HREF=#h:undir_note>limitation</A>.
wolffd@0 673
wolffd@0 674 <DT><A NAME=d:diredgeconstraints HREF=#a:diredgeconstraints><STRONG>diredgeconstraints</STRONG></A>
wolffd@0 675 <DD> Only valid when <A HREF=#d:mode>mode</A>="ipsep".
wolffd@0 676 If true, constraints are generated for each edge in the largest (heuristic)
wolffd@0 677 directed acyclic subgraph such that the edge must point downwards.
wolffd@0 678 If "hier", generates level constraints similar to those used with
wolffd@0 679 <A HREF=#d:mode>mode</A>="hier". The main difference is that, in the latter
wolffd@0 680 case, only these constraints are involved, so a faster solver can be used.
wolffd@0 681
wolffd@0 682 <DT><A NAME=d:distortion HREF=#a:distortion><STRONG>distortion</STRONG></A>
wolffd@0 683 <DD> Distortion factor for <A HREF=#d:shape><B>shape</B></A>=polygon.
wolffd@0 684 Positive values cause top part to
wolffd@0 685 be larger than bottom; negative values do the opposite.
wolffd@0 686
wolffd@0 687 <DT><A NAME=d:dpi HREF=#a:dpi><STRONG>dpi</STRONG></A>
wolffd@0 688 <DD> This specifies the expected number of pixels per inch on a display device.
wolffd@0 689 For bitmap output, this guarantees that text rendering will be
wolffd@0 690 done more accurately, both in size and in placement. For SVG output,
wolffd@0 691 it is used to guarantee that the dimensions in the output correspond to
wolffd@0 692 the correct number of points or inches.
wolffd@0 693
wolffd@0 694 <DT><A NAME=d:edgeURL HREF=#a:edgeURL><STRONG>edgeURL</STRONG></A>
wolffd@0 695 <DD> If <B>edgeURL</B> is defined, this is the link used for the non-label
wolffd@0 696 parts of an edge. This value overrides any <A HREF=#d:URL>URL</A>
wolffd@0 697 defined for the edge.
wolffd@0 698 Also, this value is used near the head or tail node unless overridden
wolffd@0 699 by a <A HREF=#d:headURL>headURL</A> or <A HREF=#d:tailURL>tailURL</A> value,
wolffd@0 700 respectively.
wolffd@0 701 See <A HREF=#h:undir_note>limitation</A>.
wolffd@0 702
wolffd@0 703 <DT><A NAME=d:edgehref HREF=#a:edgehref><STRONG>edgehref</STRONG></A>
wolffd@0 704 <DD> Synonym for <A HREF=#d:edgeURL>edgeURL</A>.
wolffd@0 705
wolffd@0 706 <DT><A NAME=d:edgetarget HREF=#a:edgetarget><STRONG>edgetarget</STRONG></A>
wolffd@0 707 <DD> If the edge has a <A HREF=#d:URL>URL</A> or <A HREF=#d:edgeURL>edgeURL</A>
wolffd@0 708 attribute, this attribute determines which window of the
wolffd@0 709 browser is used
wolffd@0 710 for the URL attached to the non-label part of the edge.
wolffd@0 711 Setting it to "_graphviz" will open a new window if it
wolffd@0 712 doesn't already exist, or reuse it if it does.
wolffd@0 713 If undefined, the value of the <A HREF=#d:target>target</A> is used.
wolffd@0 714
wolffd@0 715 <DT><A NAME=d:edgetooltip HREF=#a:edgetooltip><STRONG>edgetooltip</STRONG></A>
wolffd@0 716 <DD> Tooltip annotation attached to the non-label part of an edge.
wolffd@0 717 This is used only if the edge has a <A HREF=#d:URL>URL</A>
wolffd@0 718 or <A HREF=#d:edgeURL>edgeURL</A> attribute.
wolffd@0 719
wolffd@0 720 <DT><A NAME=d:epsilon HREF=#a:epsilon><STRONG>epsilon</STRONG></A>
wolffd@0 721 <DD> Terminating condition. If the length squared of all energy gradients are
wolffd@0 722 < <B>epsilon</B>, the algorithm stops.
wolffd@0 723
wolffd@0 724 <DT><A NAME=d:esep HREF=#a:esep><STRONG>esep</STRONG></A>
wolffd@0 725 <DD> Margin used around polygons for purposes of spline edge routing.
wolffd@0 726 The interpretation is the same as given for <A HREF=#d:sep>sep</A>.
wolffd@0 727 This should normally be strictly less than <A HREF=#d:sep>sep</A>.
wolffd@0 728
wolffd@0 729 <DT><A NAME=d:fillcolor HREF=#a:fillcolor><STRONG>fillcolor</STRONG></A>
wolffd@0 730 <DD> Color used to fill the background of a node or cluster
wolffd@0 731 assuming <A HREF=#d:style>style</A>=filled.
wolffd@0 732 If <B>fillcolor</B> is not defined, <A HREF=#d:color>color</A> is
wolffd@0 733 used. (For clusters, if <B>color</B> is not defined,
wolffd@0 734 <A HREF=#d:bgcolor>bgcolor</A> is used.) If this is not defined,
wolffd@0 735 the default is used, except for
wolffd@0 736 <A HREF=#d:shape><B>shape</B></A>=point or when the output
wolffd@0 737 format is MIF,
wolffd@0 738 which use black by default.
wolffd@0 739 <P>
wolffd@0 740 Note that a cluster inherits the root graph's attributes if defined.
wolffd@0 741 Thus, if the root graph has defined a <B>fillcolor</B>, this will override a
wolffd@0 742 <B>color</B> or <B>bgcolor</B> attribute set for the cluster.
wolffd@0 743
wolffd@0 744 <DT><A NAME=d:fixedsize HREF=#a:fixedsize><STRONG>fixedsize</STRONG></A>
wolffd@0 745 <DD> If true, the node size is specified by the values of the
wolffd@0 746 <A HREF=#d:width><B>width</B></A>
wolffd@0 747 and <A HREF=#d:height><B>height</B></A> attributes only
wolffd@0 748 and is not expanded to contain the text label.
wolffd@0 749
wolffd@0 750 <DT><A NAME=d:fontcolor HREF=#a:fontcolor><STRONG>fontcolor</STRONG></A>
wolffd@0 751 <DD> Color used for text.
wolffd@0 752
wolffd@0 753 <DT><A NAME=d:fontname HREF=#a:fontname><STRONG>fontname</STRONG></A>
wolffd@0 754 <DD> Font used for text. This very much depends on the output format and, for
wolffd@0 755 non-bitmap output such as PostScript or SVG, the availability of the font
wolffd@0 756 when the graph is displayed or printed. As such, it is best to rely on
wolffd@0 757 font faces that are generally available, such as Times-Roman, Helvetica or
wolffd@0 758 Courier.
wolffd@0 759 <P>
wolffd@0 760 If Graphviz was built using the
wolffd@0 761 <A HREF=http://pdx.freedesktop.org/~fontconfig/fontconfig-user.html>fontconfig library</A>, the latter library
wolffd@0 762 will be used to search for the font. However, if the <TT>fontname</TT> string
wolffd@0 763 contains a slash character "/", it is treated as a pathname for the font
wolffd@0 764 file, though font lookup will append the usual font suffixes.
wolffd@0 765 <P>
wolffd@0 766 If Graphviz does not use fontconfig, <TT>fontname</TT> will be
wolffd@0 767 considered the name of a Type 1 or True Type font file.
wolffd@0 768 If you specify <TT>fontname=schlbk</TT>, the tool will look for a
wolffd@0 769 file named <TT>schlbk.ttf</TT> or <TT>schlbk.pfa</TT> or <TT>schlbk.pfb</TT>
wolffd@0 770 in one of the directories specified by
wolffd@0 771 the <A HREF=#d:fontpath>fontpath</A> attribute.
wolffd@0 772 The lookup does support various aliases for the common fonts.
wolffd@0 773
wolffd@0 774 <DT><A NAME=d:fontnames HREF=#a:fontnames><STRONG>fontnames</STRONG></A>
wolffd@0 775 <DD> Allows user control of how basic fontnames are represented in SVG output.
wolffd@0 776 If <TT>fontnames</TT> is undefined or <TT>"svg"</TT>,
wolffd@0 777 the output will try to use known SVG fontnames. For example, the
wolffd@0 778 default font <TT>"Times-Roman"</TT> will be mapped to the
wolffd@0 779 basic SVG font <TT>"serif"</TT>. This can be overridden by setting
wolffd@0 780 <TT>fontnames</TT> to <TT>"ps"</TT> or <TT>"gd"</TT>.
wolffd@0 781 In the former case, known PostScript font names such as
wolffd@0 782 <TT>"Times-Roman"</TT> will be used in the output.
wolffd@0 783 In the latter case, the fontconfig font conventions
wolffd@0 784 are used. Thus, <TT>"Times-Roman"</TT> would be treated as
wolffd@0 785 <TT>"Nimbus Roman No9 L"</TT>. These last two options are useful
wolffd@0 786 with SVG viewers that support these richer fontname spaces.
wolffd@0 787
wolffd@0 788 <DT><A NAME=d:fontpath HREF=#a:fontpath><STRONG>fontpath</STRONG></A>
wolffd@0 789 <DD> Directory list used by libgd to search for bitmap fonts if Graphviz
wolffd@0 790 was not built with the fontconfig library.
wolffd@0 791 If <B>fontpath</B> is not set, the environment
wolffd@0 792 variable <TT>DOTFONTPATH</TT> is checked.
wolffd@0 793 If that is not set, <TT>GDFONTPATH</TT> is checked.
wolffd@0 794 If not set, libgd uses its compiled-in font path.
wolffd@0 795 Note that fontpath is an attribute of the root graph.
wolffd@0 796
wolffd@0 797 <DT><A NAME=d:fontsize HREF=#a:fontsize><STRONG>fontsize</STRONG></A>
wolffd@0 798 <DD> Font size, <A HREF=#points>in points</A>, used for text.
wolffd@0 799
wolffd@0 800 <DT><A NAME=d:group HREF=#a:group><STRONG>group</STRONG></A>
wolffd@0 801 <DD> If the end points of an edge belong to the same group, i.e., have the
wolffd@0 802 same group attribute, parameters are set to avoid crossings and keep
wolffd@0 803 the edges straight.
wolffd@0 804
wolffd@0 805 <DT><A NAME=d:headURL HREF=#a:headURL><STRONG>headURL</STRONG></A>
wolffd@0 806 <DD> If <B>headURL</B> is defined, it is
wolffd@0 807 output as part of the head label of the edge.
wolffd@0 808 Also, this value is used near the head node, overriding any
wolffd@0 809 <A HREF=#d:URL>URL</A> value.
wolffd@0 810 See <A HREF=#h:undir_note>limitation</A>.
wolffd@0 811
wolffd@0 812 <DT><A NAME=d:headclip HREF=#a:headclip><STRONG>headclip</STRONG></A>
wolffd@0 813 <DD> If true, the head of an edge is clipped to the boundary of the head node;
wolffd@0 814 otherwise, the end of the edge goes to the center of the node, or the
wolffd@0 815 center of a port, if applicable.
wolffd@0 816
wolffd@0 817 <DT><A NAME=d:headhref HREF=#a:headhref><STRONG>headhref</STRONG></A>
wolffd@0 818 <DD> Synonym for <A HREF=#d:headURL>headURL</A>.
wolffd@0 819
wolffd@0 820 <DT><A NAME=d:headlabel HREF=#a:headlabel><STRONG>headlabel</STRONG></A>
wolffd@0 821 <DD> Text label to be placed near head of edge.
wolffd@0 822 See <A HREF=#h:undir_note>limitation</A>.
wolffd@0 823
wolffd@0 824 <DT><A NAME=d:headport HREF=#a:headport><STRONG>headport</STRONG></A>
wolffd@0 825 <DD> Indicates where on the head node to attach the head of the edge.
wolffd@0 826 In the default case, the edge is aimed towards the center of the node,
wolffd@0 827 and then clipped at the node boundary.
wolffd@0 828 See <A HREF=#h:undir_note>limitation</A>.
wolffd@0 829
wolffd@0 830 <DT><A NAME=d:headtarget HREF=#a:headtarget><STRONG>headtarget</STRONG></A>
wolffd@0 831 <DD> If the edge has a <A HREF=#d:headURL>headURL</A>,
wolffd@0 832 this attribute determines which window of the
wolffd@0 833 browser is used
wolffd@0 834 for the URL. Setting it to "_graphviz" will open a new window if it
wolffd@0 835 doesn't already exist, or reuse it if it does.
wolffd@0 836 If undefined, the value of the <A HREF=#d:target>target</A> is used.
wolffd@0 837
wolffd@0 838 <DT><A NAME=d:headtooltip HREF=#a:headtooltip><STRONG>headtooltip</STRONG></A>
wolffd@0 839 <DD> Tooltip annotation attached to the head of an edge. This is used only
wolffd@0 840 if the edge has a <A HREF=#d:headURL>headURL</A> attribute.
wolffd@0 841
wolffd@0 842 <DT><A NAME=d:height HREF=#a:height><STRONG>height</STRONG></A>
wolffd@0 843 <DD> Height of node, in inches. This is taken as the initial, minimum height
wolffd@0 844 of the node. If <A HREF=#d:fixedsize><B>fixedsize</B></A> is true, this
wolffd@0 845 will be the final height of the node. Otherwise, if the node label
wolffd@0 846 requires more height to fit, the node's height will be increased to
wolffd@0 847 contain the label. Note also that, if the output format is dot, the
wolffd@0 848 value given to <B>height</B> will be the final value.
wolffd@0 849
wolffd@0 850 <DT><A NAME=d:href HREF=#a:href><STRONG>href</STRONG></A>
wolffd@0 851 <DD> Synonym for <A HREF=#d:URL>URL</A>.
wolffd@0 852
wolffd@0 853 <DT><A NAME=d:id HREF=#a:id><STRONG>id</STRONG></A>
wolffd@0 854 <DD> Allows the graph author to provide an id for graph objects which is to be included in the output.
wolffd@0 855 Normal "N", "E", "G" substitutions are applied.
wolffd@0 856 If provided, it is the reponsiblity of the provider to keep
wolffd@0 857 its values sufficiently unique for its intended downstream use.
wolffd@0 858 Note, in particular, that "E" does not provide a unique id for multi-edges.
wolffd@0 859 If no id attribute is provided, then a unique internal id is used, however this value is unpredictable by the graph writer.
wolffd@0 860 An externally provided id is not used internally.
wolffd@0 861
wolffd@0 862 <DT><A NAME=d:image HREF=#a:image><STRONG>image</STRONG></A>
wolffd@0 863 <DD> Gives the name of a file containing an image to be displayed inside
wolffd@0 864 a node. The image file must be in one of the recognized
wolffd@0 865 <A HREF=output.html#d:image_fmts>formats</A>,
wolffd@0 866 typically JPEG, PNG, GIF or Postscript, and be able to be converted
wolffd@0 867 into the desired output format.
wolffd@0 868 <P>
wolffd@0 869 Unlike with the <A HREF=#d:shapefile>shapefile</A> attribute,
wolffd@0 870 the image is treated as node
wolffd@0 871 content rather than the entire node. In particular, an image can
wolffd@0 872 be contained in a node of any shape, not just a rectangle.
wolffd@0 873
wolffd@0 874 <DT><A NAME=d:imagescale HREF=#a:imagescale><STRONG>imagescale</STRONG></A>
wolffd@0 875 <DD> Attribute controlling how an image fills its
wolffd@0 876 containing node. In general, the image is given its natural size,
wolffd@0 877 (cf. <A HREF=#d:dpi>dpi</A>),
wolffd@0 878 and the node size is made large enough to contain its image, its
wolffd@0 879 label, its margin, and its peripheries.
wolffd@0 880 Its width and height will also be at least as large as its
wolffd@0 881 minimum <A HREF=#d:width>width</A> and <A HREF=#d:height>height</A>.
wolffd@0 882 If, however, <TT>fixedsize=true</TT>,
wolffd@0 883 the width and height attributes specify the exact size of the node.
wolffd@0 884 <P>
wolffd@0 885 During rendering, in the default case (<TT>imagescale=false</TT>),
wolffd@0 886 the image retains its natural size.
wolffd@0 887 If <TT>imagescale=true</TT>,
wolffd@0 888 the image is uniformly scaled (i.e., its aspect ratio is
wolffd@0 889 preserved) to fit inside the node.
wolffd@0 890 At least one dimension of the image will be as large as possible
wolffd@0 891 given the size of the node.
wolffd@0 892 When <TT>imagescale=width</TT>,
wolffd@0 893 the width of the image is scaled to fill the node width.
wolffd@0 894 The corresponding property holds when <TT>imagescale=height</TT>.
wolffd@0 895 When <TT>imagescale=both</TT>,
wolffd@0 896 both the height and the width are scaled separately to fill the node.
wolffd@0 897 <P>
wolffd@0 898 In all cases, if a dimension of the image is larger than the
wolffd@0 899 corresponding dimension of the node, that dimension of the
wolffd@0 900 image is scaled down to fit the node. As with the case of
wolffd@0 901 expansion, if <TT>imagescale=true</TT>, width and height are
wolffd@0 902 scaled uniformly.
wolffd@0 903
wolffd@0 904 <DT><A NAME=d:label HREF=#a:label><STRONG>label</STRONG></A>
wolffd@0 905 <DD> Text label attached to objects.
wolffd@0 906 If a node's <A HREF=#d:shape>shape</A> is record, then the label can
wolffd@0 907 have a <A HREF=shapes.html#record>special format</A>
wolffd@0 908 which describes the record layout.
wolffd@0 909
wolffd@0 910 <DT><A NAME=d:labelURL HREF=#a:labelURL><STRONG>labelURL</STRONG></A>
wolffd@0 911 <DD> If <B>labelURL</B> is defined, this is the link used for the label
wolffd@0 912 of an edge. This value overrides any <A HREF=#d:URL>URL</A>
wolffd@0 913 defined for the edge.
wolffd@0 914
wolffd@0 915 <DT><A NAME=d:labelangle HREF=#a:labelangle><STRONG>labelangle</STRONG></A>
wolffd@0 916 <DD> This, along with <A HREF=#d:labeldistance>labeldistance</A>, determine
wolffd@0 917 where the
wolffd@0 918 headlabel (taillabel) are placed with respect to the head (tail)
wolffd@0 919 in polar coordinates. The origin in the coordinate system is
wolffd@0 920 the point where the edge touches the node. The ray of 0 degrees
wolffd@0 921 goes from the origin back along the edge, parallel to the edge
wolffd@0 922 at the origin.
wolffd@0 923 <P>
wolffd@0 924 The angle, in degrees, specifies the rotation from the 0 degree ray,
wolffd@0 925 with positive angles moving counterclockwise and negative angles
wolffd@0 926 moving clockwise.
wolffd@0 927
wolffd@0 928 <DT><A NAME=d:labeldistance HREF=#a:labeldistance><STRONG>labeldistance</STRONG></A>
wolffd@0 929 <DD> Multiplicative scaling factor adjusting the distance that
wolffd@0 930 the headlabel(taillabel) is from the head(tail) node.
wolffd@0 931 The default distance is 10 points. See <A HREF=#d:labelangle>labelangle</A>
wolffd@0 932 for more details.
wolffd@0 933
wolffd@0 934 <DT><A NAME=d:labelfloat HREF=#a:labelfloat><STRONG>labelfloat</STRONG></A>
wolffd@0 935 <DD> If true, allows edge labels to be less constrained in position.
wolffd@0 936 In particular, it may appear on top of other edges.
wolffd@0 937
wolffd@0 938 <DT><A NAME=d:labelfontcolor HREF=#a:labelfontcolor><STRONG>labelfontcolor</STRONG></A>
wolffd@0 939 <DD> Color used for headlabel and taillabel.
wolffd@0 940 If not set, defaults to edge's fontcolor.
wolffd@0 941
wolffd@0 942 <DT><A NAME=d:labelfontname HREF=#a:labelfontname><STRONG>labelfontname</STRONG></A>
wolffd@0 943 <DD> Font used for headlabel and taillabel.
wolffd@0 944 If not set, defaults to edge's fontname.
wolffd@0 945
wolffd@0 946 <DT><A NAME=d:labelfontsize HREF=#a:labelfontsize><STRONG>labelfontsize</STRONG></A>
wolffd@0 947 <DD> Font size, <A HREF=#points>in points</A>, used for headlabel and taillabel.
wolffd@0 948 If not set, defaults to edge's fontsize.
wolffd@0 949
wolffd@0 950 <DT><A NAME=d:labelhref HREF=#a:labelhref><STRONG>labelhref</STRONG></A>
wolffd@0 951 <DD> Synonym for <A HREF=#d:labelURL>labelURL</A>.
wolffd@0 952
wolffd@0 953 <DT><A NAME=d:labeljust HREF=#a:labeljust><STRONG>labeljust</STRONG></A>
wolffd@0 954 <DD> Justification for cluster labels. If "r", the label
wolffd@0 955 is right-justified within bounding rectangle; if "l", left-justified;
wolffd@0 956 else the label is centered.
wolffd@0 957 Note that a subgraph inherits attributes from its parent. Thus, if
wolffd@0 958 the root graph sets <B>labeljust</B> to "l", the subgraph inherits
wolffd@0 959 this value.
wolffd@0 960
wolffd@0 961 <DT><A NAME=d:labelloc HREF=#a:labelloc><STRONG>labelloc</STRONG></A>
wolffd@0 962 <DD> Top/bottom placement of graph and cluster labels.
wolffd@0 963 If the attribute is "t", place label at the top;
wolffd@0 964 if the attribute is "b", place label at the bottom.
wolffd@0 965 By default, root
wolffd@0 966 graph labels go on the bottom and cluster labels go on the top.
wolffd@0 967 Note that a subgraph inherits attributes from its parent. Thus, if
wolffd@0 968 the root graph sets <B>labelloc</B> to "b", the subgraph inherits
wolffd@0 969 this value.
wolffd@0 970
wolffd@0 971 <DT><A NAME=dd:labelloc HREF=#aa:labelloc><STRONG>labelloc</STRONG></A>
wolffd@0 972 <DD> Vertical placement of node label. By default, if the height of a node
wolffd@0 973 is larger than the height of its label, the label is vertically centered.
wolffd@0 974 If <TT>labelloc</TT> is set to "t", "c", or "b", the label is aligned
wolffd@0 975 with the top, centered, or aligned with the bottom of the node, respectively.
wolffd@0 976
wolffd@0 977 <DT><A NAME=d:labeltarget HREF=#a:labeltarget><STRONG>labeltarget</STRONG></A>
wolffd@0 978 <DD> If the edge has a <A HREF=#d:URL>URL</A> or <A HREF=#d:labelURL>labelURL</A>
wolffd@0 979 attribute, this attribute determines which window of the
wolffd@0 980 browser is used
wolffd@0 981 for the URL attached to the label.
wolffd@0 982 Setting it to "_graphviz" will open a new window if it
wolffd@0 983 doesn't already exist, or reuse it if it does.
wolffd@0 984 If undefined, the value of the <A HREF=#d:target>target</A> is used.
wolffd@0 985
wolffd@0 986 <DT><A NAME=d:labeltooltip HREF=#a:labeltooltip><STRONG>labeltooltip</STRONG></A>
wolffd@0 987 <DD> Tooltip annotation attached to label of an edge.
wolffd@0 988 This is used only if the edge has a <A HREF=#d:URL>URL</A>
wolffd@0 989 or <A HREF=#d:labelURL>labelURL</A> attribute.
wolffd@0 990
wolffd@0 991 <DT><A NAME=d:landscape HREF=#a:landscape><STRONG>landscape</STRONG></A>
wolffd@0 992 <DD> If true, the graph is rendered in landscape mode. Synonymous with
wolffd@0 993 <A HREF=#d:rotate><TT>rotate=90</TT></A> or
wolffd@0 994 <A HREF=#d:orientation><TT>orientation=landscape</TT></A>.
wolffd@0 995
wolffd@0 996 <DT><A NAME=d:layer HREF=#a:layer><STRONG>layer</STRONG></A>
wolffd@0 997 <DD> Specifies layers in which the node or edge is present.
wolffd@0 998
wolffd@0 999 <DT><A NAME=d:layers HREF=#a:layers><STRONG>layers</STRONG></A>
wolffd@0 1000 <DD> Specifies a linearly ordered list of layer names attached to the graph
wolffd@0 1001 The graph is then output in separate layers. Only those components
wolffd@0 1002 belonging to the current output layer appear. For more information,
wolffd@0 1003 see the page <A HREF="http://www.graphviz.org/Documentation/html/layers/">How to use drawing layers (overlays)</A>.
wolffd@0 1004
wolffd@0 1005 <DT><A NAME=d:layersep HREF=#a:layersep><STRONG>layersep</STRONG></A>
wolffd@0 1006 <DD> Specifies the separator characters used to split the
wolffd@0 1007 <A HREF=#d:layers>layers </A>attribute into a list of layer names.
wolffd@0 1008
wolffd@0 1009 <DT><A NAME=d:layout HREF=#a:layout><STRONG>layout</STRONG></A>
wolffd@0 1010 <DD> Specifies the name of the layout algorithm to use, such as "dot"
wolffd@0 1011 or "neato". Normally, graphs should be kept independent of a type of
wolffd@0 1012 layout. In some cases, however, it can be convenient to embed the type
wolffd@0 1013 of layout desired within the graph. For example, a graph containing
wolffd@0 1014 position information from a layout might want to record what the
wolffd@0 1015 associated layout algorithm was.
wolffd@0 1016 <P>
wolffd@0 1017 This attribute takes precedence over
wolffd@0 1018 the <A HREF=command.html#minusK>-K flag</A>
wolffd@0 1019 or the actual command name used.
wolffd@0 1020
wolffd@0 1021 <DT><A NAME=d:len HREF=#a:len><STRONG>len</STRONG></A>
wolffd@0 1022 <DD> Preferred edge length, in inches.
wolffd@0 1023
wolffd@0 1024 <DT><A NAME=d:levels HREF=#a:levels><STRONG>levels</STRONG></A>
wolffd@0 1025 <DD> Number of levels allowed in the multilevel scheme.
wolffd@0 1026
wolffd@0 1027 <DT><A NAME=d:levelsgap HREF=#a:levelsgap><STRONG>levelsgap</STRONG></A>
wolffd@0 1028 <DD> Specifies strictness of level constraints in neato
wolffd@0 1029 when <TT><A HREF=#d:mode>mode</A>="ipsep" or "hier"</TT>.
wolffd@0 1030 Larger positive values mean stricter constraints, which demand more
wolffd@0 1031 separation between levels. On the other hand, negative values will relax
wolffd@0 1032 the constraints by allowing some overlap between the levels.
wolffd@0 1033
wolffd@0 1034 <DT><A NAME=d:lhead HREF=#a:lhead><STRONG>lhead</STRONG></A>
wolffd@0 1035 <DD> Logical head of an edge. When <A HREF=#d:compound><B>compound</B></A> is true,
wolffd@0 1036 if <B>lhead</B> is defined and is the name of a cluster containing
wolffd@0 1037 the real head,
wolffd@0 1038 the edge is clipped to the boundary of the cluster.
wolffd@0 1039 See <A HREF=#h:undir_note>limitation</A>.
wolffd@0 1040
wolffd@0 1041 <DT><A NAME=d:lp HREF=#a:lp><STRONG>lp</STRONG></A>
wolffd@0 1042 <DD> Label position, <A HREF=#points>in points</A>.
wolffd@0 1043 The position indicates the center of the label.
wolffd@0 1044
wolffd@0 1045 <DT><A NAME=d:ltail HREF=#a:ltail><STRONG>ltail</STRONG></A>
wolffd@0 1046 <DD> Logical tail of an edge. When <A HREF=#d:compound><B>compound</B></A> is true,
wolffd@0 1047 if <B>ltail</B> is defined and is the name of a cluster
wolffd@0 1048 containing the real tail,
wolffd@0 1049 the edge is clipped to the boundary of the cluster.
wolffd@0 1050 See <A HREF=#h:undir_note>limitation</A>.
wolffd@0 1051
wolffd@0 1052 <DT><A NAME=d:margin HREF=#a:margin><STRONG>margin</STRONG></A>
wolffd@0 1053 <DD> For graphs, this sets x and y margins of canvas, in inches. If the margin
wolffd@0 1054 is a single double, both margins are set equal to the given value.
wolffd@0 1055 <P>
wolffd@0 1056 Note that the margin is not part of the drawing but just empty space
wolffd@0 1057 left around the drawing. It basically corresponds to a translation of
wolffd@0 1058 drawing, as would be necessary to center a drawing on a page. Nothing
wolffd@0 1059 is actually drawn in the margin. To actually extend the background of
wolffd@0 1060 a drawing, see the <A HREF=#d:pad>pad</A> attribute.
wolffd@0 1061 <P>
wolffd@0 1062 For nodes, this attribute specifies space left around the node's label.
wolffd@0 1063 By default, the value is <TT>0.11,0.055</TT>.
wolffd@0 1064
wolffd@0 1065 <DT><A NAME=d:maxiter HREF=#a:maxiter><STRONG>maxiter</STRONG></A>
wolffd@0 1066 <DD> Sets the number of iterations used.
wolffd@0 1067
wolffd@0 1068 <DT><A NAME=d:mclimit HREF=#a:mclimit><STRONG>mclimit</STRONG></A>
wolffd@0 1069 <DD> Multiplicative scale factor used to alter the MinQuit (default = 8)
wolffd@0 1070 and MaxIter (default = 24) parameters used during crossing
wolffd@0 1071 minimization. These correspond to the
wolffd@0 1072 number of tries without improvement before quitting and the
wolffd@0 1073 maximum number of iterations in each pass.
wolffd@0 1074
wolffd@0 1075 <DT><A NAME=d:mindist HREF=#a:mindist><STRONG>mindist</STRONG></A>
wolffd@0 1076 <DD> Specifies the minimum separation between all nodes.
wolffd@0 1077
wolffd@0 1078 <DT><A NAME=d:minlen HREF=#a:minlen><STRONG>minlen</STRONG></A>
wolffd@0 1079 <DD> Minimum edge length (rank difference between head and tail).
wolffd@0 1080
wolffd@0 1081 <DT><A NAME=d:mode HREF=#a:mode><STRONG>mode</STRONG></A>
wolffd@0 1082 <DD> Technique for optimizing the layout. If <B>mode</B> is <TT>"major"</TT>,
wolffd@0 1083 neato uses stress majorization. If <B>mode</B> is <TT>"KK"</TT>,
wolffd@0 1084 neato uses a version of the gradient descent method. The only advantage
wolffd@0 1085 to the latter technique is that it is sometimes appreciably faster for
wolffd@0 1086 small (number of nodes < 100) graphs. A significant disadvantage is that
wolffd@0 1087 it may cycle.
wolffd@0 1088 <P>
wolffd@0 1089 There are two new, experimental modes in neato, "hier", which adds a top-down
wolffd@0 1090 directionality similar to the layout used in dot, and "ipsep", which
wolffd@0 1091 allows the graph to specify minimum vertical and horizontal distances
wolffd@0 1092 between nodes. (See the <A HREF=#d:sep>sep</A> attribute.)
wolffd@0 1093
wolffd@0 1094 <DT><A NAME=d:model HREF=#a:model><STRONG>model</STRONG></A>
wolffd@0 1095 <DD> This value specifies how the distance matrix is computed for the input
wolffd@0 1096 graph. The distance matrix specifies the ideal distance between every
wolffd@0 1097 pair of nodes. neato attemps to find a layout which best achieves
wolffd@0 1098 these distances. By default, it uses the length of the shortest path,
wolffd@0 1099 where the length of each edge is given by its <A HREF=#d:len>len</A>
wolffd@0 1100 attribute. If <B>model</B> is <TT>"circuit"</TT>, neato uses the
wolffd@0 1101 circuit resistance
wolffd@0 1102 model to compute the distances. This tends to emphasize clusters. If
wolffd@0 1103 <B>model</B> is <TT>"subset"</TT>, neato uses the subset model. This sets the
wolffd@0 1104 edge length to be the number of nodes that are neighbors of exactly one
wolffd@0 1105 of the end points, and then calculates the shortest paths. This helps
wolffd@0 1106 to separate nodes with high degree.
wolffd@0 1107
wolffd@0 1108 <DT><A NAME=d:mosek HREF=#a:mosek><STRONG>mosek</STRONG></A>
wolffd@0 1109 <DD> If Graphviz is built with MOSEK defined, mode=ipsep and mosek=true,
wolffd@0 1110 the Mosek software (www.mosek.com) is use to solve the ipsep constraints.
wolffd@0 1111
wolffd@0 1112 <DT><A NAME=d:nodesep HREF=#a:nodesep><STRONG>nodesep</STRONG></A>
wolffd@0 1113 <DD> Minimum space between two adjacent nodes in the same rank, in inches.
wolffd@0 1114
wolffd@0 1115 <DT><A NAME=d:nojustify HREF=#a:nojustify><STRONG>nojustify</STRONG></A>
wolffd@0 1116 <DD> By default, the justification of multi-line labels is done within the
wolffd@0 1117 largest context that makes sense. Thus, in the label of a polygonal
wolffd@0 1118 node, a left-justified line will align with the left side of the node
wolffd@0 1119 (shifted by the prescribed <A HREF=#d:margin>margin</A>).
wolffd@0 1120 In record nodes, left-justified
wolffd@0 1121 line will line up with the left side of the enclosing column of fields.
wolffd@0 1122 If <B>nojustify</B> is <TT>"true"</TT>, multi-line labels will be justified
wolffd@0 1123 in the context of itself. For example, if the attribute is set,
wolffd@0 1124 the first label line is long, and the second is shorter and left-justified,
wolffd@0 1125 the second will align with the left-most character in the first line,
wolffd@0 1126 regardless of how large the node might be.
wolffd@0 1127
wolffd@0 1128 <DT><A NAME=d:normalize HREF=#a:normalize><STRONG>normalize</STRONG></A>
wolffd@0 1129 <DD> If set, normalize coordinates of final
wolffd@0 1130 layout so that the first point is at the origin, and then rotate the
wolffd@0 1131 layout so that the first edge is horizontal.
wolffd@0 1132
wolffd@0 1133 <DT><A NAME=d:nslimit HREF=#a:nslimit><STRONG>nslimit</STRONG></A>
wolffd@0 1134 ,<DT><A NAME=d:nslimit1 HREF=#a:nslimit1><STRONG>nslimit1</STRONG></A>
wolffd@0 1135 <DD> Used to set number of iterations in
wolffd@0 1136 network simplex applications. <B>nslimit</B> is used in
wolffd@0 1137 computing node x coordinates, <B>nslimit1</B> for ranking nodes.
wolffd@0 1138 If defined, # iterations = <B>nslimit(1)</B> * # nodes;
wolffd@0 1139 otherwise, # iterations = MAXINT.
wolffd@0 1140
wolffd@0 1141 <DT><A NAME=d:ordering HREF=#a:ordering><STRONG>ordering</STRONG></A>
wolffd@0 1142 <DD> If "out" for a graph G, and n is a node in G, then edges n->* appear
wolffd@0 1143 left-to-right in the same order in which they are defined.
wolffd@0 1144 If "in", the edges *->n appear
wolffd@0 1145 left-to-right in the same order in which they are defined for all
wolffd@0 1146 nodes n.
wolffd@0 1147
wolffd@0 1148 <DT><A NAME=d:orientation HREF=#a:orientation><STRONG>orientation</STRONG></A>
wolffd@0 1149 <DD> Angle, in degrees, used to rotate polygon node shapes. For any number of polygon sides, 0 degrees rotation results in a flat base.
wolffd@0 1150
wolffd@0 1151 <DT><A NAME=dd:orientation HREF=#aa:orientation><STRONG>orientation</STRONG></A>
wolffd@0 1152 <DD> If "[lL]*", set graph orientation to landscape
wolffd@0 1153 Used only if <A HREF=#d:rotate><B>rotate</B></A> is not defined.
wolffd@0 1154
wolffd@0 1155 <DT><A NAME=d:outputorder HREF=#a:outputorder><STRONG>outputorder</STRONG></A>
wolffd@0 1156 <DD> Specify order in which nodes and edges are drawn.
wolffd@0 1157
wolffd@0 1158 <DT><A NAME=d:overlap HREF=#a:overlap><STRONG>overlap</STRONG></A>
wolffd@0 1159 <DD> Determines if and how node overlaps should be removed. Nodes are first
wolffd@0 1160 enlarged using the <A HREF=#d:sep><B>sep</B></A> attribute.
wolffd@0 1161 If "true" , overlaps are retained.
wolffd@0 1162 If the value is "scale", overlaps are removed by uniformly scaling in x and y.
wolffd@0 1163 If the value converts to "false", node overlaps are removed by a
wolffd@0 1164 Voronoi-based technique.
wolffd@0 1165 If the value is "scalexy", x and y are separately
wolffd@0 1166 scaled to remove overlaps.
wolffd@0 1167 <P>
wolffd@0 1168 If sfdp is available, one can set overlap to "prism" to use a
wolffd@0 1169 proximity graph-based algorithm for overlap removal.
wolffd@0 1170 This is the preferred technique,
wolffd@0 1171 though "scale" and "false" can work well with small graphs.
wolffd@0 1172 This technique starts with a
wolffd@0 1173 small scaling up, controlled by the
wolffd@0 1174 <A HREF="#d:overlap_scaling"><TT>overlap_scaling</TT></A> attribute,
wolffd@0 1175 which can remove a significant portion of the overlap.
wolffd@0 1176 The prism option also accepts an optional non-negative integer suffix.
wolffd@0 1177 This can be used to control the number of attempts made at overlap
wolffd@0 1178 removal. By default, <TT>overlap="prism"</TT> is equivalent to
wolffd@0 1179 <TT>overlap="prism1000"</TT>. Setting <TT>overlap="prism0"</TT>
wolffd@0 1180 causes only the scaling phase to be run.
wolffd@0 1181 <P>
wolffd@0 1182 If the value is "compress", the layout will be scaled down as much as
wolffd@0 1183 possible without introducing any overlaps, obviously assuming there are
wolffd@0 1184 none to begin with.
wolffd@0 1185 <P>
wolffd@0 1186 <B>N.B.</B>The remaining allowed values of <TT>overlap</TT>
wolffd@0 1187 correspond to algorithms which, at present, can produce bad aspect ratios.
wolffd@0 1188 In addition, we deprecate the use of the "ortho*" and "portho*".
wolffd@0 1189 <P>
wolffd@0 1190 If the value is "vpsc", overlap removal is done as a
wolffd@0 1191 quadratic optimization to minimize node displacement while removing
wolffd@0 1192 node overlaps.
wolffd@0 1193 <P>
wolffd@0 1194 If the value is "orthoxy" or "orthoyx", overlaps
wolffd@0 1195 are moved by optimizing two constraint problems, one for the x axis and
wolffd@0 1196 one for the y. The suffix indicates which axis is processed first.
wolffd@0 1197 If the value is "ortho", the technique is similar to "orthoxy" except a
wolffd@0 1198 heuristic is used to reduce the bias between the two passes.
wolffd@0 1199 If the value is "ortho_yx", the technique is the same as "ortho", except
wolffd@0 1200 the roles of x and y are reversed.
wolffd@0 1201 The values "portho", "porthoxy", "porthoxy", and "portho_yx" are similar
wolffd@0 1202 to the previous four, except only pseudo-orthogonal ordering is
wolffd@0 1203 enforced.
wolffd@0 1204 <P>
wolffd@0 1205 If the layout is done by neato with <A HREF=#d:mode>mode</A>="ipsep",
wolffd@0 1206 then one can use <TT>overlap=ipsep</TT>.
wolffd@0 1207 In this case, the overlap removal constraints are
wolffd@0 1208 incorporated into the layout algorithm itself.
wolffd@0 1209 N.B. At present, this only supports one level of clustering.
wolffd@0 1210 <P>
wolffd@0 1211 Except for fdp and sfdp, the layouts assume <TT>overlap="true"</TT> as the default.
wolffd@0 1212 Fdp first uses a number of passes using built-in, force-directed technique
wolffd@0 1213 to remove overlaps. Thus, fdp accepts <B>overlap</B> with an integer
wolffd@0 1214 prefix followed by a colon, specifying the number of tries. If there is
wolffd@0 1215 no prefix, no initial tries will be performed. If there is nothing following
wolffd@0 1216 a colon, none of the above methods will be attempted. By default, fdp
wolffd@0 1217 uses <TT>overlap="9:portho"</TT>. Note that <TT>overlap="true"</TT>,
wolffd@0 1218 <TT>overlap="0:true"</TT> and <TT>overlap="0:"</TT> all turn off all overlap
wolffd@0 1219 removal.
wolffd@0 1220 <P>
wolffd@0 1221 By default, sfdp uses <TT>overlap="prism0"</TT>.
wolffd@0 1222 <P>
wolffd@0 1223 Except for the Voronoi and prism methods, all of these transforms preserve the
wolffd@0 1224 orthogonal ordering of the original layout. That is, if the x coordinates
wolffd@0 1225 of two nodes are originally the same, they will remain the same, and if
wolffd@0 1226 the x coordinate of one node is originally less than the x coordinate of
wolffd@0 1227 another, this relation will still hold in the transformed layout. The
wolffd@0 1228 similar properties hold for the y coordinates.
wolffd@0 1229 This is not quite true for the "porth*" cases. For these, orthogonal
wolffd@0 1230 ordering is only preserved among nodes related by an edge.
wolffd@0 1231
wolffd@0 1232 <DT><A NAME=d:overlap_scaling HREF=#a:overlap_scaling><STRONG>overlap_scaling</STRONG></A>
wolffd@0 1233 <DD> When <TT>overlap=prism</TT>, the layout is scaled by this factor, thereby
wolffd@0 1234 removing a fair amount of node overlap, and making node overlap removal
wolffd@0 1235 faster and better able to retain the graph's shape.
wolffd@0 1236 <P>
wolffd@0 1237 If <TT>overlap_scaling</TT> is negative, the layout is scaled by
wolffd@0 1238 <TT>-1*overlap_scaling</TT> times the average label size.
wolffd@0 1239 If <TT>overlap_scaling</TT> is positive, the layout is scaled by
wolffd@0 1240 <TT>overlap_scaling</TT>.
wolffd@0 1241 If <TT>overlap_scaling</TT> is zero, no scaling is done.
wolffd@0 1242
wolffd@0 1243 <DT><A NAME=d:pack HREF=#a:pack><STRONG>pack</STRONG></A>
wolffd@0 1244 <DD> This is true if the value of pack is "true" (case-insensitive) or a
wolffd@0 1245 non-negative integer. If true, each connected component of the graph is
wolffd@0 1246 laid out separately, and then the graphs are packed together.
wolffd@0 1247 If pack has an integral value, this is used as the size,
wolffd@0 1248 in <A HREF=#points>points</A>, of
wolffd@0 1249 a margin around each part; otherwise, a default margin of 8 is used.
wolffd@0 1250 If pack is interpreted as false, the entire graph is laid out together.
wolffd@0 1251 The granularity and method of packing is influenced by the
wolffd@0 1252 <A HREF=#d:packmode>packmode</A> attribute.
wolffd@0 1253 <P>
wolffd@0 1254 For layouts which always do packing, such a twopi, the <B>pack</B>
wolffd@0 1255 attribute is just used to set the margin.
wolffd@0 1256
wolffd@0 1257 <DT><A NAME=d:packmode HREF=#a:packmode><STRONG>packmode</STRONG></A>
wolffd@0 1258 <DD> This indicates how connected components should be packed
wolffd@0 1259 (cf. <A HREF=#k:packMode>packMode</A>). Note that defining
wolffd@0 1260 <B>packmode</B> will automatically turn on packing as though one had
wolffd@0 1261 set <B>pack=true</B>.
wolffd@0 1262
wolffd@0 1263 <DT><A NAME=d:pad HREF=#a:pad><STRONG>pad</STRONG></A>
wolffd@0 1264 <DD> The pad attribute specifies how much, in inches, to extend the
wolffd@0 1265 drawing area around the minimal area needed to draw the graph.
wolffd@0 1266 If the pad is a single double, both the x and y pad values are set
wolffd@0 1267 equal to the given value. This area is part of the
wolffd@0 1268 drawing and will be filled with the background color, if appropriate.
wolffd@0 1269 <P>
wolffd@0 1270 Normally, a small pad is used for aesthetic reasons, especially when
wolffd@0 1271 a background color is used, to avoid having nodes and edges abutting
wolffd@0 1272 the boundary of the drawn region.
wolffd@0 1273
wolffd@0 1274 <DT><A NAME=d:page HREF=#a:page><STRONG>page</STRONG></A>
wolffd@0 1275 <DD> Width and height of output pages, in inches. If this is set and is
wolffd@0 1276 smaller than the size of the layout, a rectangular array of pages of
wolffd@0 1277 the specified page size is overlaid on the layout, with origins
wolffd@0 1278 aligned in the lower-left corner, thereby partitioning the layout
wolffd@0 1279 into pages. The pages are then produced one at a time, in
wolffd@0 1280 <A HREF=#d:pagedir>pagedir</A> order.
wolffd@0 1281 <P>
wolffd@0 1282 At present, this only works for PostScript output. For other types of
wolffd@0 1283 output, one should use another tool to split the output into multiple
wolffd@0 1284 output files. Or use the <A HREF=#d:viewport>viewport</A> to generate
wolffd@0 1285 multiple files.
wolffd@0 1286
wolffd@0 1287 <DT><A NAME=d:pagedir HREF=#a:pagedir><STRONG>pagedir</STRONG></A>
wolffd@0 1288 <DD> If the <A HREF=#d:page>page</A> attribute is set and applicable,
wolffd@0 1289 this attribute specifies the order in which the pages are emitted.
wolffd@0 1290 This is limited to one of the 8 row or column major orders.
wolffd@0 1291
wolffd@0 1292 <DT><A NAME=d:pencolor HREF=#a:pencolor><STRONG>pencolor</STRONG></A>
wolffd@0 1293 <DD> Color used to draw the bounding box around a cluster.
wolffd@0 1294 If <B>pencolor</B> is not defined, <A HREF=#d:color><B>color</B></A> is
wolffd@0 1295 used. If this is not defined, <A HREF=#d:bgcolor>bgcolor</A> is used.
wolffd@0 1296 If this is not defined, the default is used.
wolffd@0 1297 <P>
wolffd@0 1298 Note that a cluster inherits the root graph's attributes if defined.
wolffd@0 1299 Thus, if the root graph has defined a <B>pencolor</B>, this will override a
wolffd@0 1300 <B>color</B> or <B>bgcolor</B> attribute set for the cluster.
wolffd@0 1301
wolffd@0 1302 <DT><A NAME=d:penwidth HREF=#a:penwidth><STRONG>penwidth</STRONG></A>
wolffd@0 1303 <DD> Specifies the width of the pen, in points, used to draw lines and curves,
wolffd@0 1304 including the boundaries of edges and clusters. The value is inherited
wolffd@0 1305 by subclusters.
wolffd@0 1306 It has no effect on text.
wolffd@0 1307 <P>
wolffd@0 1308 Previous to 31 January 2008, the effect of <TT>penwidth=<I>W</I></TT>
wolffd@0 1309 was achieved by including <TT>setlinewidth(<I>W</I>)</TT>
wolffd@0 1310 as part of a <A HREF=#d:style><TT>style</TT></A> specification.
wolffd@0 1311 If both are used, <TT>penwidth</TT> will be used.
wolffd@0 1312
wolffd@0 1313 <DT><A NAME=d:peripheries HREF=#a:peripheries><STRONG>peripheries</STRONG></A>
wolffd@0 1314 <DD> Set number of peripheries used in polygonal shapes and cluster
wolffd@0 1315 boundaries. Note that
wolffd@0 1316 <A HREF=shapes.html#epsf>user-defined shapes</A> are treated as a
wolffd@0 1317 form of box shape, so the default
wolffd@0 1318 peripheries value is 1 and the user-defined shape will be drawn in
wolffd@0 1319 a bounding rectangle. Setting <TT>peripheries=0</TT> will turn this off.
wolffd@0 1320 Also, 1 is the maximum peripheries value for clusters.
wolffd@0 1321
wolffd@0 1322 <DT><A NAME=d:pin HREF=#a:pin><STRONG>pin</STRONG></A>
wolffd@0 1323 <DD> If true and the node has a pos attribute on input, neato or fdp prevents the
wolffd@0 1324 node from moving from the input position. This property can also be specified
wolffd@0 1325 in the pos attribute itself (cf. the <A HREF=#d:point>point</A> type).
wolffd@0 1326 <P>
wolffd@0 1327 <B>Note:</B> Due to an artifact of the implementation, final coordinates
wolffd@0 1328 are translated to the origin. Thus, if you look at the output coordinates
wolffd@0 1329 given in the (x)dot or plain format, pinned nodes will not have the same
wolffd@0 1330 output coordinates as were given on input. If this is important, a
wolffd@0 1331 simple workaround is to maintain the coordinates of a pinned node. The vector
wolffd@0 1332 difference between the old and new coordinates will give the translation,
wolffd@0 1333 which can then be subtracted from all of the appropriate coordinates.
wolffd@0 1334
wolffd@0 1335 <DT><A NAME=d:pos HREF=#a:pos><STRONG>pos</STRONG></A>
wolffd@0 1336 <DD> Position of node, or spline control points.
wolffd@0 1337 For nodes, the position indicates the center of the node.
wolffd@0 1338 On output, the coordinates are in <A HREF=#points>points</A>.
wolffd@0 1339 <P>
wolffd@0 1340 In neato and fdp, pos can be used to set the initial position of a node.
wolffd@0 1341 By default, the coordinates are assumed to be in inches. However, the
wolffd@0 1342 <A HREF=command.html#d:s>-s</A> command line flag can be used to specify
wolffd@0 1343 different units. As the output coordinates are in points,
wolffd@0 1344 feeding the output of a graph laid out by a Graphviz program into
wolffd@0 1345 neato or fdp will almost always require the -s flag.
wolffd@0 1346 <P>
wolffd@0 1347 When the <A HREF=command.html#d:n>-n</A> command line flag is used with
wolffd@0 1348 neato, it is assumed the positions have been set by one of the layout
wolffd@0 1349 programs, and are therefore in points. Thus, <TT>neato -n</TT> can accept
wolffd@0 1350 input correctly without requiring a <TT>-s</TT> flag and, in fact,
wolffd@0 1351 ignores any such flag.
wolffd@0 1352
wolffd@0 1353 <DT><A NAME=d:quadtree HREF=#a:quadtree><STRONG>quadtree</STRONG></A>
wolffd@0 1354 <DD> Quadtree scheme to use.
wolffd@0 1355 <P>
wolffd@0 1356 A TRUE bool value corresponds to "normal";
wolffd@0 1357 a FALSE bool value corresponds to "none".
wolffd@0 1358 As a slight exception to the normal interpretation of bool,
wolffd@0 1359 a value of "2" corresponds to "fast".
wolffd@0 1360
wolffd@0 1361 <DT><A NAME=d:quantum HREF=#a:quantum><STRONG>quantum</STRONG></A>
wolffd@0 1362 <DD> If <B>quantum</B> > 0.0, node label dimensions
wolffd@0 1363 will be rounded to integral multiples of the quantum.
wolffd@0 1364
wolffd@0 1365 <DT><A NAME=d:rank HREF=#a:rank><STRONG>rank</STRONG></A>
wolffd@0 1366 <DD> Rank constraints on the nodes in a subgraph.
wolffd@0 1367 If <B>rank</B>="same", all nodes are placed on the same rank.
wolffd@0 1368 If <B>rank</B>="min", all nodes are placed on the minimum rank.
wolffd@0 1369 If <B>rank</B>="source", all nodes are placed on the minimum rank, and
wolffd@0 1370 the only nodes on the minimum rank belong to some subgraph whose
wolffd@0 1371 rank attribute is "source" or "min".
wolffd@0 1372 Analogous criteria hold for <B>rank</B>="max" and <B>rank</B>="sink".
wolffd@0 1373 (Note: the
wolffd@0 1374 minimum rank is topmost or leftmost, and the maximum rank is bottommost
wolffd@0 1375 or rightmost.)
wolffd@0 1376
wolffd@0 1377 <DT><A NAME=d:rankdir HREF=#a:rankdir><STRONG>rankdir</STRONG></A>
wolffd@0 1378 <DD> Sets direction of graph layout. For example, if <B>rankdir</B>="LR",
wolffd@0 1379 and barring cycles, an edge <CODE>T -> H;</CODE> will go
wolffd@0 1380 from left to right. By default, graphs are laid out from top to bottom.
wolffd@0 1381 <P>
wolffd@0 1382 This attribute also has a side-effect in determining how record nodes
wolffd@0 1383 are interpreted. See <A HREF="shapes.html#record">record shapes</A>.
wolffd@0 1384
wolffd@0 1385 <DT><A NAME=d:ranksep HREF=#a:ranksep><STRONG>ranksep</STRONG></A>
wolffd@0 1386 <DD> In dot, this gives the desired rank separation, in inches. This is
wolffd@0 1387 the minimum vertical distance between the bottom of the nodes in one
wolffd@0 1388 rank and the tops of nodes in the next. If the value
wolffd@0 1389 contains "equally", the centers of all ranks are spaced equally apart.
wolffd@0 1390 Note that both
wolffd@0 1391 settings are possible, e.g., ranksep = "1.2 equally".
wolffd@0 1392 In twopi, specifies radial separation of concentric circles.
wolffd@0 1393
wolffd@0 1394 <DT><A NAME=d:ratio HREF=#a:ratio><STRONG>ratio</STRONG></A>
wolffd@0 1395 <DD> Sets the aspect ratio (drawing height/drawing width) for the drawing.
wolffd@0 1396 Note that this is adjusted before
wolffd@0 1397 the <A HREF=#d:size><B>size</B></A> attribute constraints are enforced.
wolffd@0 1398 <P>
wolffd@0 1399 If <B>ratio</B> is numeric, it is taken as the desired aspect ratio.
wolffd@0 1400 Then, if the actual aspect ratio is less than the desired ratio,
wolffd@0 1401 the drawing height is scaled up to achieve the
wolffd@0 1402 desired ratio; if the actual ratio is greater than that desired ratio,
wolffd@0 1403 the drawing width is scaled up.
wolffd@0 1404 <P>
wolffd@0 1405 If <B>ratio</B> = "fill" and the <A HREF=#d:size><B>size</B></A>
wolffd@0 1406 attribute is set, node positions are scaled, separately in both x
wolffd@0 1407 and y, so that the final drawing exactly fills the specified size.
wolffd@0 1408 <P>
wolffd@0 1409 If <B>ratio</B> = "compress" and the <A HREF=#d:size><B>size</B></A>
wolffd@0 1410 attribute is set, dot attempts to compress the initial layout to fit
wolffd@0 1411 in the given size. This achieves a tighter packing of nodes but
wolffd@0 1412 reduces the balance and symmetry. This feature only works in dot.
wolffd@0 1413 <P>
wolffd@0 1414 If <B>ratio</B> = "expand", the <A HREF=#d:size><B>size</B></A>
wolffd@0 1415 attribute is set, and both the width and the height of the graph are
wolffd@0 1416 less than the value in <A HREF=#d:size><B>size</B></A>, node positions are scaled
wolffd@0 1417 uniformly until at least
wolffd@0 1418 one dimension fits <A HREF=#d:size><B>size</B></A> exactly.
wolffd@0 1419 Note that this is distinct from using <A HREF=#d:size><B>size</B></A> as the
wolffd@0 1420 desired size, as here the drawing is expanded before edges are generated and
wolffd@0 1421 all node and text sizes remain unchanged.
wolffd@0 1422 <P>
wolffd@0 1423 If <B>ratio</B> = "auto", the <A HREF=#d:page><B>page</B></A>
wolffd@0 1424 attribute is set and the graph cannot be drawn on a single page,
wolffd@0 1425 then <A HREF=#d:size><B>size</B></A> is set to an ``ideal'' value.
wolffd@0 1426 In particular, the size in a given dimension will be the smallest integral
wolffd@0 1427 multiple of the page size in that dimension which is at least half the
wolffd@0 1428 current size. The two dimensions are then scaled independently to the
wolffd@0 1429 new size. This feature only works in dot.
wolffd@0 1430
wolffd@0 1431 <DT><A NAME=d:rects HREF=#a:rects><STRONG>rects</STRONG></A>
wolffd@0 1432 <DD> Rectangles for fields of records, <A HREF=#points>in points</A>.
wolffd@0 1433
wolffd@0 1434 <DT><A NAME=d:regular HREF=#a:regular><STRONG>regular</STRONG></A>
wolffd@0 1435 <DD> If true, force polygon to be regular.
wolffd@0 1436
wolffd@0 1437 <DT><A NAME=d:remincross HREF=#a:remincross><STRONG>remincross</STRONG></A>
wolffd@0 1438 <DD> If true and there are multiple clusters, run cross
wolffd@0 1439 minimization a second time.
wolffd@0 1440
wolffd@0 1441 <DT><A NAME=d:repulsiveforce HREF=#a:repulsiveforce><STRONG>repulsiveforce</STRONG></A>
wolffd@0 1442 <DD> The power of the repulsive force used in an extended Fruchterman-Reingold
wolffd@0 1443 force directed model. Values larger than 1 tend to reduce
wolffd@0 1444 the warping effect at the expense of less clustering.
wolffd@0 1445
wolffd@0 1446 <DT><A NAME=d:resolution HREF=#a:resolution><STRONG>resolution</STRONG></A>
wolffd@0 1447 <DD> This is a synonym for the <A HREF=#d:dpi>dpi</A> attribute.
wolffd@0 1448
wolffd@0 1449 <DT><A NAME=d:root HREF=#a:root><STRONG>root</STRONG></A>
wolffd@0 1450 <DD> This specifies nodes to be used as the center of the
wolffd@0 1451 layout and the root of the generated spanning tree. As a graph attribute,
wolffd@0 1452 this gives the name of the node. As a node attribute (circo only), it
wolffd@0 1453 specifies that the node should be used as a central node. In twopi,
wolffd@0 1454 this will actually be the central node. In circo, the block containing
wolffd@0 1455 the node will be central in the drawing of its connected component.
wolffd@0 1456 If not defined,
wolffd@0 1457 twopi will pick a most central node, and circo will pick a random node.
wolffd@0 1458
wolffd@0 1459 <DT><A NAME=d:rotate HREF=#a:rotate><STRONG>rotate</STRONG></A>
wolffd@0 1460 <DD> If 90, set drawing orientation to landscape.
wolffd@0 1461
wolffd@0 1462 <DT><A NAME=d:samehead HREF=#a:samehead><STRONG>samehead</STRONG></A>
wolffd@0 1463 <DD> Edges with the same head and the same <B>samehead</B> value are aimed
wolffd@0 1464 at the same point on the head.
wolffd@0 1465 See <A HREF=#h:undir_note>limitation</A>.
wolffd@0 1466
wolffd@0 1467 <DT><A NAME=d:sametail HREF=#a:sametail><STRONG>sametail</STRONG></A>
wolffd@0 1468 <DD> Edges with the same tail and the same <B>sametail</B> value are aimed
wolffd@0 1469 at the same point on the tail.
wolffd@0 1470 See <A HREF=#h:undir_note>limitation</A>.
wolffd@0 1471
wolffd@0 1472 <DT><A NAME=d:samplepoints HREF=#a:samplepoints><STRONG>samplepoints</STRONG></A>
wolffd@0 1473 <DD> If the input graph defines the <A HREF=#d:vertices><B>vertices</B></A>
wolffd@0 1474 attribute, and output is dot or xdot, this gives
wolffd@0 1475 the number of points used for a node whose shape is a circle or ellipse.
wolffd@0 1476 It plays the same role in neato, when adjusting the layout to avoid
wolffd@0 1477 overlapping nodes, and in image maps.
wolffd@0 1478
wolffd@0 1479 <DT><A NAME=d:searchsize HREF=#a:searchsize><STRONG>searchsize</STRONG></A>
wolffd@0 1480 <DD> During network simplex, maximum number of edges with negative cut values
wolffd@0 1481 to search when looking for one with minimum cut value.
wolffd@0 1482
wolffd@0 1483 <DT><A NAME=d:sep HREF=#a:sep><STRONG>sep</STRONG></A>
wolffd@0 1484 <DD> Specifies margin to leave around nodes when removing node overlap.
wolffd@0 1485 This guarantees a minimal non-zero distance between nodes.
wolffd@0 1486 <P>
wolffd@0 1487 If the attribute begins with a plus sign '+', an additive margin is
wolffd@0 1488 specified. That is, "+w,h" causes the node's bounding box to be increased
wolffd@0 1489 by w
wolffd@0 1490 points on the left and right sides, and by h points on the top and bottom.
wolffd@0 1491 Without a plus sign, the node is scaled by 1 + w in the x coordinate
wolffd@0 1492 and 1 + h in the y coordinate.
wolffd@0 1493 <P>
wolffd@0 1494 If only a single number is given, this is used for both dimensions.
wolffd@0 1495 <P>
wolffd@0 1496 If unset but <A HREF=#d:esep>esep</A> is defined, the <tt>sep</tt> values
wolffd@0 1497 will be set to the <tt>esep</tt> values divided by <tt>0.8</tt>.
wolffd@0 1498 If <tt>esep</tt> is unset, the default value is used.
wolffd@0 1499
wolffd@0 1500 <DT><A NAME=d:shape HREF=#a:shape><STRONG>shape</STRONG></A>
wolffd@0 1501 <DD> Set the shape of a node.
wolffd@0 1502
wolffd@0 1503 <DT><A NAME=d:shapefile HREF=#a:shapefile><STRONG>shapefile</STRONG></A>
wolffd@0 1504 <DD> (Deprecated) If defined, shapefile specifies a file containing user-supplied node content.
wolffd@0 1505 The <A HREF=#d:shape><B>shape</B></A> of the node is set to box.
wolffd@0 1506 The image in the shapefile must be
wolffd@0 1507 rectangular. The image formats supported as well as the precise semantics of
wolffd@0 1508 how the file is used depends on the
wolffd@0 1509 <A HREF="http://www.graphviz.org/doc/info/output.html">output format</A>. For further details, see
wolffd@0 1510 <A HREF=output.html#d:image_fmts>Image Formats</A> and
wolffd@0 1511 <A HREF=http://www.graphviz.org/Documentation/html/shapehowto.html#ext_image>External PostScript files</A>.
wolffd@0 1512 <P>
wolffd@0 1513 There is one exception to this usage.
wolffd@0 1514 If <B>shape</B> is set to "epsf", shapefile gives
wolffd@0 1515 a filename containing a definition of the node in PostScript.
wolffd@0 1516 The graphics defined must be contain all of the
wolffd@0 1517 node content, including any desired boundaries.
wolffd@0 1518 For further details, see
wolffd@0 1519 <A HREF=http://www.graphviz.org/Documentation/html/shapehowto.html#ext_ps>
wolffd@0 1520 External PostScript files</A>.
wolffd@0 1521
wolffd@0 1522 <DT><A NAME=d:showboxes HREF=#a:showboxes><STRONG>showboxes</STRONG></A>
wolffd@0 1523 <DD> Print guide boxes in PostScript at the beginning of
wolffd@0 1524 routesplines if 1, or at the end if 2. (Debugging)
wolffd@0 1525
wolffd@0 1526 <DT><A NAME=d:sides HREF=#a:sides><STRONG>sides</STRONG></A>
wolffd@0 1527 <DD> Number of sides if <A HREF=#d:shape><B>shape</B></A>=polygon.
wolffd@0 1528
wolffd@0 1529 <DT><A NAME=d:size HREF=#a:size><STRONG>size</STRONG></A>
wolffd@0 1530 <DD> Maximum width and height of drawing, in inches.
wolffd@0 1531 If defined and the drawing is too large, the drawing is uniformly
wolffd@0 1532 scaled down so that it fits within the given size.
wolffd@0 1533 <P>
wolffd@0 1534 If <TT>size</TT> ends in an exclamation point (<TT>!</TT>),
wolffd@0 1535 then it is taken to be
wolffd@0 1536 the desired size. In this case, if both dimensions of the drawing are
wolffd@0 1537 less than <TT>size</TT>, the drawing is scaled up uniformly until at
wolffd@0 1538 least one dimension equals its dimension in <TT>size</TT>.
wolffd@0 1539 <P>
wolffd@0 1540 Note that there is some interaction between the <B>size</B> and
wolffd@0 1541 <A HREF=#d:ratio><B>ratio</B></A> attributes.
wolffd@0 1542
wolffd@0 1543 <DT><A NAME=d:skew HREF=#a:skew><STRONG>skew</STRONG></A>
wolffd@0 1544 <DD> Skew factor for <A HREF=#d:shape><B>shape</B></A>=polygon. Positive values
wolffd@0 1545 skew top of polygon to right; negative to left.
wolffd@0 1546
wolffd@0 1547 <DT><A NAME=d:smoothing HREF=#a:smoothing><STRONG>smoothing</STRONG></A>
wolffd@0 1548 <DD> Specifies a post-processing step used to smooth out an uneven distribution
wolffd@0 1549 of nodes.
wolffd@0 1550
wolffd@0 1551 <DT><A NAME=d:sortv HREF=#a:sortv><STRONG>sortv</STRONG></A>
wolffd@0 1552 <DD> If <A HREF="#d:packmode">packmode</A> indicates an array packing,
wolffd@0 1553 this attribute specifies an
wolffd@0 1554 insertion order among the components, with smaller values inserted first.
wolffd@0 1555
wolffd@0 1556 <DT><A NAME=d:splines HREF=#a:splines><STRONG>splines</STRONG></A>
wolffd@0 1557 <DD> Controls how, and if, edges are represented. If true, edges are drawn as
wolffd@0 1558 splines routed around nodes; if false, edges are drawn as line segments.
wolffd@0 1559 If set to "", no edges are drawn at all.
wolffd@0 1560 <P>
wolffd@0 1561 (1 March 2007) The values <TT>line</TT> and <TT>spline</TT> can be
wolffd@0 1562 used as synonyms for <TT>false</TT> and <TT>true</TT>, respectively.
wolffd@0 1563 In addition, the value <TT>polyline</TT> specifies that edges should be
wolffd@0 1564 drawn as polylines.
wolffd@0 1565 <P>
wolffd@0 1566 By default, the attribute is unset. How this is interpreted depends on
wolffd@0 1567 the layout. For dot, the default is to draw edges as splines. For all
wolffd@0 1568 other layouts, the default is to draw edges as line segments. Note that
wolffd@0 1569 for these latter layouts, if <TT>splines="true"</TT>, this
wolffd@0 1570 requires non-overlapping nodes (cf. <A HREF=#d:overlap><B>overlap</B></A>).
wolffd@0 1571 If fdp is used for layout and <TT>splines="compound"</TT>, then the edges are
wolffd@0 1572 drawn to avoid clusters as well as nodes.
wolffd@0 1573
wolffd@0 1574 <DT><A NAME=d:start HREF=#a:start><STRONG>start</STRONG></A>
wolffd@0 1575 <DD> Parameter used to determine the initial layout of nodes. If unset, the
wolffd@0 1576 nodes are randomly placed in a unit square with
wolffd@0 1577 the same seed is always used for the random number generator, so the
wolffd@0 1578 initial placement is repeatable.
wolffd@0 1579
wolffd@0 1580 <DT><A NAME=d:style HREF=#a:style><STRONG>style</STRONG></A>
wolffd@0 1581 <DD> Set style for node or edge. For cluster subgraph, if "filled", the
wolffd@0 1582 cluster box's background is filled.
wolffd@0 1583
wolffd@0 1584 <DT><A NAME=d:stylesheet HREF=#a:stylesheet><STRONG>stylesheet</STRONG></A>
wolffd@0 1585 <DD> A URL or pathname specifying an XML style sheet, used in SVG output.
wolffd@0 1586
wolffd@0 1587 <DT><A NAME=d:tailURL HREF=#a:tailURL><STRONG>tailURL</STRONG></A>
wolffd@0 1588 <DD> If <B>tailURL</B> is defined, it is
wolffd@0 1589 output as part of the tail label of the edge.
wolffd@0 1590 Also, this value is used near the tail node, overriding any
wolffd@0 1591 <A HREF=#d:URL>URL</A> value.
wolffd@0 1592 See <A HREF=#h:undir_note>limitation</A>.
wolffd@0 1593
wolffd@0 1594 <DT><A NAME=d:tailclip HREF=#a:tailclip><STRONG>tailclip</STRONG></A>
wolffd@0 1595 <DD> If true, the tail of an edge is clipped to the boundary of the tail node;
wolffd@0 1596 otherwise, the end of the edge goes to the center of the node, or the
wolffd@0 1597 center of a port, if applicable.
wolffd@0 1598
wolffd@0 1599 <DT><A NAME=d:tailhref HREF=#a:tailhref><STRONG>tailhref</STRONG></A>
wolffd@0 1600 <DD> Synonym for <A HREF=#d:tailURL>tailURL</A>.
wolffd@0 1601
wolffd@0 1602 <DT><A NAME=d:taillabel HREF=#a:taillabel><STRONG>taillabel</STRONG></A>
wolffd@0 1603 <DD> Text label to be placed near tail of edge.
wolffd@0 1604 See <A HREF=#h:undir_note>limitation</A>.
wolffd@0 1605
wolffd@0 1606 <DT><A NAME=d:tailport HREF=#a:tailport><STRONG>tailport</STRONG></A>
wolffd@0 1607 <DD> Indicates where on the tail node to attach the tail of the edge.
wolffd@0 1608 See <A HREF=#h:undir_note>limitation</A>.
wolffd@0 1609
wolffd@0 1610 <DT><A NAME=d:tailtarget HREF=#a:tailtarget><STRONG>tailtarget</STRONG></A>
wolffd@0 1611 <DD> If the edge has a <A HREF=#d:tailURL>tailURL</A>,
wolffd@0 1612 this attribute determines which window of the
wolffd@0 1613 browser is used
wolffd@0 1614 for the URL. Setting it to "_graphviz" will open a new window if it
wolffd@0 1615 doesn't already exist, or reuse it if it does.
wolffd@0 1616 If undefined, the value of the <A HREF=#d:target>target</A> is used.
wolffd@0 1617
wolffd@0 1618 <DT><A NAME=d:tailtooltip HREF=#a:tailtooltip><STRONG>tailtooltip</STRONG></A>
wolffd@0 1619 <DD> Tooltip annotation attached to the tail of an edge. This is used only
wolffd@0 1620 if the edge has a <A HREF=#d:tailURL>tailURL</A> attribute.
wolffd@0 1621
wolffd@0 1622 <DT><A NAME=d:target HREF=#a:target><STRONG>target</STRONG></A>
wolffd@0 1623 <DD> If the object has a URL, this attribute determines which window
wolffd@0 1624 of the browser is used for the URL.
wolffd@0 1625 See <A HREF="http://www.w3.org/TR/html401/present/frames.html#adef-target">W3C documentation</A>.
wolffd@0 1626
wolffd@0 1627 <DT><A NAME=d:tooltip HREF=#a:tooltip><STRONG>tooltip</STRONG></A>
wolffd@0 1628 <DD> Tooltip annotation attached to the node or edge. If unset, Graphviz
wolffd@0 1629 will use the object's <A HREF=#d:label>label</A> if defined.
wolffd@0 1630 Note that if the label is a record specification or an HTML-like
wolffd@0 1631 label, the resulting tooltip may be unhelpful. In this case, if
wolffd@0 1632 tooltips will be generated, the user should set a <TT>tooltip</TT>
wolffd@0 1633 attribute explicitly.
wolffd@0 1634
wolffd@0 1635 <DT><A NAME=d:truecolor HREF=#a:truecolor><STRONG>truecolor</STRONG></A>
wolffd@0 1636 <DD> If set explicitly to true or false, the value determines whether or not
wolffd@0 1637 internal bitmap rendering relies on a truecolor color model or uses
wolffd@0 1638 a color palette.
wolffd@0 1639 If the attribute is unset, truecolor is not used
wolffd@0 1640 unless there is a <A HREF=#d:shapefile>shapefile</A> property
wolffd@0 1641 for some node in the graph.
wolffd@0 1642 The output model will use the input model when possible.
wolffd@0 1643 <P>
wolffd@0 1644 Use of color palettes results in less memory usage during creation of the
wolffd@0 1645 bitmaps and smaller output files.
wolffd@0 1646 <P>
wolffd@0 1647 Usually, the only time it is necessary to specify the truetype model
wolffd@0 1648 is if the graph uses more than 256 colors.
wolffd@0 1649 However, if one uses <A HREF=#d:bgcolor>bgcolor</A>=transparent with
wolffd@0 1650 a color palette, font
wolffd@0 1651 antialiasing can show up as a fuzzy white area around characters.
wolffd@0 1652 Using <B>truecolor</B>=true avoids this problem.
wolffd@0 1653
wolffd@0 1654 <DT><A NAME=d:vertices HREF=#a:vertices><STRONG>vertices</STRONG></A>
wolffd@0 1655 <DD> If the input graph defines this attribute, the node is polygonal,
wolffd@0 1656 and output is dot or xdot, this attribute provides the
wolffd@0 1657 coordinates of the vertices of the node's polygon, in inches.
wolffd@0 1658 If the node is an ellipse or circle, the
wolffd@0 1659 <A HREF=#d:samplepoints>samplepoints</A> attribute affects
wolffd@0 1660 the output.
wolffd@0 1661
wolffd@0 1662 <DT><A NAME=d:viewport HREF=#a:viewport><STRONG>viewport</STRONG></A>
wolffd@0 1663 <DD> Clipping window on final drawing.
wolffd@0 1664
wolffd@0 1665 <DT><A NAME=d:voro_margin HREF=#a:voro_margin><STRONG>voro_margin</STRONG></A>
wolffd@0 1666 <DD> Factor to scale up drawing to allow margin for expansion in
wolffd@0 1667 Voronoi technique. dim' = (1+2*margin)*dim.
wolffd@0 1668
wolffd@0 1669 <DT><A NAME=d:weight HREF=#a:weight><STRONG>weight</STRONG></A>
wolffd@0 1670 <DD> Weight of edge. In dot, the heavier the weight, the shorter,
wolffd@0 1671 straighter and more vertical the edge is.
wolffd@0 1672
wolffd@0 1673 <DT><A NAME=d:width HREF=#a:width><STRONG>width</STRONG></A>
wolffd@0 1674 <DD> Width of node, in inches. This is taken as the initial, minimum width
wolffd@0 1675 of the node. If <A HREF=#d:fixedsize><B>fixedsize</B></A> is true, this
wolffd@0 1676 will be the final width of the node. Otherwise, if the node label
wolffd@0 1677 requires more width to fit, the node's width will be increased to
wolffd@0 1678 contain the label. Note also that, if the output format is dot, the
wolffd@0 1679 value given to <B>width</B> will be the final value.
wolffd@0 1680
wolffd@0 1681 <DT><A NAME=d:z HREF=#a:z><STRONG>z</STRONG></A>
wolffd@0 1682 <DD> <B>Deprecated:</B>Use <A HREF=#d:pos><B>pos</B></A> attribute, along
wolffd@0 1683 with <A HREF=#d:dimen><B>dimen</B></A> and/or <A HREF=#d:dim><B>dim</B></A>
wolffd@0 1684 to specify dimensions.
wolffd@0 1685 <P>
wolffd@0 1686 Provides z coordinate value for 3D layouts and displays. If the
wolffd@0 1687 graph has <A HREF=#d:dim><B>dim</B></A> set to 3 (or more),
wolffd@0 1688 neato will use a node's <B>z</B> value
wolffd@0 1689 for the z coordinate of its initial position if
wolffd@0 1690 its <A HREF=#d:pos><B>pos</B></A> attribute is also defined.
wolffd@0 1691 <P>
wolffd@0 1692 Even if no <B>z</B> values are specified in the input, it is necessary to
wolffd@0 1693 declare a <B>z</B> attribute for nodes, e.g, using <TT>node[z=""]</TT>
wolffd@0 1694 in order to get z values on output.
wolffd@0 1695 Thus, setting <TT>dim=3</TT> but not declaring <B>z</B> will
wolffd@0 1696 cause <TT>neato -Tvrml</TT> to
wolffd@0 1697 layout the graph in 3D but project the layout onto the xy-plane
wolffd@0 1698 for the rendering. If the <B>z</B> attribute is declared, the final rendering
wolffd@0 1699 will be in 3D.
wolffd@0 1700
wolffd@0 1701 </DL>
wolffd@0 1702 <HR>
wolffd@0 1703 <H1>Attribute Type Descriptions</H1>
wolffd@0 1704 The following list gives the legal strings corresponding to values of
wolffd@0 1705 the given types.
wolffd@0 1706 <DL>
wolffd@0 1707 <DT><A NAME=k:arrowType><STRONG>arrowType</STRONG></A>
wolffd@0 1708 <DD><TABLE>
wolffd@0 1709 <TR><TD>"normal"<TD><IMG SRC="a_normal.gif">
wolffd@0 1710 <TD>"inv"<TD><IMG SRC="a_inv.gif"></TR>
wolffd@0 1711 <TR><TD>"dot"<TD><IMG SRC="a_dot.gif">
wolffd@0 1712 <TD>"invdot"<TD><IMG SRC="a_invdot.gif"></TR>
wolffd@0 1713 <TR><TD>"odot"<TD><IMG SRC="a_odot.gif">
wolffd@0 1714 <TD>"invodot"<TD><IMG SRC="a_invodot.gif"></TR>
wolffd@0 1715 <TR><TD>"none"<TD><IMG SRC="a_none.gif">
wolffd@0 1716 <TD>"tee"<TD><IMG SRC="a_tee.gif"></TR>
wolffd@0 1717 <TR><TD>"empty"<TD><IMG SRC="a_empty.gif">
wolffd@0 1718 <TD>"invempty"<TD><IMG SRC="a_invempty.gif"></TR>
wolffd@0 1719 <TR><TD>"diamond"<TD><IMG SRC="a_diamond.gif">
wolffd@0 1720 <TD>"odiamond"<TD><IMG SRC="a_odiamond.gif"></TR>
wolffd@0 1721 <TR><TD>"ediamond"<TD><IMG SRC="a_ediamond.gif">
wolffd@0 1722 <TD>"crow"<TD><IMG SRC="a_crow.gif"></TR>
wolffd@0 1723 <TR><TD>"box"<TD><IMG SRC="a_box.gif">
wolffd@0 1724 <TD>"obox"<TD><IMG SRC="a_obox.gif"></TR>
wolffd@0 1725 <TR><TD>"open"<TD><IMG SRC="a_open.gif">
wolffd@0 1726 <TD>"halfopen"<TD><IMG SRC="a_halfopen.gif"></TR>
wolffd@0 1727 <TR><TD>"vee"<TD><IMG SRC="a_open.gif">
wolffd@0 1728 </TABLE>
wolffd@0 1729 <P>
wolffd@0 1730 These are the basic set of backward-compatible arrow shapes. In addition,
wolffd@0 1731 there is a grammar of <A HREF=arrows.html>arrow shapes</A>
wolffd@0 1732 which can be used to describe a collection of 1,544,761 arrow combinations of the 36 varations of the primitive set of 9 arrows. The basic arrows shown
wolffd@0 1733 above contain all of the primitive shapes
wolffd@0 1734 (<TT>box</TT>, <TT>crow</TT>, <TT>diamond</TT>,
wolffd@0 1735 <TT>dot</TT>, <TT>inv</TT>, <TT>none</tt>,
wolffd@0 1736 <TT>normal</tt>, <TT>tee</TT>, <TT>vee</TT>)
wolffd@0 1737 plus ones that can be derived from the grammar
wolffd@0 1738 (<TT>odot</TT>, <TT>invdot</TT>, <TT>invodot</TT>,
wolffd@0 1739 <TT>obox</TT>, <TT>odiamond</TT>)
wolffd@0 1740 plus some supported as special cases for backward-compatibility
wolffd@0 1741 (<TT>ediamond</TT>, <TT>open</TT>, <TT>halfopen</TT>,
wolffd@0 1742 <TT>empty</TT>, <TT>invempty</TT>).
wolffd@0 1743
wolffd@0 1744 <DT><A NAME=k:aspectType><STRONG>aspectType</STRONG></A>
wolffd@0 1745 <DD><p>An aspect ratio, double, followed optionally by a ',' and a maximum pass
wolffd@0 1746 count. If the aspect ratio is given, but no maximum pass count, the
wolffd@0 1747 latter defaults to 5.
wolffd@0 1748
wolffd@0 1749 <DT><A NAME=k:clusterMode><STRONG>clusterMode</STRONG></A>
wolffd@0 1750 <DD>"local","global","none"
wolffd@0 1751
wolffd@0 1752 <DT><A NAME=k:color><STRONG>color</STRONG></A>
wolffd@0 1753 <DD>Colors can be specified using one of four formats.
wolffd@0 1754 <TABLE><TR><TD>"#%2x%2x%2x"<TD>Red-Green-Blue (RGB)</TR>
wolffd@0 1755 <TR><TD>"#%2x%2x%2x%2x"<TD>Red-Green-Blue-Alpha (RGBA)</TR>
wolffd@0 1756 <TR><TD>H[,&#160;]+S[,&#160;]+V<TD>Hue-Saturation-Value (HSV) 0.0 <= H,S,V <= 1.0</TR>
wolffd@0 1757 <TR><TD>string<TD><A HREF=colors.html>color name</A></TR></TABLE>
wolffd@0 1758 The specification for the RGB and RGBA formats are the format strings used by
wolffd@0 1759 <TT>sscanf</TT> to scan the color value. Thus, these values have the form
wolffd@0 1760 "#RGB" or "#RGBA", where R, G, B, and A each consist of 2 hexidecimal
wolffd@0 1761 digits, and can be separated by whitespace. HSV colors have the form of 3
wolffd@0 1762 numbers between 0 and 1, separated by whitespace or commas.
wolffd@0 1763 <P>
wolffd@0 1764 String-valued color specifications are case-insensitive and interpreted
wolffd@0 1765 in the context of the current color scheme, as specified by the
wolffd@0 1766 <A HREF=#d:colorscheme>colorscheme</A> attribute. If this is undefined,
wolffd@0 1767 the X11 naming scheme will be used.
wolffd@0 1768 An initial <TT>"/"</TT> character can be used to override the use of
wolffd@0 1769 the <TT>colorscheme</TT> attribute. In particular, a single initial
wolffd@0 1770 <TT>"/"</TT> will cause the string to be evaluated using the default
wolffd@0 1771 X11 naming. If the color value has the form <TT>"/ssss/yyyy"</TT>,
wolffd@0 1772 the name <TT>yyyy</TT> is interpreted using the schema <TT>ssss</TT>.
wolffd@0 1773 If the color scheme name is empty, i.e., the color has the
wolffd@0 1774 form <TT>"//yyyy"</TT>, the <TT>colorscheme</TT> attribute is used.
wolffd@0 1775 Thus, the forms <TT>"yyyy"</TT> and <TT>"//yyyy"</TT> are
wolffd@0 1776 equivalent.
wolffd@0 1777 <P>At present, Graphviz recognizes the default color scheme <TT>X11</TT>,
wolffd@0 1778 and the <A HREF="http://www.personal.psu.edu/faculty/c/a/cab38/ColorBrewer/ColorBrewer_intro.html">Brewer color schemes</A>. Please note that Brewer
wolffd@0 1779 color schemes are covered by this <A HREF=colors.html#brewer_license>license</A>.
wolffd@0 1780 <P>
wolffd@0 1781 Examples:<BR>
wolffd@0 1782 <TABLE border=1>
wolffd@0 1783 <TR><TH>Color<TH>RGB<TH>HSV<TH>String</TR>
wolffd@0 1784 <TR><TD align=center bgcolor=#ffffff>White<TD>"#ffffff"<TD>"0.000 0.000 1.000"<TD>"white"</TR>
wolffd@0 1785 <TR><TD align=center bgcolor=#000000><font color=white>Black</font><TD>"#000000"<TD>"0.000 0.000 0.000"<TD>"black"</TR>
wolffd@0 1786 <TR><TD align=center bgcolor=#ff0000>Red<TD>"#ff0000"<TD>"0.000 1.000 1.000"<TD>"red"</TR>
wolffd@0 1787 <TR><TD align=center bgcolor=#40e0d0>Turquoise<TD>"#40e0d0"<TD>"0.482 0.714 0.878"<TD>"turquoise"</TR>
wolffd@0 1788 <TR><TD align=center bgcolor=#a0522d>Sienna<TD>"#a0522d"<TD>"0.051 0.718 0.627"<TD>"sienna"</TR>
wolffd@0 1789 </TABLE>
wolffd@0 1790 <P>
wolffd@0 1791 Note that some output formats, e.g., <A HREF="output.html#a:mif">mif</A>,
wolffd@0 1792 only support a limited number of specific colors.
wolffd@0 1793 <P>
wolffd@0 1794 The string value <TT>transparent</TT> can be used to indicate no color.
wolffd@0 1795 This is only available in the output formats
wolffd@0 1796 ps, svg, fig, vmrl, and the bitmap formats. It can be used whenever a
wolffd@0 1797 color is needed but is most useful with
wolffd@0 1798 the <A HREF=#d:bgcolor>bgcolor</A> attribute.
wolffd@0 1799 Usually, the same effect can be achieved by setting
wolffd@0 1800 <A HREF=#d:style>style</A> to <TT>invis</TT>.
wolffd@0 1801
wolffd@0 1802 <DT><A NAME=k:colorList><STRONG>colorList</STRONG></A>
wolffd@0 1803 <DD>A colon-separated list of color values: <I>C</I>(:<I>C</I>)*
wolffd@0 1804 where each <I>C</I> is a <A HREF=#k:color>color</A> value.
wolffd@0 1805
wolffd@0 1806 <DT><A NAME=k:dirType><STRONG>dirType</STRONG></A>
wolffd@0 1807 <DD>For an edge <CODE>T -> H;</CODE>
wolffd@0 1808 <TABLE>
wolffd@0 1809 <TR><TD>"forward"<TD><IMG SRC="forward.gif">
wolffd@0 1810 <TD>"back"<TD><IMG SRC="back.gif"></TR>
wolffd@0 1811 <TR><TD>"both"<TD><IMG SRC="both.gif">
wolffd@0 1812 <TD>"none"<TD><IMG SRC="nohead.gif"></TR>
wolffd@0 1813 </TABLE>
wolffd@0 1814 For undirected edges <CODE>T -- H;</CODE>, one of the nodes, usually
wolffd@0 1815 the righthand one, is treated as the head for the purpose of
wolffd@0 1816 interpreting "forward" and "back".
wolffd@0 1817
wolffd@0 1818 <DT><A NAME=k:escString><STRONG>escString</STRONG></A>
wolffd@0 1819 <DD>string allowing escape sequences which are replaced according
wolffd@0 1820 to the context.
wolffd@0 1821 For node attributes, the substring "\N" is replaced by the name of the node,
wolffd@0 1822 and the substring "\G" by the name of the graph.
wolffd@0 1823 For graph or cluster attributes, the substring "\G" is replaced by the
wolffd@0 1824 name of the graph or cluster.
wolffd@0 1825 For edge attributes, the substring "\E" is replaced by the name of the edge,
wolffd@0 1826 the substring "\G" is replaced by the name of the graph or cluster,
wolffd@0 1827 and the substrings "\T" and "\H" by the names of
wolffd@0 1828 the tail and head nodes, respectively.
wolffd@0 1829 The name of an edge is the string formed from the name of the
wolffd@0 1830 tail node, the appropriate edge operator ("--" or "->") and the name of the
wolffd@0 1831 head node.
wolffd@0 1832 In all cases, the substring "\L" is replaced by the object's label attribute.
wolffd@0 1833 <P>
wolffd@0 1834 In addition, if the associated attribute is
wolffd@0 1835 <A HREF=#a:label>label</A>,
wolffd@0 1836 <A HREF=#a:headlabel>headlabel</A> or <A HREF=#a:taillabel>taillabel</A>,
wolffd@0 1837 the escape sequences "\n", "\l" and "\r"
wolffd@0 1838 divide the label into lines, centered, left-justified, and right-justified,
wolffd@0 1839 respectively.
wolffd@0 1840
wolffd@0 1841 <DT><A NAME=k:layerList><STRONG>layerList</STRONG></A>
wolffd@0 1842 <DD>list of strings separated by characters from the
wolffd@0 1843 <A HREF=#a:layersep>layersep</A> attribute (by default, colons,
wolffd@0 1844 tabs or spaces), defining <A HREF=#a:layer>layer</A>
wolffd@0 1845 names and implicitly numbered 1,2,...
wolffd@0 1846
wolffd@0 1847 <DT><A NAME=k:layerRange><STRONG>layerRange</STRONG></A>
wolffd@0 1848 <DD>layerId or layerId<B>s</B>layerId,<BR> where layerId = "all",
wolffd@0 1849 a decimal integer or a <A HREF=#a:layer>layer</A> name.
wolffd@0 1850 (An integer i corresponds to layer i.)
wolffd@0 1851 The string <B>s</B> consists of 1 or more separator characters specified
wolffd@0 1852 by the <A HREF=#a:layersep>layersep</A> attribute.
wolffd@0 1853
wolffd@0 1854 <DT><A NAME=k:lblString><STRONG>lblString</STRONG></A>
wolffd@0 1855 <DD>an <A HREF=#k:escString>escString</A>
wolffd@0 1856 or an <A HREF=shapes.html#html>HTML label</A>.
wolffd@0 1857
wolffd@0 1858 <DT><A NAME=k:outputMode><STRONG>outputMode</STRONG></A>
wolffd@0 1859 <DD>"breadthfirst","nodesfirst","edgesfirst"
wolffd@0 1860 These specify the order in which nodes and edges are drawn in concrete
wolffd@0 1861 output. The default "breadthfirst" is the simplest, but when the graph
wolffd@0 1862 layout does not avoid edge-node overlap, this mode will sometimes have
wolffd@0 1863 edges drawn over nodes and sometimes on top of nodes. If the mode
wolffd@0 1864 "nodesfirst" is chosen, all nodes are drawn first, followed by the
wolffd@0 1865 edges. This guarantees an edge-node overlap will not be mistaken for
wolffd@0 1866 an edge ending at a node. On the other hand, usually for aesthetic
wolffd@0 1867 reasons, it may be desirable that all edges appear beneath nodes, even
wolffd@0 1868 if the resulting drawing is ambiguous. This can be achieved by choosing
wolffd@0 1869 "edgesfirst".
wolffd@0 1870
wolffd@0 1871 <DT><A NAME=k:packMode><STRONG>packMode</STRONG></A>
wolffd@0 1872 <DD>"node", "clust" , "graph" , "array[_flags][%d]"
wolffd@0 1873 <P>
wolffd@0 1874 The modes "node", "clust" or "graph"
wolffd@0 1875 specify that the components should be packed together tightly, using
wolffd@0 1876 the specified granularity.
wolffd@0 1877 A value of "node" causes
wolffd@0 1878 packing at the node and edge level, with no overlapping of these objects.
wolffd@0 1879 This produces a layout with the least area, but it also allows interleaving,
wolffd@0 1880 where a node of one component may lie between two nodes in another
wolffd@0 1881 component. A value of "graph" does a packing using the bounding box of the
wolffd@0 1882 component. Thus, there will be a rectangular region around a component
wolffd@0 1883 free of elements of any other component.
wolffd@0 1884 A value of "clust" guarantees that top-level clusters are kept intact.
wolffd@0 1885 What effect a value has also depends on the layout algorithm. For
wolffd@0 1886 example, neato does not support clusters, so a value of "clust" will
wolffd@0 1887 have the same effect as the default "node" value.
wolffd@0 1888 <P>
wolffd@0 1889 The mode "array[_flags][%d]"
wolffd@0 1890 indicates that the components should be packed at the
wolffd@0 1891 graph level into an array of graphs. By default, the components
wolffd@0 1892 are in row-major order, with the number of columns roughly the
wolffd@0 1893 square root of the number of components. If the optional flags
wolffd@0 1894 contains "c", then column-major order is used. Finally, if the
wolffd@0 1895 optional integer suffix is used, this specifies the number of
wolffd@0 1896 columns for row-major or the number of rows for column-major.
wolffd@0 1897 Thus, the mode "array_c4" indicates array packing, with 4 rows,
wolffd@0 1898 starting in the upper left and going down the first column, then
wolffd@0 1899 down the second column, etc., until all components are used.
wolffd@0 1900 <P>
wolffd@0 1901 If the optional flags contains "u", this causes the insertion
wolffd@0 1902 order of elements in the array to be determined by user-supplied
wolffd@0 1903 values. Each component can specify its sort value by a
wolffd@0 1904 non-negative integer using the <A HREF="#d:sortv">sortv</A> attribute.
wolffd@0 1905 Components are
wolffd@0 1906 inserted in order, starting with the one with the smallest
wolffd@0 1907 sort value. If no sort value is specified, zero is used.
wolffd@0 1908
wolffd@0 1909 <DT><A NAME=k:pagedir><STRONG>pagedir</STRONG></A>
wolffd@0 1910 <DD>"BL", "BR", "TL", "TR", "RB", "RT", "LB", "LT".
wolffd@0 1911 These specify the 8 row or column major orders for traversing a
wolffd@0 1912 rectangular array, the first character corresponding to the major
wolffd@0 1913 order and the second to the minor order. Thus, for "BL", the
wolffd@0 1914 major order is from bottom to top, and the minor order is from left
wolffd@0 1915 to right. This means the bottom row is traversed first, from left
wolffd@0 1916 to right, then the next row up, from left to right, and so on,
wolffd@0 1917 until the topmost row is traversed.
wolffd@0 1918
wolffd@0 1919 <DT><A NAME=k:point><STRONG>point</STRONG></A>
wolffd@0 1920 <DD>"%f,%f"('!') representing the point (x,y). The
wolffd@0 1921 optional '!' indicates the
wolffd@0 1922 node position should not change (input-only).
wolffd@0 1923 <P>
wolffd@0 1924 If <A HREF=#d:dim>dim</A> is 3 or more, <B>point</B> may also have
wolffd@0 1925 the format "%f,%f,%f"('!') to represent the point (x,y,z).
wolffd@0 1926
wolffd@0 1927 <DT><A NAME=k:pointf><STRONG>pointf</STRONG></A>
wolffd@0 1928 <DD>"%lf,%lf" representing the point (x,y).
wolffd@0 1929
wolffd@0 1930 <DT><A NAME=k:pointfList><STRONG>pointfList</STRONG></A>
wolffd@0 1931 <DD>list of pointf, separated by spaces.
wolffd@0 1932
wolffd@0 1933 <DT><A NAME=k:portPos><STRONG>portPos</STRONG></A>
wolffd@0 1934 <DD>modifier indicating where on a node an edge should be aimed.
wolffd@0 1935 It has the form <TT><I>portname</I>[:<I>compass_point</I>]</TT>
wolffd@0 1936 or <TT><I>compass_point</I></TT>.
wolffd@0 1937 If the first form is used, the corresponding node must either have
wolffd@0 1938 <A HREF=shapes.html#record>record</A> shape with one of its fields
wolffd@0 1939 having the given <I>portname</I>,
wolffd@0 1940 or have an <A HREF=shapes.html#html>HTML-like label</A>, one of
wolffd@0 1941 whose components has a <TT>PORT</TT> attribute set to <I>portname</I>.
wolffd@0 1942 <P>
wolffd@0 1943 If a compass point is used, it must have the form
wolffd@0 1944 <TT>"n","ne","e","se","s","sw","w","nw","c","_"</TT>. This modifies the edge
wolffd@0 1945 placement to aim for the corresponding compass point on the port or,
wolffd@0 1946 in the second form where no <I>portname</I> is supplied, on the node
wolffd@0 1947 itself. The compass point "c" specifies the center of the node or port.
wolffd@0 1948 The compass point "_" specifies that an appropriate side of the port
wolffd@0 1949 adjacent to the exterior of the node should be used, if such exists.
wolffd@0 1950 Otherwise, the center is used.
wolffd@0 1951 If no compass point is used with a portname, the default value is "_".
wolffd@0 1952 <P>
wolffd@0 1953 <P>
wolffd@0 1954 This attribute can be attached to an edge using the
wolffd@0 1955 <A HREF=#k:headport>headport</A> and
wolffd@0 1956 <A HREF=#k:tailport>tailport</A> attributes, or as part of the
wolffd@0 1957 edge description as in
wolffd@0 1958 <CENTER>
wolffd@0 1959 <TT>node1:port1 -> node2:port5:nw;</TT>
wolffd@0 1960 </CENTER>
wolffd@0 1961 <P>
wolffd@0 1962 Note that it is legal to have a portname the same as one of
wolffd@0 1963 the compass points. In this case, this reference will be resolved to
wolffd@0 1964 the port. Thus, if node <TT>A</TT> has a port <TT>w</TT>, then
wolffd@0 1965 <TT>headport=w</TT> will refer to the port and not the compass point.
wolffd@0 1966 At present, in this case, there is no way to specify that the compass
wolffd@0 1967 point should be used.
wolffd@0 1968
wolffd@0 1969 <DT><A NAME=k:quadType><STRONG>quadType</STRONG></A>
wolffd@0 1970 <DD>"normal", "fast", "none".
wolffd@0 1971 <P>
wolffd@0 1972 Using "fast" gives about a 2-4 times overall speedup compared with "normal",
wolffd@0 1973 though layout quality can suffer a little.
wolffd@0 1974
wolffd@0 1975 <DT><A NAME=k:rankType><STRONG>rankType</STRONG></A>
wolffd@0 1976 <DD>"same", "min", "source", "max", "sink"
wolffd@0 1977
wolffd@0 1978 <DT><A NAME=k:rankdir><STRONG>rankdir</STRONG></A>
wolffd@0 1979 <DD>"TB", "LR", "BT", "RL", corresponding to directed graphs drawn
wolffd@0 1980 from top to bottom, from left to right, from bottom to top, and from
wolffd@0 1981 right to left, respectively.
wolffd@0 1982
wolffd@0 1983 <DT><A NAME=k:rect><STRONG>rect</STRONG></A>
wolffd@0 1984 <DD>"%f,%f,%f,%f" The rectangle llx,lly,urx,ury gives the coordinates, in
wolffd@0 1985 points, of the lower-left corner (llx,lly) and the upper-right corner
wolffd@0 1986 (urx,ury).
wolffd@0 1987
wolffd@0 1988 <DT><A NAME=k:shape><STRONG>shape</STRONG></A>
wolffd@0 1989 <DD>A string specifying the <A HREF=shapes.html>shape</A> of a node.
wolffd@0 1990 There are three
wolffd@0 1991 main types of shapes :
wolffd@0 1992 <A HREF=shapes.html#polygon>polygon-based</A>,
wolffd@0 1993 <A HREF=shapes.html#record>record-based</A> and
wolffd@0 1994 <A HREF=shapes.html#epsf>user-defined</A>.
wolffd@0 1995
wolffd@0 1996 <DT><A NAME=k:smoothType><STRONG>smoothType</STRONG></A>
wolffd@0 1997 <DD>Values are "none", "avg_dist", "graph_dist", "power_dist", "rng",
wolffd@0 1998 "spring" and "triangle".
wolffd@0 1999
wolffd@0 2000 <DT><A NAME=k:splineType><STRONG>splineType</STRONG></A>
wolffd@0 2001 <DD>spline ( ';' spline )*<BR>
wolffd@0 2002 <TABLE>
wolffd@0 2003 <TR><TD ALIGN=right>where spline<TD>=<TD>(endp)? (startp)? point (triple)+</TR>
wolffd@0 2004 <TR><TD ALIGN=right>and triple<TD>=<TD>point point point</TR>
wolffd@0 2005 <TR><TD ALIGN=right>and endp<TD>=<TD>"e,%f,%f"</TR>
wolffd@0 2006 <TR><TD ALIGN=right>and startp<TD>=<TD>"s,%f,%f"</TR>
wolffd@0 2007 </TABLE>
wolffd@0 2008 If a spline has points p<SUB>1</SUB> p<SUB>2</SUB> p<SUB>3</SUB> ... p<SUB>n</SUB>, (n = 1 (mod 3)), the points
wolffd@0 2009 correspond to the control points of a B-spline from p<SUB>1</SUB> to p<SUB>n</SUB>. If startp
wolffd@0 2010 is given, it touches one node of the edge, and the arrowhead
wolffd@0 2011 goes from p<SUB>1</SUB> to startp. If startp is not given, p<SUB>1</SUB> touches a node.
wolffd@0 2012 Similarly for p<SUB>n</SUB> and endp.
wolffd@0 2013
wolffd@0 2014 <DT><A NAME=k:startType><STRONG>startType</STRONG></A>
wolffd@0 2015 <DD>has the syntax <TT>[<I>style</I>][<I>seed</I>]</TT>.
wolffd@0 2016 <P>
wolffd@0 2017 If <I>style</I> is present, it must be one of the strings <TT>"regular"</TT>,
wolffd@0 2018 <TT>"self"</TT>, or <TT>"random"</TT>. In the first case, the nodes are
wolffd@0 2019 placed regularly about a circle. In the second case,
wolffd@0 2020 an abbreviated version of neato is run to obtain the initial layout.
wolffd@0 2021 In the last case, the nodes are placed randomly in a unit square.
wolffd@0 2022 <P>
wolffd@0 2023 If <I>seed</I> is present, it specifies a seed for the random number
wolffd@0 2024 generator. If <I>seed</I> is a positive number, this is used as the
wolffd@0 2025 seed. If it is anything else,
wolffd@0 2026 the current time, and possibly the process id, is used to pick a seed,
wolffd@0 2027 thereby making the choice more random. In this case, the seed value
wolffd@0 2028 is stored in the graph.
wolffd@0 2029 <P>
wolffd@0 2030 If the value is just <TT>"random"</TT>, a time-based seed is chosen.
wolffd@0 2031 <P>
wolffd@0 2032 Note that input positions, specified by a node's
wolffd@0 2033 <A HREF=#d:pos>pos</A>
wolffd@0 2034 attribute, are only used when the style is <TT>"random"</TT>.
wolffd@0 2035
wolffd@0 2036 <DT><A NAME=k:style><STRONG>style</STRONG></A>
wolffd@0 2037 <DD>styleItem ( ',' styleItem )*<BR>
wolffd@0 2038 <TABLE>
wolffd@0 2039 <TR><TD ALIGN=right>where styleItem<TD>=<TD>name or name'('args')'</TR>
wolffd@0 2040 <TR><TD ALIGN=right>and args<TD>=<TD>name ( ',' name )*</TR>
wolffd@0 2041 <TR><TD ALIGN=right>and name<TD>=<TD>[^)(, &nbsp;][^)(,]*</TR>
wolffd@0 2042 </TABLE>
wolffd@0 2043 Note that whitespace characters are ignored, except for names which
wolffd@0 2044 can contain them. A
wolffd@0 2045 name cannot contain any comma, or left or right parenthesis, and it cannot
wolffd@0 2046 begin with a whitespace character.
wolffd@0 2047 <P>
wolffd@0 2048 At present, the recognized style names are
wolffd@0 2049 "dashed", "dotted", "solid", "invis" and "bold" for nodes and edges,
wolffd@0 2050 and "filled", "diagonals" and "rounded" for nodes only.
wolffd@0 2051 The styles "filled" and "rounded" are recognized for clusters.
wolffd@0 2052 Additional styles are available in
wolffd@0 2053 device-dependent form. Style lists are passed to device drivers, which
wolffd@0 2054 can use this to generate appropriate output.
wolffd@0 2055 <P>
wolffd@0 2056 The <TT>setlinewidth</TT> style value can be
wolffd@0 2057 used for more control over the width of node borders and edges than is
wolffd@0 2058 allowed by <TT>bold</TT>. This style value takes an argument, specifying the
wolffd@0 2059 width of the line in <A HREF=#points>points</A>. For example, <TT>style="bold"</TT> is
wolffd@0 2060 equivalent to <TT>style="setlinewidth(2)"</TT>.
wolffd@0 2061 <B>The use of <TT>setlinewidth</TT> is deprecated; one should use the
wolffd@0 2062 <A HREF=#d:penwidth><TT>penwidth</TT></A> attribute instead.</B>
wolffd@0 2063
wolffd@0 2064 <DT><A NAME=k:viewPort><STRONG>viewPort</STRONG></A>
wolffd@0 2065 <DD>"%lf,%lf,%lf,%lf,%lf" or "%lf,%lf,%lf,'%s'"
wolffd@0 2066 <P>
wolffd@0 2067 The viewPort <TT>W,H,Z,x,y</TT> or <TT>W,H,Z,N</TT>
wolffd@0 2068 specifies a viewport for the final image. The pair (W,H) gives the
wolffd@0 2069 dimensions (width and height) of the final image, in
wolffd@0 2070 <A HREF=#points>points</A>.
wolffd@0 2071 The optional Z is the zoom factor, i.e., the image in the original layout will be
wolffd@0 2072 W/Z by H/Z points in size. By default, Z is 1.
wolffd@0 2073 The optional last part is either a pair (x,y) giving a position in the original layout of the
wolffd@0 2074 graph, in
wolffd@0 2075 <A HREF=#points>points</A>, of the center of the viewport, or the name N
wolffd@0 2076 of a node whose center should used as the focus.
wolffd@0 2077 By default, the focus is the center of the graph bounding box, i.e.,
wolffd@0 2078 (bbx/2,bby/2), where "bbx,bby" is the
wolffd@0 2079 value of the bounding box attribute <A HREF=#a:bb>bb</A>.
wolffd@0 2080 <P>
wolffd@0 2081 Sample values: <TT>50,50,.5,'2.8 BSD'</T> or <TT>100,100,2,450,300</TT>.
wolffd@0 2082 The first will take the 100x100 point square centered on the node <TT>2.8 BSD</TT>
wolffd@0 2083 and scale it down by 0.5, yielding a 50x50 point final image.
wolffd@0 2084
wolffd@0 2085 </DL>
wolffd@0 2086 </BODY>
wolffd@0 2087 </HTML>