From 9e325cfe40f7fdac2979e6d00d784e46fff3e0cb Mon Sep 17 00:00:00 2001 From: Mark Hansen Date: Wed, 21 Oct 2020 21:59:22 +1100 Subject: [PATCH] attrs.html: clean ID and NAMEs - Convert NAMEs to IDs, as recommended for non-form elements. https://stackoverflow.com/a/7470325/171898 - Quote HREFs and IDs --- doc/info/attrs.html | 982 ++++++++++++++-------------- doc/infosrc/templates/attrs.html.j2 | 42 +- 2 files changed, 510 insertions(+), 514 deletions(-) diff --git a/doc/info/attrs.html b/doc/info/attrs.html index cf5f9f494..76281f87d 100644 --- a/doc/info/attrs.html +++ b/doc/info/attrs.html @@ -7,8 +7,7 @@ Node, Edge and Graph Attributes - -

Node, Edge and Graph Attributes

+

Node, Edge and Graph Attributes


The table below describes the attributes used by various Graphviz tools. The table gives the name of the attribute, the graph components (node, @@ -32,20 +31,19 @@ one would use Further details concerning the setting of attributes can be found in the description of the -DOT language. +DOT language.

At present, most device-independent units are either inches or - -points, +points, which we take as 72 points per inch. -

-Note: Some attributes, such as -dir or arrowtail, are +

+Note: Some attributes, such as +dir or arrowtail, are ambiguous when used in -DOT +DOT with an undirected graph since the head and tail of an edge are meaningless. As a convention, the first time an undirected edge appears, the -DOT +DOT parser will assign the left node as the tail node and the right node as the head. For example, the edge A -- B will have tail A and head B. It is the user's responsibility to handle such @@ -57,12 +55,12 @@ the drawing will attach the tail label to node A. To avoid possible confusion when such attributes are required, the user is encouraged to use a directed graph. If it is important to make the graph appear undirected, this can be -done using the dir, arrowtail -or arrowhead attributes. -

+done using the dir, arrowtail +or arrowhead attributes. +

The tools accept standard C representations for int and double types. -For the bool type, TRUE values are +For the bool type, TRUE values are represented by "true" or "yes" (case-insensitive) and any non-zero integer, and FALSE values by "false" or "no" (case-insensitive) and zero. @@ -70,8 +68,8 @@ In addition, there are a variety of specialized types such as arrowType, color, point and rankdir. Legal values for these types are given at the end. -

-In the Used By field, the +

+In the Used By field, the characters E, N, G, S and C represent edges, nodes, the root graph, subgraphs and cluster subgraphs, respectively. @@ -83,471 +81,471 @@ of the layout programs.


- - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameUsed ByTypeDefaultMinimumNotes
Damping +
NameUsed ByTypeDefaultMinimumNotes
Damping Gdouble0.990.0neato only
K +
K GCdouble0.30sfdp, fdp only
URL -ENGCescString +
URL +ENGCescString <none>svg, postscript, map only
_background +
_background Gstring<none>
area +
area NCdouble1.0>0patchwork only
arrowhead -EarrowType +
arrowhead +EarrowType normal
arrowsize +
arrowsize Edouble1.00.0
arrowtail -EarrowType +
arrowtail +EarrowType normal
bb -Grect +
bb +Grect write only
bgcolor -GCcolor -
colorList +
bgcolor +GCcolor +
colorList
<none>
center -Gbool +
center +Gbool false
charset +
charset Gstring"UTF-8"
class +
class ENCGstring""svg only
clusterrank -GclusterMode +
clusterrank +GclusterMode localdot only
color -ENCcolor -
colorList +
color +ENCcolor +
colorList
black
colorscheme +
colorscheme ENCGstring""
comment +
comment ENGstring""
compound -Gbool +
compound +Gbool falsedot only
concentrate -Gbool +
concentrate +Gbool false
constraint -Ebool +
constraint +Ebool truedot only
decorate -Ebool +
decorate +Ebool false
defaultdist +
defaultdist Gdouble1+(avg. len)*sqrt(|V|)epsilonneato only
dim +
dim Gint22sfdp, fdp, neato only
dimen +
dimen Gint22sfdp, fdp, neato only
dir -EdirType +
dir +EdirType forward(directed)
none(undirected)
diredgeconstraints -Gstring
bool +
diredgeconstraints +Gstring
bool
falseneato only
distortion +
distortion Ndouble0.0-100.0
dpi +
dpi Gdouble96.0
0.0
svg, bitmap output only
edgeURL -EescString +
edgeURL +EescString ""svg, map only
edgehref -EescString +
edgehref +EescString ""svg, map only
edgetarget -EescString +
edgetarget +EescString <none>svg, map only
edgetooltip -EescString +
edgetooltip +EescString ""svg, cmap only
epsilon +
epsilon Gdouble.0001 * # nodes(mode == KK)
.0001(mode == major)
.01(mode == sgd)
neato only
esep -GaddDouble -
addPoint +
esep +GaddDouble +
addPoint
+3not dot
fillcolor -NECcolor -
colorList +
fillcolor +NECcolor +
colorList
lightgrey(nodes)
black(clusters)
fixedsize -Nbool +
fixedsize +Nbool
string
false
fontcolor -ENGCcolor +
fontcolor +ENGCcolor black
fontname +
fontname ENGCstring"Times-Roman"
fontnames +
fontnames Gstring""svg only
fontpath +
fontpath Gstringsystem-dependent
fontsize +
fontsize ENGCdouble14.01.0
forcelabels -Gbool +
forcelabels +Gbool true
gradientangle +
gradientangle NCGint""
group +
group Nstring""dot only
headURL -EescString +
headURL +EescString ""svg, map only
head_lp -Epoint +
head_lp +Epoint write only
headclip -Ebool +
headclip +Ebool true
headhref -EescString +
headhref +EescString ""svg, map only
headlabel -ElblString +
headlabel +ElblString ""
headport -EportPos +
headport +EportPos center
headtarget -EescString +
headtarget +EescString <none>svg, map only
headtooltip -EescString +
headtooltip +EescString ""svg, cmap only
height +
height Ndouble0.50.02
href -GCNEescString +
href +GCNEescString ""svg, postscript, map only
id -GCNEescString +
id +GCNEescString ""svg, postscript, map only
image +
image Nstring""
imagepath +
imagepath Gstring""
imagepos +
imagepos Nstring"mc"
imagescale -Nbool +
imagescale +Nbool
string
false
inputscale +
inputscale Gdouble<none>fdp, neato only
label -ENGClblString +
label +ENGClblString "\&#92;N" (nodes)
"" (otherwise)
labelURL -EescString +
labelURL +EescString ""svg, map only
label_scheme +
label_scheme Gint00sfdp only
labelangle +
labelangle Edouble-25.0-180.0
labeldistance +
labeldistance Edouble1.00.0
labelfloat -Ebool +
labelfloat +Ebool false
labelfontcolor -Ecolor +
labelfontcolor +Ecolor black
labelfontname +
labelfontname Estring"Times-Roman"
labelfontsize +
labelfontsize Edouble14.01.0
labelhref -EescString +
labelhref +EescString ""svg, map only
labeljust +
labeljust GCstring"c"
labelloc +
labelloc NGCstring"t"(clusters)
"b"(root graphs)
"c"(nodes)
labeltarget -EescString +
labeltarget +EescString <none>svg, map only
labeltooltip -EescString +
labeltooltip +EescString ""svg, cmap only
landscape -Gbool +
landscape +Gbool false
layer -ENClayerRange +
layer +ENClayerRange ""
layerlistsep +
layerlistsep Gstring","
layers -GlayerList +
layers +GlayerList ""
layerselect -GlayerRange +
layerselect +GlayerRange ""
layersep +
layersep Gstring" &#92;t"
layout +
layout Gstring""
len +
len Edouble1.0(neato)
0.3(fdp)
fdp, neato only
levels +
levels GintMAXINT0.0sfdp only
levelsgap +
levelsgap Gdouble0.0neato only
lhead +
lhead Estring""dot only
lheight +
lheight GCdoublewrite only
lp -EGCpoint +
lp +EGCpoint write only
ltail +
ltail Estring""dot only
lwidth +
lwidth GCdoublewrite only
margin -NCGdouble
point +
margin +NCGdouble
point
<device-dependent>
maxiter +
maxiter Gint100 * # nodes(mode == KK)
200(mode == major)
30(mode == sgd)
600(fdp)
fdp, neato only
mclimit +
mclimit Gdouble1.0dot only
mindist +
mindist Gdouble1.00.0circo only
minlen +
minlen Eint10dot only
mode +
mode Gstringmajorneato only
model +
model Gstringshortpathneato only
mosek -Gbool +
mosek +Gbool falseneato only
newrank -Gbool +
newrank +Gbool falsedot only
nodesep +
nodesep Gdouble0.250.02
nojustify -GCNEbool +
nojustify +GCNEbool false
normalize -Gdouble
bool +
normalize +Gdouble
bool
falsenot dot
notranslate -Gbool +
notranslate +Gbool falseneato only
nslimit +
nslimit Gdoubledot only
nslimit1 +
nslimit1 Gdoubledot only
ordering +
ordering GNstring""dot only
orientation +
orientation Ndouble0.0360.0
orientation +
orientation Gstring""
outputorder -GoutputMode +
outputorder +GoutputMode breadthfirst
overlap -Gstring
bool +
overlap +Gstring
bool
truenot dot
overlap_scaling +
overlap_scaling Gdouble-4-1.0e10prism only
overlap_shrink -Gbool +
overlap_shrink +Gbool trueprism only
pack -Gbool +
pack +Gbool
int
false
packmode -GpackMode +
packmode +GpackMode node
pad -Gdouble
point +
pad +Gdouble
point
0.0555 (4 points)
page -Gdouble
point +
page +Gdouble
point
pagedir -Gpagedir +
pagedir +Gpagedir BL
pencolor -Ccolor +
pencolor +Ccolor black
penwidth +
penwidth CNEdouble1.00.0
peripheries +
peripheries NCintshape default(nodes)
1(clusters)
0
pin -Nbool +
pin +Nbool falsefdp, neato only
pos -ENpoint -
splineType +
pos +ENpoint +
splineType
quadtree -GquadType -
bool +
quadtree +GquadType +
bool
normalsfdp only
quantum +
quantum Gdouble0.00.0
rank -SrankType +
rank +SrankType dot only
rankdir -Grankdir +
rankdir +Grankdir TBdot only
ranksep -Gdouble
doubleList +
ranksep +Gdouble
doubleList
0.5(dot)
1.0(twopi)
0.02twopi, dot only
ratio +
ratio Gdouble
string
rects -Nrect +
rects +Nrect write only
regular -Nbool +
regular +Nbool false
remincross -Gbool +
remincross +Gbool truedot only
repulsiveforce +
repulsiveforce Gdouble1.00.0sfdp only
resolution +
resolution Gdouble96.0
0.0
svg, bitmap output only
root -GNstring
bool +
root +GNstring
bool
<none>(graphs)
false(nodes)
circo, twopi only
rotate +
rotate Gint0
rotation +
rotation Gdouble0sfdp only
samehead +
samehead Estring""dot only
sametail +
sametail Estring""dot only
samplepoints +
samplepoints Nint8(output)
20(overlap and image maps)
scale -Gdouble
point +
scale +Gdouble
point
not dot
searchsize +
searchsize Gint30dot only
sep -GaddDouble -
addPoint +
sep +GaddDouble +
addPoint
+4not dot
shape -Nshape +
shape +Nshape ellipse
shapefile +
shapefile Nstring""
showboxes +
showboxes ENGint00dot only
sides +
sides Nint40
size -Gdouble
point +
size +Gdouble
point
skew +
skew Ndouble0.0-100.0
smoothing -GsmoothType +
smoothing +GsmoothType "none"sfdp only
sortv +
sortv GCNint00
splines -Gbool +
splines +Gbool
string
start -GstartType +
start +GstartType ""fdp, neato only
style -ENCGstyle +
style +ENCGstyle ""
stylesheet +
stylesheet Gstring""svg only
tailURL -EescString +
tailURL +EescString ""svg, map only
tail_lp -Epoint +
tail_lp +Epoint write only
tailclip -Ebool +
tailclip +Ebool true
tailhref -EescString +
tailhref +EescString ""svg, map only
taillabel -ElblString +
taillabel +ElblString ""
tailport -EportPos +
tailport +EportPos center
tailtarget -EescString +
tailtarget +EescString <none>svg, map only
tailtooltip -EescString +
tailtooltip +EescString ""svg, cmap only
target -ENGCescString +
target +ENGCescString
string
<none>svg, map only
tooltip -NECescString +
tooltip +NECescString ""svg, cmap only
truecolor -Gbool +
truecolor +Gbool bitmap output only
vertices -NpointList +
vertices +NpointList write only
viewport -GviewPort +
viewport +GviewPort ""
voro_margin +
voro_margin Gdouble0.050.0not dot
weight +
weight Eint
double
10(dot,twopi)
1(neato,fdp)
width +
width Ndouble0.750.01
xdotversion +
xdotversion Gstringxdot only
xlabel -ENlblString +
xlabel +ENlblString ""
xlp -NEpoint +
xlp +NEpoint write only
z +
z Ndouble0.0-MAXFLOAT
-1000

Attribute Descriptions

-
Damping +
Damping
Factor damping force motions. On each iteration, a nodes movement is limited to this factor of its potential motion. By being less than 1.0, the system tends to ``cool'', thereby preventing cycling. -
K +
K
Spring constant used in virtual physical model. It roughly corresponds to an ideal edge length (in inches), in that increasing K tends to increase the distance between nodes. Note that the edge attribute len can be used to override this value for adjacent nodes. -
URL +
URL
Hyperlinks incorporated into device-dependent output. At present, used in ps2, cmap, i*map and svg formats. For all these formats, URLs can be attached to nodes, edges and @@ -575,35 +573,35 @@ edge. Also note that, if active areas of two edges overlap, it is unspecified which area dominates. -
_background +
_background
A string in the xdot format specifying an arbitrary background. During rendering, the canvas is first filled as described in the bgcolor attribute. Then, if _background is defined, the graphics operations described in the string are performed on the canvas. -
area +
area
Indicates the preferred area for a node or empty cluster when laid out by patchwork. -
arrowhead +
arrowhead
Style of arrowhead on the head node of an edge. This will only appear if the dir attribute is "forward" or "both". See the limitation. -
arrowsize +
arrowsize
Multiplicative scale factor for arrowheads. -
arrowtail +
arrowtail
Style of arrowhead on the tail node of an edge. This will only appear if the dir attribute is "back" or "both". See the limitation. -
bb +
bb
Bounding box of drawing in points. -
bgcolor +
bgcolor
When attached to the root graph, this color is used as the background for entire canvas. When a cluster attribute, it is used as the initial background for the cluster. If a cluster has a filled @@ -629,10 +627,10 @@ set, overwriting whatever color or graphics were already on the page. If this effect is not desired, and you only want to set bits explicitly assigned in drawing the graph, set bgcolor="transparent". -
center +
center
If true, the drawing is centered in the output canvas. -
charset +
charset
Specifies the character encoding used when interpreting string input as a text label. The default value is "UTF-8". The other legal value is "iso-8859-1" or, @@ -641,7 +639,7 @@ equivalently, Note that if the character encoding used in the input does not match the charset value, the resulting output may be very strange. -
class +
class
Classnames to attach to the node, edge, graph, or cluster's SVG element. Combine with stylesheet for styling SVG output using CSS classnames. @@ -661,7 +659,7 @@ digraph G { } -
clusterrank +
clusterrank
Mode used for handling clusters. If clusterrank is "local", a subgraph whose name begins with "cluster" is given special treatment. The subgraph is laid out separately, and then integrated as a unit into @@ -672,7 +670,7 @@ Note also that there can be clusters within clusters. At present, the modes "global" and "none" appear to be identical, both turning off the special cluster processing. -
color +
color
Basic drawing color for graphics, not text. For the latter, use the fontcolor attribute.

@@ -697,7 +695,7 @@ digraph G { yields
-

colorscheme +
colorscheme
This attribute specifies a color scheme namespace. If defined, it specifies the context for interpreting color names. In particular, if a color value has form "xxx" or "//xxx", @@ -707,20 +705,20 @@ If no color scheme is set, the standard X11 naming is used. For example, if colorscheme=bugn9, then color=7 is interpreted as "/bugn9/7". -
comment +
comment
Comments are inserted into output. Device-dependent -
compound +
compound
If true, allow edges between clusters. (See lhead and ltail below.) -
concentrate +
concentrate
If true, use edge concentrators. This merges multiedges into a single edge and causes partially parallel edges to share part of their paths. The latter feature is not yet available outside of dot. -
constraint +
constraint
If false, the edge is not used in ranking the nodes. For example, in the graph
@@ -735,20 +733,20 @@ assignment, so the only constraints are that a be above b and c,
 yielding the graph:
-
decorate +
decorate
If true, attach edge label to edge by a 2-segment polyline, underlining the label, then going to the closest point of spline. -
defaultdist +
defaultdist
This specifies the distance between nodes in separate connected components. If set too small, connected components may overlap. Only applicable if pack=false. -
dim +
dim
Set the number of dimensions used for the layout. The maximum value allowed is 10. -
dimen +
dimen
Set the number of dimensions used for rendering. The maximum value allowed is 10. If both dimen and dim are set, the latter specifies @@ -763,14 +761,14 @@ attribute of the nodes. All other coordinates will be 2D and, at best, will reflect a projection of a higher-dimensional point onto the plane. -
dir +
dir
Set edge type for drawing arrowheads. This indicates which ends of the edge should be decorated with an arrowhead. The actual style of the arrowhead can be specified using the arrowhead and arrowtail attributes. See limitation. -
diredgeconstraints +
diredgeconstraints
Only valid when mode="ipsep". If true, constraints are generated for each edge in the largest (heuristic) directed acyclic subgraph such that the edge must point downwards. @@ -778,19 +776,19 @@ If "hier", generates level constraints similar to those used with mode="hier". The main difference is that, in the latter case, only these constraints are involved, so a faster solver can be used. -
distortion +
distortion
Distortion factor for shape=polygon. Positive values cause top part to be larger than bottom; negative values do the opposite. -
dpi +
dpi
This specifies the expected number of pixels per inch on a display device. For bitmap output, this guarantees that text rendering will be done more accurately, both in size and in placement. For SVG output, it is used to guarantee that the dimensions in the output correspond to the correct number of points or inches. -
edgeURL +
edgeURL
If edgeURL is defined, this is the link used for the non-label parts of an edge. This value overrides any URL defined for the edge. @@ -799,10 +797,10 @@ by a headURL or tailURL value, respectively. See limitation. -
edgehref +
edgehref
Synonym for edgeURL. -
edgetarget +
edgetarget
If the edge has a URL or edgeURL attribute, this attribute determines which window of the browser is used @@ -811,21 +809,21 @@ Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used. -
edgetooltip +
edgetooltip
Tooltip annotation attached to the non-label part of an edge. This is used only if the edge has a URL or edgeURL attribute. -
epsilon +
epsilon
Terminating condition. If the length squared of all energy gradients are < epsilon, the algorithm stops. -
esep +
esep
Margin used around polygons for purposes of spline edge routing. The interpretation is the same as given for sep. This should normally be strictly less than sep. -
fillcolor +
fillcolor
Color used to fill the background of a node or cluster assuming style=filled, or a filled arrowhead. If fillcolor is not defined, color is @@ -847,7 +845,7 @@ Note that a cluster inherits the root graph's attributes if defined. Thus, if the root graph has defined a fillcolor, this will override a color or bgcolor attribute set for the cluster. -
fixedsize +
fixedsize
If false, the size of a node is determined by smallest width and height needed to contain its label and image, if any, with a margin specified by the margin attribute. The width @@ -871,10 +869,10 @@ shape sizes are used when avoiding node overlap, but all edges to the node ignore the label and only contact the node shape. No warning is given if the label is too large. -
fontcolor +
fontcolor
Color used for text. -
fontname +
fontname
Font used for text. This very much depends on the output format and, for non-bitmap output such as PostScript or SVG, the availability of the font when the graph is displayed or printed. As such, it is best to rely on @@ -908,7 +906,7 @@ in one of the directories specified by the fontpath attribute. The lookup does support various aliases for the common fonts. -
fontnames +
fontnames
Allows user control of how basic fontnames are represented in SVG output. If fontnames is undefined or "svg", the output will try to use known SVG fontnames. For example, the @@ -922,7 +920,7 @@ are used. Thus, "Times-Roman" would be treated as "Nimbus Roman No9 L". These last two options are useful with SVG viewers that support these richer fontname spaces. -
fontpath +
fontpath
Directory list used by libgd to search for bitmap fonts if Graphviz was not built with the fontconfig library. If fontpath is not set, the environment @@ -931,14 +929,14 @@ If that is not set, GDFONTPATH is checked. If not set, libgd uses its compiled-in font path. Note that fontpath is an attribute of the root graph. -
fontsize +
fontsize
Font size, in points, used for text. -
forcelabels +
forcelabels
If true, all xlabel attributes are placed, even if there is some overlap with nodes or other labels. -
gradientangle +
gradientangle
If a gradient fill is being used, this determines the angle of the fill. For linear fills, the colors transform along a line specified by the angle and the center of the object. For radial fills, a value of zero causes the colors to transform radially from the center; for non-zero values, the colors transform from a point near the @@ -946,41 +944,41 @@ object's periphery as specified by the value.

If unset, the default angle is 0. -

group +
group
If the end points of an edge belong to the same group, i.e., have the same group attribute, parameters are set to avoid crossings and keep the edges straight. -
headURL +
headURL
If headURL is defined, it is output as part of the head label of the edge. Also, this value is used near the head node, overriding any URL value. See limitation. -
head_lp +
head_lp
Position of an edge's head label, in points. The position indicates the center of the label. -
headclip +
headclip
If true, the head of an edge is clipped to the boundary of the head node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable. -
headhref +
headhref
Synonym for headURL. -
headlabel +
headlabel
Text label to be placed near head of edge. See limitation. -
headport +
headport
Indicates where on the head node to attach the head of the edge. In the default case, the edge is aimed towards the center of the node, and then clipped at the node boundary. See limitation. -
headtarget +
headtarget
If the edge has a headURL, this attribute determines which window of the browser is used @@ -988,11 +986,11 @@ for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used. -
headtooltip +
headtooltip
Tooltip annotation attached to the head of an edge. This is used only if the edge has a headURL attribute. -
height +
height
Height of node, in inches. This is taken as the initial, minimum height of the node. If fixedsize is true, this will be the final height of the node. Otherwise, if the node label @@ -1008,10 +1006,10 @@ the maximum of the two values is used. If neither is set explicitly, the minimum of the two default values is used. -
href +
href
Synonym for URL. -
id +
id
Allows the graph author to provide an id for graph objects which is to be included in the output. Normal "\N", "\E", "\G" substitutions are applied. If provided, it is the responsibility of the provider to keep @@ -1025,7 +1023,7 @@ If the graph provides an id attribute, this will be used as a prefix for internally generated attributes. By making these distinct, the user can include multiple image maps in the same document. -
image +
image
Gives the name of a file containing an image to be displayed inside a node. The image file must be in one of the recognized formats, @@ -1051,7 +1049,7 @@ the image is treated as node content rather than the entire node. In particular, an image can be contained in a node of any shape, not just a rectangle. -
imagepath +
imagepath
Specifies a list of directories in which to look for image files as specified by the image attribute or using the IMG element in HTML-like labels. @@ -1061,7 +1059,7 @@ The first directory in which a file of the given name is found will be used to load the image. If imagepath is not set, relative pathnames for the image file will be interpreted with respect to the current working directory. -
imagepos +
imagepos
Attribute controlling how an image is positioned within its containing node. This only has an effect when the image is smaller than the containing node. The default is to be centered both horizontally and vertically. Valid values: @@ -1077,7 +1075,7 @@ default is to be centered both horizontally and vertically. Valid values: brBottom Right -
imagescale +
imagescale
Attribute controlling how an image fills its containing node. In general, the image is given its natural size, (cf. dpi), @@ -1107,7 +1105,7 @@ image is scaled down to fit the node. As with the case of expansion, if imagescale=true, width and height are scaled uniformly. -
inputscale +
inputscale
For layout algorithms that support initial input positions (specified by the pos attribute), this attribute can be used to appropriately scale the values. By default, fdp and neato interpret the x and y values of pos as being in inches. (NOTE: neato -n(2) treats the coordinates as @@ -1118,7 +1116,7 @@ This can also be set on the command line using the < If not set, no scaling is done and the units on input are treated as inches. A value of 0 is equivalent to inputscale=72. -
label +
label
Text label attached to objects. If a node's shape is record, then the label can have a special format @@ -1131,12 +1129,12 @@ because the node's actual label is an ordinary string, which will be replaced by the raw bytes stored in the node's name. To get an HTML-like label, the label attribute value itself must be an HTML string. -
labelURL +
labelURL
If labelURL is defined, this is the link used for the label of an edge. This value overrides any URL defined for the edge. -
label_scheme +
label_scheme
The value indicates whether to treat a node whose name has the form |edgelabel|* as a special node representing an edge label. The default (0) produces no effect. @@ -1145,7 +1143,7 @@ center of its neighbor. With a value of 2, sfdp uses a penalty-based method to m close to the old center of its neighbor. Finally, a value of 3 invokes a two-step process of overlap removal and straightening. -
labelangle +
labelangle
This, along with labeldistance, determine where the headlabel (taillabel) are placed with respect to the head (tail) @@ -1158,32 +1156,32 @@ The angle, in degrees, specifies the rotation from the 0 degree ray, with positive angles moving counterclockwise and negative angles moving clockwise. -
labeldistance +
labeldistance
Multiplicative scaling factor adjusting the distance that the headlabel(taillabel) is from the head(tail) node. The default distance is 10 points. See labelangle for more details. -
labelfloat +
labelfloat
If true, allows edge labels to be less constrained in position. In particular, it may appear on top of other edges. -
labelfontcolor +
labelfontcolor
Color used for headlabel and taillabel. If not set, defaults to edge's fontcolor. -
labelfontname +
labelfontname
Font used for headlabel and taillabel. If not set, defaults to edge's fontname. -
labelfontsize +
labelfontsize
Font size, in points, used for headlabel and taillabel. If not set, defaults to edge's fontsize. -
labelhref +
labelhref
Synonym for labelURL. -
labeljust +
labeljust
Justification for cluster labels. If "r", the label is right-justified within bounding rectangle; if "l", left-justified; else the label is centered. @@ -1191,7 +1189,7 @@ Note that a subgraph inherits attributes from its parent. Thus, if the root graph sets labeljust to "l", the subgraph inherits this value. -
labelloc +
labelloc
Vertical placement of labels for nodes, root graphs and clusters.

For graphs and clusters, only "t" and "b" are allowed, corresponding @@ -1208,7 +1206,7 @@ If labelloc is set to "t", "c", or "b", the label is aligned with the top, centered, or aligned with the bottom of the node, respectively. In the default case, the label is vertically centered. -

labeltarget +
labeltarget
If the edge has a URL or labelURL attribute, this attribute determines which window of the browser is used @@ -1217,37 +1215,37 @@ Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used. -
labeltooltip +
labeltooltip
Tooltip annotation attached to label of an edge. This is used only if the edge has a URL or labelURL attribute. -
landscape +
landscape
If true, the graph is rendered in landscape mode. Synonymous with rotate=90 or orientation=landscape. -
layer +
layer
Specifies layers in which the node, edge or cluster is present. -
layerlistsep +
layerlistsep
Specifies the separator characters used to split an attribute of type layerRange into a list of ranges. -
layers +
layers
Specifies a linearly ordered list of layer names attached to the graph The graph is then output in separate layers. Only those components belonging to the current output layer appear. For more information, see the page How to use drawing layers (overlays). -
layerselect +
layerselect
Selects a list of layers to be emitted. -
layersep +
layersep
Specifies the separator characters used to split the layers attribute into a list of layer names. -
layout +
layout
Specifies the name of the layout algorithm to use, such as "dot" or "neato". Normally, graphs should be kept independent of a type of layout. In some cases, however, it can be convenient to embed the type @@ -1259,44 +1257,44 @@ This attribute takes precedence over the -K flag or the actual command name used. -
len +
len
Preferred edge length, in inches. -
levels +
levels
Number of levels allowed in the multilevel scheme. -
levelsgap +
levelsgap
Specifies strictness of level constraints in neato when mode="ipsep" or "hier". Larger positive values mean stricter constraints, which demand more separation between levels. On the other hand, negative values will relax the constraints by allowing some overlap between the levels. -
lhead +
lhead
Logical head of an edge. When compound is true, if lhead is defined and is the name of a cluster containing the real head, the edge is clipped to the boundary of the cluster. See limitation. -
lheight +
lheight
Height of graph or cluster label, in inches. -
lp +
lp
Label position, in points. The position indicates the center of the label. -
ltail +
ltail
Logical tail of an edge. When compound is true, if ltail is defined and is the name of a cluster containing the real tail, the edge is clipped to the boundary of the cluster. See limitation. -
lwidth +
lwidth
Width of graph or cluster label, in inches. -
margin +
margin
For graphs, this sets x and y margins of canvas, in inches. If the margin is a single double, both margins are set equal to the given value.

@@ -1312,23 +1310,23 @@ the cluster bounding box. By default, this is 8 points. For nodes, this attribute specifies space left around the node's label. By default, the value is 0.11,0.055. -

maxiter +
maxiter
Sets the number of iterations used. -
mclimit +
mclimit
Multiplicative scale factor used to alter the MinQuit (default = 8) and MaxIter (default = 24) parameters used during crossing minimization. These correspond to the number of tries without improvement before quitting and the maximum number of iterations in each pass. -
mindist +
mindist
Specifies the minimum separation between all nodes. -
minlen +
minlen
Minimum edge length (rank difference between head and tail). -
mode +
mode
Technique for optimizing the layout. For neato, if mode is "major", neato uses stress majorization. If mode is "KK", neato uses a version of the gradient descent method. The only advantage @@ -1350,7 +1348,7 @@ a spring-electrical model. Setting mode to "maxent" causes a sim model to be run but one that also takes into account edge lengths specified by the "len" attribute. -
model +
model
This value specifies how the distance matrix is computed for the input graph. The distance matrix specifies the ideal distance between every pair of nodes. neato attemps to find a layout which best achieves @@ -1370,11 +1368,11 @@ between its vertices. A shortest path calculation is only used for pairs of nodes not connected by an edge. Thus, by supplying a complete graph, the input can specify all of the relevant distances. -
mosek +
mosek
If Graphviz is built with MOSEK defined, mode=ipsep and mosek=true, the Mosek software (www.mosek.com) is use to solve the ipsep constraints. -
newrank +
newrank
The original ranking algorithm in dot is recursive on clusters. This can produce fewer ranks and a more compact layout, but sometimes at the cost of a head node being place on a higher rank than the tail node. It also assumes that a node is not constrained in separate, @@ -1385,13 +1383,13 @@ If newrank=true, the ranking algorithm does a single global ranking, ig This allows nodes to be subject to multiple constraints. Rank constraints will usually take precedence over edge constraints. -
nodesep +
nodesep
In dot, this specifies the minimum space between two adjacent nodes in the same rank, in inches.

For other layouts, this affects the spacing between loops on a single node, or multiedges between a pair of nodes. -

nojustify +
nojustify
By default, the justification of multi-line labels is done within the largest context that makes sense. Thus, in the label of a polygonal node, a left-justified line will align with the left side of the node @@ -1404,7 +1402,7 @@ the first label line is long, and the second is shorter and left-justified, the second will align with the left-most character in the first line, regardless of how large the node might be. -
normalize +
normalize
If set, normalize coordinates of final layout so that the first point is at the origin, and then rotate the layout so that the angle of the first edge is specified by the value of normalize in degrees. @@ -1412,26 +1410,26 @@ If normalize is not a number, it is evaluated as a bool, wit corresponding to 0 degrees. NOTE: Since the attribute is evaluated first as a number, 0 and 1 cannot be used for false and true. -
notranslate +
notranslate
By default, the final layout is translated so that the lower-left corner of the bounding box is at the origin. This can be annoying if some nodes are pinned or if the user runs neato -n. To avoid this translation, set notranslate to true. -
nslimit +
nslimit
Used to set number of iterations in network simplex applications. nslimit is used in computing node x coordinates. If defined, # iterations = nslimit * # nodes; otherwise, # iterations = MAXINT. -
nslimit1 +
nslimit1
Used to set number of iterations in network simplex applications. nslimit1 is used for ranking nodes. If defined, # iterations = nslimit1 * # nodes; otherwise, # iterations = MAXINT. -
ordering +
ordering
If the value of the attribute is "out", then the outedges of a node, that is, edges with the node as its tail node, must appear @@ -1445,17 +1443,17 @@ If defined as a graph or subgraph attribute, the value is applied to all nodes in the graph or subgraph. Note that the graph attribute takes precedence over the node attribute. -
orientation +
orientation
Angle, in degrees, used to rotate polygon node shapes. For any number of polygon sides, 0 degrees rotation results in a flat base. -
orientation +
orientation
If "[lL]*", set graph orientation to landscape Used only if rotate is not defined. -
outputorder +
outputorder
Specify order in which nodes and edges are drawn. -
overlap +
overlap
Determines if and how node overlaps should be removed. Nodes are first enlarged using the sep attribute. If "true" , overlaps are retained. @@ -1530,7 +1528,7 @@ similar properties hold for the y coordinates. This is not quite true for the "porth*" cases. For these, orthogonal ordering is only preserved among nodes related by an edge. -
overlap_scaling +
overlap_scaling
When overlap=prism, the layout is scaled by this factor, thereby removing a fair amount of node overlap, and making node overlap removal faster and better able to retain the graph's shape. @@ -1541,11 +1539,11 @@ If overlap_scaling is positive, the layout is scaled by overlap_scaling. If overlap_scaling is zero, no scaling is done. -
overlap_shrink +
overlap_shrink
If true, the overlap removal algorithm will perform a compression pass to reduce the size of the layout. -
pack +
pack
This is true if the value of pack is "true" (case-insensitive) or a non-negative integer. If true, each connected component of the graph is laid out separately, and then the graphs are packed together. @@ -1559,13 +1557,13 @@ The granularity and method of packing is influenced by the For layouts which always do packing, such a twopi, the pack attribute is just used to set the margin. -
packmode +
packmode
This indicates how connected components should be packed (cf. packMode). Note that defining packmode will automatically turn on packing as though one had set pack=true. -
pad +
pad
The pad attribute specifies how much, in inches, to extend the drawing area around the minimal area needed to draw the graph. If the pad is a single double, both the x and y pad values are set @@ -1576,7 +1574,7 @@ Normally, a small pad is used for aesthetic reasons, especially when a background color is used, to avoid having nodes and edges abutting the boundary of the drawn region. -
page +
page
Width and height of output pages, in inches. If only a single value is given, this is used for both the width and height.

@@ -1592,12 +1590,12 @@ output, one should use another tool to split the output into multiple output files. Or use the viewport to generate multiple files. -

pagedir +
pagedir
If the page attribute is set and applicable, this attribute specifies the order in which the pages are emitted. This is limited to one of the 8 row or column major orders. -
pencolor +
pencolor
Color used to draw the bounding box around a cluster. If pencolor is not defined, color is used. If this is not defined, bgcolor is used. @@ -1607,7 +1605,7 @@ Note that a cluster inherits the root graph's attributes if defined. Thus, if the root graph has defined a pencolor, this will override a color or bgcolor attribute set for the cluster. -
penwidth +
penwidth
Specifies the width of the pen, in points, used to draw lines and curves, including the boundaries of edges and clusters. The value is inherited by subclusters. @@ -1618,7 +1616,7 @@ was achieved by including setlinewidth(W) as part of a style specification. If both are used, penwidth will be used. -
peripheries +
peripheries
Set number of peripheries used in polygonal shapes and cluster boundaries. Note that user-defined shapes are treated as a @@ -1627,7 +1625,7 @@ peripheries value is 1 and the user-defined shape will be drawn in a bounding rectangle. Setting peripheries=0 will turn this off. Also, 1 is the maximum peripheries value for clusters. -
pin +
pin
If true and the node has a pos attribute on input, neato or fdp prevents the node from moving from the input position. This property can also be specified in the pos attribute itself (cf. the point type). @@ -1646,7 +1644,7 @@ After 27 Feb 2014, this translation can be avoided in neato by setting the specifies node overlap removal or a change in aspect ratio, node coordinates may still change. -
pos +
pos
Position of node, or spline control points. For nodes, the position indicates the center of the node. On output, the coordinates are in points. @@ -1664,7 +1662,7 @@ programs, and are therefore in points. Thus, neato -n can accept input correctly without requiring a -s flag and, in fact, ignores any such flag. -
quadtree +
quadtree
Quadtree scheme to use.

A TRUE bool value corresponds to "normal"; @@ -1672,11 +1670,11 @@ a FALSE bool value corresponds to "none". As a slight exception to the normal interpretation of bool, a value of "2" corresponds to "fast". -

quantum +
quantum
If quantum > 0.0, node label dimensions will be rounded to integral multiples of the quantum. -
rank +
rank
Rank constraints on the nodes in a subgraph. If rank="same", all nodes are placed on the same rank. If rank="min", all nodes are placed on the minimum rank. @@ -1688,7 +1686,7 @@ Analogous criteria hold for rank="max" and rank="sink". minimum rank is topmost or leftmost, and the maximum rank is bottommost or rightmost.) -
rankdir +
rankdir
Sets direction of graph layout. For example, if rankdir="LR", and barring cycles, an edge T -> H; will go from left to right. By default, graphs are laid out from top to bottom. @@ -1696,7 +1694,7 @@ from left to right. By default, graphs are laid out from top to bottom. This attribute also has a side-effect in determining how record nodes are interpreted. See record shapes. -
ranksep +
ranksep
In dot, this gives the desired rank separation, in inches. This is the minimum vertical distance between the bottom of the nodes in one rank and the tops of nodes in the next. If the value @@ -1710,7 +1708,7 @@ the radius of the inner circle; the second double specifies the increase in radius from the first circle to the second; etc. If there are more circles than numbers, the last number is used as the increment for the remainder. -
ratio +
ratio
Sets the aspect ratio (drawing height/drawing width) for the drawing. Note that this is adjusted before the size attribute constraints are enforced. @@ -1761,26 +1759,26 @@ multiple of the page size in that dimension which is at least half the current size. The two dimensions are then scaled independently to the new size. This feature only works in dot. -
rects +
rects
Rectangles for fields of records, in points. -
regular +
regular
If true, force polygon to be regular, i.e., the vertices of the polygon will lie on a circle whose center is the center of the node. -
remincross +
remincross
If true and there are multiple clusters, run crossing minimization a second time. -
repulsiveforce +
repulsiveforce
The power of the repulsive force used in an extended Fruchterman-Reingold force directed model. Values larger than 1 tend to reduce the warping effect at the expense of less clustering. -
resolution +
resolution
This is a synonym for the dpi attribute. -
root +
root
This specifies nodes to be used as the center of the layout and the root of the generated spanning tree. As a graph attribute, this gives the name of the node. As a node attribute, it @@ -1797,40 +1795,40 @@ For twopi, it is possible to have multiple roots, presumably one for each component. If more than one node in a component is marked as the root, twopi will pick one. -
rotate +
rotate
If 90, set drawing orientation to landscape. -
rotation +
rotation
Causes the final layout to be rotated counter-clockwise by the specified number of degrees. -
samehead +
samehead
Edges with the same head and the same samehead value are aimed at the same point on the head. This has no effect on loops. Each node can have at most 5 unique samehead values. See limitation. -
sametail +
sametail
Edges with the same tail and the same sametail value are aimed at the same point on the tail. This has no effect on loops. Each node can have at most 5 unique sametail values. See limitation. -
samplepoints +
samplepoints
If the input graph defines the vertices attribute, and output is dot or xdot, this gives the number of points used for a node whose shape is a circle or ellipse. It plays the same role in neato, when adjusting the layout to avoid overlapping nodes, and in image maps. -
scale +
scale
If set, after the initial layout, the layout is scaled by the given factors. If only a single number is given, this is used for both factors. -
searchsize +
searchsize
During network simplex, maximum number of edges with negative cut values to search when looking for one with minimum cut value. -
sep +
sep
Specifies margin to leave around nodes when removing node overlap. This guarantees a minimal non-zero distance between nodes.

@@ -1847,10 +1845,10 @@ If unset but esep is defined, the sep values will be set to the esep values divided by 0.8. If esep is unset, the default value is used. -

shape +
shape
Set the shape of a node. -
shapefile +
shapefile
(Deprecated) If defined, shapefile specifies a file containing user-supplied node content. The shape of the node is set to box. The image in the shapefile must be @@ -1869,14 +1867,14 @@ For further details, see External PostScript files. -
showboxes +
showboxes
Print guide boxes in PostScript at the beginning of routesplines if 1, or at the end if 2. (Debugging, TB mode only!) -
sides +
sides
Number of sides if shape=polygon. -
size +
size
Maximum width and height of drawing, in inches. If only a single number is given, this is used for both the width and the height. @@ -1894,20 +1892,20 @@ least one dimension equals its dimension in size. Note that there is some interaction between the size and ratio attributes. -
skew +
skew
Skew factor for shape=polygon. Positive values skew top of polygon to right; negative to left. -
smoothing +
smoothing
Specifies a post-processing step used to smooth out an uneven distribution of nodes. -
sortv +
sortv
If packmode indicates an array packing, this attribute specifies an insertion order among the components, with smaller values inserted first. -
splines +
splines
Controls how, and if, edges are represented. If true, edges are drawn as splines routed around nodes; if false, edges are drawn as line segments. If set to none or "", no edges are drawn at all. @@ -1960,13 +1958,13 @@ requires non-overlapping nodes (cf. overlap). If fdp is used for layout and splines="compound", then the edges are drawn to avoid clusters as well as nodes. -
start +
start
Parameter used to determine the initial layout of nodes. If unset, the nodes are randomly placed in a unit square with the same seed is always used for the random number generator, so the initial placement is repeatable. -
style +
style
Set style information for components of the graph. For cluster subgraphs, if style="filled", the cluster box's background is filled.

@@ -1981,38 +1979,38 @@ making all edges invisible, a specific edge can overrride this via:

Of course, the component can also explicitly set its style attribute to the desired value. -

stylesheet +
stylesheet
A URL or pathname specifying an XML style sheet, used in SVG output. Combine with class to style elements using CSS selectors. -
tailURL +
tailURL
If tailURL is defined, it is output as part of the tail label of the edge. Also, this value is used near the tail node, overriding any URL value. See limitation. -
tail_lp +
tail_lp
Position of an edge's tail label, in points. The position indicates the center of the label. -
tailclip +
tailclip
If true, the tail of an edge is clipped to the boundary of the tail node; otherwise, the end of the edge goes to the center of the node, or the center of a port, if applicable. -
tailhref +
tailhref
Synonym for tailURL. -
taillabel +
taillabel
Text label to be placed near tail of edge. See limitation. -
tailport +
tailport
Indicates where on the tail node to attach the tail of the edge. See limitation. -
tailtarget +
tailtarget
If the edge has a tailURL, this attribute determines which window of the browser is used @@ -2020,16 +2018,16 @@ for the URL. Setting it to "_graphviz" will open a new window if it doesn't already exist, or reuse it if it does. If undefined, the value of the target is used. -
tailtooltip +
tailtooltip
Tooltip annotation attached to the tail of an edge. This is used only if the edge has a tailURL attribute. -
target +
target
If the object has a URL, this attribute determines which window of the browser is used for the URL. See W3C documentation. -
tooltip +
tooltip
Tooltip annotation attached to the node or edge. If unset, Graphviz will use the object's label if defined. Note that if the label is a record specification or an HTML-like @@ -2037,7 +2035,7 @@ label, the resulting tooltip may be unhelpful. In this case, if tooltips will be generated, the user should set a tooltip attribute explicitly. -
truecolor +
truecolor
If set explicitly to true or false, the value determines whether or not internal bitmap rendering relies on a truecolor color model or uses a color palette. @@ -2056,7 +2054,7 @@ a color palette, font antialiasing can show up as a fuzzy white area around characters. Using truecolor=true avoids this problem. -
vertices +
vertices
If the input graph defines this attribute, the node is polygonal, and output is dot or xdot, this attribute provides the coordinates of the vertices of the node's polygon, in inches. @@ -2064,16 +2062,16 @@ If the node is an ellipse or circle, the samplepoints attribute affects the output. -
viewport +
viewport
Clipping window on final drawing. Note that this attribute supersedes any size attribute. The width and height of the viewport specify precisely the final size of the output. -
voro_margin +
voro_margin
Factor to scale up drawing to allow margin for expansion in Voronoi technique. dim' = (1+2*margin)*dim. -
weight +
weight
Weight of edge. In dot, the heavier the weight, the shorter, straighter and more vertical the edge is. N.B. Weights in dot must be integers. @@ -2083,7 +2081,7 @@ For other layouts, a larger weight encourages the layout to make the edge length closer to that specified by the len attribute. -
width +
width
Width of node, in inches. This is taken as the initial, minimum width of the node. If fixedsize is true, this will be the final width of the node. Otherwise, if the node label @@ -2099,11 +2097,11 @@ the maximum of the two values is used. If neither is set explicitly, the minimum of the two default values is used. -
xdotversion +
xdotversion
For xdot output, if this attribute is set, this determines the version of xdot used in output. If not set, the attribute will be set to the xdot version used for output. -
xlabel +
xlabel
External label for a node or edge. For nodes, the label will be placed outside of the node but near it. For edges, the label will be placed near the center of the edge. This can be useful in dot to avoid the occasional problem when the use of edge labels @@ -2114,11 +2112,11 @@ These labels are added after all nodes and edges have been placed. The labels wi so that they do not overlap any node or label. This means it may not be possible to place all of them. To force placing all of them, use the forcelabels attribute. -
xlp +
xlp
Position of an exterior label, in points. The position indicates the center of the label. -
z +
z
Deprecated:Use pos attribute, along with dimen and/or dim to specify dimensions. @@ -2149,13 +2147,13 @@ For regular expressions, (...)* indicates 0 or more copies of the expre enclosed in the parentheses, (...)+ indicates 1 or more, and (...)? denotes 0 or 1 copy.
-
addDouble +
addDouble

A double with an optional prefix '+'. -

addPoint +
addPoint

A point with an optional prefix '+'. -

arrowType +
arrowType
@@ -2193,10 +2191,10 @@ plus some supported as special cases for backward-compatibility (ediamond, open, halfopen, empty, invempty). -
clusterMode +
clusterMode
"local","global","none" -
color +
color
Colors can be specified using one of four formats.
"normal" "inv"
@@ -2243,7 +2241,7 @@ Examples:
Usually, the same effect can be achieved by setting style to invis. -
colorList +
colorList
A colon-separated list of weighted color values: WC(:WC)* where each WC has the form C(;F)? with C a color value and the optional F a floating-point number, 0 ≤ F ≤ 1. The sum of the @@ -2273,7 +2271,7 @@ The following table shows some variations of the yellow:blue color list
"#%2x%2x%2x"Red-Green-Blue (RGB)
"#%2x%2x%2x%2x"Red-Green-Blue-Alpha (RGBA)
360
-
dirType +
dirType
For an edge T -> H;
"forward" @@ -2290,11 +2288,11 @@ For undirected edges T -- H;, one of the nodes, usually the righthand one, is treated as the head for the purpose of interpreting "forward" and "back". -
doubleList +
doubleList
A colon-separated list of doubles: "%f(:%f)*" where each %f is a double. -
escString +
escString
A string allowing escape sequences which are replaced according to the context. For node attributes, the substring "\N" is replaced by the name of the node, @@ -2320,13 +2318,13 @@ respectively. Obviously, one can use "\\" to get a single backslash. A backslash appearing before any character not listed above is ignored. -
layerList +
layerList
list of strings separated by characters from the layersep attribute (by default, colons, tabs or spaces), defining layer names and implicitly numbered 1,2,... -
layerRange +
layerRange
specifies a list of layers defined by the layers attribute. It consists of a list of layer intervals separated by any collection of characters from the layerlistsep attribute. @@ -2342,11 +2340,11 @@ and layerlistsep, if layers="a:b:c:d:e:f:g:h"layers="a:b,d,f:all" would denote the layers a b d f g h". -
lblString +
lblString
an escString or an HTML label. -
outputMode +
outputMode
"breadthfirst","nodesfirst","edgesfirst" These specify the order in which nodes and edges are drawn in concrete output. The default "breadthfirst" is the simplest, but when the graph @@ -2359,7 +2357,7 @@ reasons, it may be desirable that all edges appear beneath nodes, even if the resulting drawing is ambiguous. This can be achieved by choosing "edgesfirst". -
packMode +
packMode
"node", "clust" , "graph" , "array(_flags)?(%d)?"

The modes "node", "clust" or "graph" @@ -2401,7 +2399,7 @@ Components are inserted in order, starting with the one with the smallest sort value. If no sort value is specified, zero is used. -

pagedir +
pagedir
"BL", "BR", "TL", "TR", "RB", "RT", "LB", "LT". These specify the 8 row or column major orders for traversing a rectangular array, the first character corresponding to the major @@ -2411,7 +2409,7 @@ to right. This means the bottom row is traversed first, from left to right, then the next row up, from left to right, and so on, until the topmost row is traversed. -
point +
point
"%f,%f('!')?" representing the point (x,y). The optional '!' indicates the node position should not change (input-only). @@ -2419,10 +2417,10 @@ node position should not change (input-only). If dim is 3, point may also have the format "%f,%f,%f('!')?" to represent the point (x,y,z). -
pointList +
pointList
A list of points, separated by spaces. -
portPos +
portPos
modifier indicating where on a node an edge should be aimed. It has the form portname(:compass_point)? or compass_point. @@ -2458,26 +2456,26 @@ the port. Thus, if node A has a port w, then At present, in this case, there is no way to specify that the compass point should be used. -
quadType +
quadType
"normal", "fast", "none".

Using "fast" gives about a 2-4 times overall speedup compared with "normal", though layout quality can suffer a little. -

rankType +
rankType
"same", "min", "source", "max", "sink" -
rankdir +
rankdir
"TB", "LR", "BT", "RL", corresponding to directed graphs drawn from top to bottom, from left to right, from bottom to top, and from right to left, respectively. -
rect +
rect
"%f,%f,%f,%f" The rectangle llx,lly,urx,ury gives the coordinates, in points, of the lower-left corner (llx,lly) and the upper-right corner (urx,ury). -
shape +
shape
A string specifying the shape of a node. There are three main types of shapes : @@ -2489,11 +2487,11 @@ by HTML-like labels. That is, instead of using shape=record, one might consider using shape=none and an HTML-like label. -
smoothType +
smoothType
Values are "none", "avg_dist", "graph_dist", "power_dist", "rng", "spring" and "triangle". -
splineType +
splineType
spline ( ';' spline )*
@@ -2507,7 +2505,7 @@ If a spline has points p1 p2 p3 ... pn1 to startp. If startp is not given, p1 touches a node. Similarly for pn and endp. -
startType +
startType
has the syntax (style)?(seed)?.

If style is present, it must be one of the strings "regular", @@ -2529,7 +2527,7 @@ Note that input positions, specified by a node's pos attribute, are only used when the style is "random". -

style +
style
styleItem ( ',' styleItem )*
where spline=(endp)? (startp)? point (triple)+
@@ -2639,7 +2637,7 @@ equivalent to style="setlinewidth(2)". The use of setlinewidth is deprecated; one should use the penwidth attribute instead. -
viewPort +
viewPort
"%lf,%lf,%lf,%lf,%lf" or "%lf,%lf,%lf,'%s'"

The viewPort W,H,Z,x,y or W,H,Z,N diff --git a/doc/infosrc/templates/attrs.html.j2 b/doc/infosrc/templates/attrs.html.j2 index d162e995d..685d7516d 100644 --- a/doc/infosrc/templates/attrs.html.j2 +++ b/doc/infosrc/templates/attrs.html.j2 @@ -7,8 +7,7 @@ Node, Edge and Graph Attributes - -

Node, Edge and Graph Attributes

+

Node, Edge and Graph Attributes


The table below describes the attributes used by various Graphviz tools. The table gives the name of the attribute, the graph components (node, @@ -32,20 +31,19 @@ one would use
where styleItem=name or name'('args')'
Further details concerning the setting of attributes can be found in the description of the -DOT language. +DOT language.

At present, most device-independent units are either inches or - -points, +points, which we take as 72 points per inch. -

-Note: Some attributes, such as -dir or arrowtail, are +

+Note: Some attributes, such as +dir or arrowtail, are ambiguous when used in -DOT +DOT with an undirected graph since the head and tail of an edge are meaningless. As a convention, the first time an undirected edge appears, the -DOT +DOT parser will assign the left node as the tail node and the right node as the head. For example, the edge A -- B will have tail A and head B. It is the user's responsibility to handle such @@ -57,12 +55,12 @@ the drawing will attach the tail label to node A. To avoid possible confusion when such attributes are required, the user is encouraged to use a directed graph. If it is important to make the graph appear undirected, this can be -done using the dir, arrowtail -or arrowhead attributes. -

+done using the dir, arrowtail +or arrowhead attributes. +

The tools accept standard C representations for int and double types. -For the bool type, TRUE values are +For the bool type, TRUE values are represented by "true" or "yes" (case-insensitive) and any non-zero integer, and FALSE values by "false" or "no" (case-insensitive) and zero. @@ -70,8 +68,8 @@ In addition, there are a variety of specialized types such as arrowType, color, point and rankdir. Legal values for these types are given at the end. -

-In the Used By field, the +

+In the Used By field, the characters E, N, G, S and C represent edges, nodes, the root graph, subgraphs and cluster subgraphs, respectively. @@ -83,9 +81,9 @@ of the layout programs.


- + {% for attr in attrs %} -
NameUsed ByTypeDefaultMinimumNotes
NameUsed ByTypeDefaultMinimumNotes
{{ attr.name }} +
{{ attr.name }} {{ attr.uses }} {%- for kind in attr.kinds -%} {%- if not loop.first -%} @@ -94,9 +92,9 @@ of the layout programs. {%- if kind in ['double', 'int', 'string'] -%} {{ kind }} {%- elif kind == 'bool' -%} - bool + bool {% else -%} - {{kind}} + {{kind}} {% endif -%} {%- endfor -%} @@ -136,7 +134,7 @@ of the layout programs.

Attribute Descriptions

{% for attr in attrs %} -
{{ attr.name }} +
{{ attr.name }}
{{ attr.html_description }} {% endfor %}
@@ -151,7 +149,7 @@ enclosed in the parentheses, (...)+ indicates 1 or more, and (...)? denotes 0 or 1 copy.
{% for t in types %} -
{{t.name}} +
{{t.name}}
{{t.html_description}} {% endfor %}
-- 2.40.0