123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867 |
- Quick Reference Guide for GraphViz
- 20 February 2002
- Command-line Invocation
- ------------------------------------------------------------------------
- All GraphViz programs have a similar invocation:
- cmd [ flags ] [ input files ]
- If no input files are supplied, the program reads from stdin.
- Flags
- -Gname=value
- Set a graph attribute.
- -Nname=value
- Set a default node attribute.
- -Ename=value
- Set a default edge attribute.
- -Tformat
- Set output language to one of the supported formats. By default,
- attributed dot is produced.
- -V
- Emit version information and exit.
- -llibfile
- User-supplied, device-dependent library files. Multiple libraries may
- be given. These names are passed to the code generator at the beginning
- of output.
- -n[num]
- Sets no-op flag in neato. If set, neato assumes nodes have already been
- positioned and have a pos attribute giving this position. It then just
- computes the edge layouts and emits the graph in the appropriate
- format. If num is supplied and > 1, neato checks for previously
- positioned edges, with control points provided in the pos attribute. It
- uses these if given; otherwise, it computes the edge layout.
- -ooutfile
- Write output to file outfile. By default, output goes to stdout.
- -s[scale]
- Set input scale to scale. If this value is omitted, 72.0 is used. This
- number is used to convert the point coordinate units used in the pos
- attribute into inches. For example, dot -Tdot produces pos values in
- points, with 72 per inch. Thus, to use this output as input to neato
- -n, one needs -s (equivalently, -s72).
- -v
- Verbose mode
- -x
- In neato, on input, prune isolated nodes and peninsulas. This removes
- uninteresting graph structure and produces a less cluttered drawing.
- Note that the file contents override the -G, -N and -E flags. In addition,
- these flags cause the related attributes to be permanently attached to the
- graph. Thus, if attributed dot is used for output, the graph will have these
- attributes.
- ------------------------------------------------------------------------
- The DOT Language
- ------------------------------------------------------------------------
- digraph G {foo -> bar; ... } or graph G { foo -- bar; ...}
- To connect all pairs:
- {foo bar}->{baz bart}
- To make a chain of links:
- foo->bar->baz
- Commas inside [...] and semicolons inside {...} are optional.
- Quotes are needed on attribute values to protect spaces, commas, periods, etc.
- // C++ like comment: to end of line
- /* C-like comment: between delimiters */
- For a complete language description, see
- http://www.research.att.com/~erg/graphviz/info/lang.html
- ------------------------------------------------------------------------
- Attributes
- ------------------------------------------------------------------------
- Name Used By Type Default Minimum Notes
- Damping G double 0.99 0.0 neato only
- Epsilon G double (.0001 * # nodes) neato only
- URL ENGC string
- arrowhead E arrowType normal
- arrowsize E double 1.0 0.0
- arrowtail E arrowType normal
- bb G rect write-only
- bgcolor G color
- bottomlabel N string ""
- center G bool false
- clusterrank G clusterMode local dot only
- color ENC color black
- comment ENG string ""
- compound G bool false dot only
- concentrate G bool false dot only
- constraint E bool true dot only
- decorate E bool false
- dir E dirType forward(directed)
- none(undirected)
- distortion N double 0.0 -100.0
- fillcolor NC color lightgrey(nodes)
- black(clusters)
- fixedsize N bool false
- fontcolor ENGC color black
- fontname ENGC string "Times-Roman"
- fontpath G string ""
- fontsize ENGC double 14.0 1.0
- group N string "" dot only
- headURL E string ""
- headlabel E string ""
- headport E portPos center
- height N double 0.5 0.02
- K G double 1.0 0.0 sfdp only
- label ENGC string ""
- "\N" (nodes)
- labelangle E double -25.0 -180.0
- labeldistance E double 1.0 0.0
- labelfloat E bool false
- labelfontcolor E color black
- labelfontname E string "Times-Roman"
- labelfontsize E double 11.0 1.0
- labeljust C string "" dot only
- labelloc GC string "t"(clusters) dot only
- "b"(root graphs)
- layer EN layerRange ""
- layers G layerList ""
- len E double 1.0 neato only
- levels G int MAXINT 0 sfdp only
- lhead E string "" dot only
- lp EGC point write-only
- ltail E string "" dot only
- margin G double
- pointf
- maxiter G int MAXINT neato only
- mclimit G double 1.0 dot only
- minlen E int 1 0 dot only
- model G string "" neato only
- nodesep G double 0.25 0.02 dot only
- normalize G bool false neato only
- nslimit
- nslimit1 G double dot only
- ordering G string "" dot only
- orientation N double 0.0 360.0
- orientation G string ""
- overlap G string "" neato/sfdp only
- bool
- page G pointf
- pagedir G pagedir BL
- peripheries N int 0
- pin N bool neato only
- pos EN point
- splineType
- quadtree G string "" sfdp only
- quantum G double 0.0 0.0
- rank S rankType dot only
- rankdir G rankdir TB dot only
- ranksep G double 0.5 0.02
- ratio G double
- rects N rect write-only
- regular N bool false
- remincross G bool false dot only
- repulsiveforce G double 1 0.0 sfdp only
- rotate G int 0
- samehead E string "" dot only
- sametail E string "" dot only
- samplepoints G int 8
- searchsize G int 30 dot only
- sep G double 0.01 neato only
- shape N shape ellipse
- shapefile N string ""
- showboxes ENG int 0 0 dot only
- sides N int 4 0
- size G pointf
- skew N double 0.0 -100.0
- smoothing G string "" sfdp only
- splines G bool false neato only
- start G string "" neato only
- int
- style ENC style
- styleheet G style
- tailURL E string ""
- taillabel E string ""
- tailport E portPos center
- toplabel N string ""
- vertices N pointfList write-only
- voro_margin G double 0.05 0.0 neato only
- w E double 1.0 neato only
- weight E double 1.0 0(dot)
- 1(neato)
- width N double 0.75 0.01
- z N double 0.0 -MAXFLOAT
- -1000
- ------------------------------------------------------
- For the bool type, TRUE values are represented by "true" (case-insensitive)
- and any non-zero integer, and FALSE values by "false" (case-insensitive) and
- zero.
- In the Used By field, the characters E, N, G and C represent edges, nodes,
- the root graph and cluster subgraphs, respectively. This field indicates
- which graph component uses the attribute.
- ------------------------------------------------------------------------
- Attribute Descriptions
- 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.
- Epsilon
- Terminating condition. If the length squared of all energy gradients
- are < Epsilon, the algorithm stops.
- URL
- Incorporated into device-dependent output. At present, used for ps2,
- i*map and svg. For ps2, URLs can be attached to nodes and the root
- graph. When distilled to PDF, such nodes are active links and the graph
- URL can be used as a base URL. For i*map, URLs can be attached to
- nodes, edges and the root graph. If the node or edge URL contains "\N",
- this is replaced by the object's name. For svg, URLs can be attached to
- nodes, edges and clusters, with "\N" replacement done for all three.
- arrowhead
- Style of arrowhead on head of edge.
- arrowsize
- Multiplicative scale factor for arrowheads.
- arrowtail
- Style of arrowhead on tail of edge.
- bb
- Bounding box of drawing in integer points.
- bgcolor
- Color used as background for canvas, plus initial fill color.
- bottomlabel
- Additional label near bottom of nodes of shape M*.
- center
- If true, the drawing is centered in the output canvas.
- 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 its
- parent graph, with a bounding rectangle drawn about it. If the cluster
- has a label parameter, this label is displayed within the rectangle.
- 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
- Basic drawing color for graphics.
- comment
- Comments are inserted into output. Device-dependent
- compound
- If true, allow edges between clusters. (See lhead and ltail below.)
- concentrate
- If true, use edge concentrators.
- constraint
- If false, the edge is not used in ranking the nodes. For example, in
- the graph
- digraph G {
- a -> c;
- a -> b;
- b -> c [constraint=false];
- }
- the edge b -> c does not add a constraint during rank assignment, so
- the only constraints are that a be above b and c.
-
- decorate
- If true, attach edge label to edge by a 2-segment polyline, underlining
- the label, then going to the closest point of spline.
- dir
- Set edge type for drawing arrowheads.
- distortion
- Distortion factor for shape=polygon. Positive values cause top part to
- be larger than bottom; negative values do the opposite.
- fillcolor
- If fillcolor is not defined, color is used. If this is not defined, the
- default is used, except for shape=point or when the output format is
- MIF, which use black by default.
- fixedsize
- If true, the node size is kept fixed and not expanded to contain the
- text label.
- fontcolor
- Color used for text.
- fontname
- Font used for text.
- fontpath
- Directory list used by libgd to search for bitmap fonts. If fontpath is
- not set, the environment variable DOTFONTPATH is checked. If that is
- not set, GDFONTPATH is checked. If not set, libgd uses its compiled-in
- font path.
- fontsize
- Font size, in points, used for text.
- 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
- For the output format imap, or cmap, if headURL is defined, it is
- output as part of the head label of the edge. If headURL contains
- "\N", this will be replaced by the head label text.
- headlabel
- Text label to be placed near head of edge.
- 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.
- height
- Height of node, in inches.
- K constant used in the Fruchterman-Reingold force directed model.
- label
- Text label attached to objects. The escape sequences "\n", "\l" and
- "\r" divide the label into lines, centered, left-justified and
- right-justified, respectively. The escape sequence "\N" represents a
- node's name. If a node's shape is record, then the label can have a
- special format which describes the record layout.
- labelangle
- Angle, in degrees, that the headlabel(taillabel) is rotated from the
- angle the edge makes incident with the head(tail) node, respectively.
- labeldistance
- Multiplicative scaling factor adjusting the distance that the
- headlabel(taillabel) is the from head(tail) node.
- labelfloat
- If true, allows edge labels to be less constrained in position. In
- particular, it may appear on top of other edges.
- labelfontcolor
- Color used for headlabel and taillabel.
- labelfontname
- Font used for headlabel and taillabel.
- labelfontsize
- Font size, in points, used for headlabel and taillabel.
- labeljust
- Justification for cluster labels. If "r", the label is right-justified
- within bounding rectangle; otherwise, left-justified.
- labelloc
- Top/bottom placement of graph and cluster labels. If the attribute is
- "t", place label at the top; if the attribute is "b", place label at
- the bottom. By default, root graph labels go on the bottom and cluster
- labels go on the top.
- layer
- Specifies layers in which the node or edge is present.
- 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).
- len
- Preferred edge length, in inches.
- levels
- Number of levels allowed in the multilevel scheme. Default is MAXINT.
- 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.
- lp
- Label position, in points.
- 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.
- margin
- Set x and y margins of canvas, in inches. In first case, both margins
- are set equal to the given value.
- maxiter
- Sets the number of iterations used.
- 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.
- minlen
- Minimum edge length (rank difference between head and tail).
- model
- If "circuit", use circuit resistance model to compute dissimilarity
- values; otherwise, use shortest path model.
- nodesep
- Minimum space between two adjacent nodes in the same rank, in inches.
- 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 first edge is
- horizontal.
- nslimit ,
- nslimit1
- Used to set number of iterations in network simplex applications.
- nslimit is used in computing node x coordinates, nslimit1 for ranking
- nodes. If defined, # iterations = nslimit(1) * # nodes; otherwise, #
- iterations = MAXINT.
- ordering
- If "out" for a graph G, and n is a node in G, then edges n->* appear
- left-to-right in the same order in which they are defined.
- orientation
- Angle, in degrees, used to rotate node shapes.
- orientation
- If "[lL]*", set graph orientation to landscape Used only if rotate is
- not defined.
- overlap
- If "scale", remove node overlaps by scaling; if converts to false,
- remove node overlaps by the Voronoi technique; otherwise, leave
- overlaps.
- page
- Width and height of output pages, in inches. If this is set and is
- smaller than the size of the layout, a rectangular array of pages of
- the specified page size is overlaid on the layout, with origins aligned
- in the lower-left corner, thereby partitioning the layout into pages.
- The pages are then produced one at a time, in pagedir order.
- 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.
- peripheries
- Set number of peripheries used in polygonal shapes.
- pin
- If true and the node has a pos attribute on input, neato prevents the
- node from moving from the input position. This property can also be
- specified in the pos attribute itself (cf. the point type).
- pos
- Position of node, or spline control points, in points. In neato, pos
- can be used to set initial position of a node. Concerning this, see the
- -s command line flag.
- quantum
- If quantum > 0.0, node label dimensions will be rounded to integral
- multiples of the quantum.
- quadtree
- Quadtree scheme to use. Values are "normal" (default), "fast" or "none".
- "fast" gives about 2-4 overall speedup compared with "normal", though
- layout quality can suffer a little.
- 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. If rank="source", all nodes are placed on the minimum
- rank, and the only nodes on the minimum rank belong to some subgraph
- whose rank attribute is "source" or "min". Analogous criteria hold for
- rank="max" and rank="sink". (Note: the minimum rank is topmost or
- leftmost, and the maximum rank is bottommost or rightmost.)
- rankdir
- Sets direction of graph layout. If rankdir="LR", the graph is laid out
- from left to right, i.e., directed edges tend to go from left to right.
- By default, graphs are laid out from top to bottom.
- ranksep
- In dot, this the gives 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 contains "equally", the
- centers of all ranks are spaced equally apart. Note that both settings
- are possible, e.g., ranksep = "1.2 equally". In twopi, specifies radial
- separation of ranks.
- ratio
- Sets the aspect ratio (drawing height/drawing width) for the drawing.
- Note that this is adjusted before the size attribute constraints are
- enforced.
- If ratio is numeric, it is taken as the desired aspect ratio. Then, if
- the actual aspect ratio is less than the desired ratio, the drawing
- height is scaled up to achieve the desired ratio; if the actual ratio
- is greater than that desired ratio, the drawing width is scaled up.
- If ratio = "fill" and the size attribute is set, the drawing is scaled
- to achieve the aspect ratio implied by size. As size is set, when the
- drawing is later scaled to fit that rectangle, the resulting picture
- will fill the rectangle.
- If ratio = "compress" and the size attribute is set, dot attempts to
- compress the initial layout to fit in the given size. This achieves a
- tighter packing of nodes but reduces the balance and symmetry.
- If ratio = "auto", the page attribute is set and the graph cannot be
- drawn on a single page, then size is set to an ``ideal'' value. In
- particular, the size in a given dimension will be the smallest integral
- 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.
- rects
- Rectangles for fields of records, in points.
- regular
- If true, force polygon to be regular.
- repulsiveforce
- The power of repulsive force used in an extended Fruchterman-Reingold
- force directed model. Default is 1. Values larger than 1 tend to reduce
- the warping effect at the expensive of less clustering.
- remincross
- If true and there are multiple clusters, run cross minimization a
- second time.
- rotate
- If 90, set drawing orientation to landscape.
- samehead
- Edges with the same head and the same samehead value are aimed at the
- same point on the head.
- sametail
- Edges with the same tail and the same sametail value are aimed at the
- same point on the tail.
- samplepoints
- If the input graph defines the vertices attribute, and output is plain*
- or attributed dot, this give the number of points used to represent
- circles and ellipses. It plays the same role in neato, when adjusting
- the layout to avoid overlapping nodes.
- searchsize
- During network simplex, maximum number of edges with negative cut
- values to search when looking for one with minimum cut value.
- sep
- Fraction to increase polygons (multiply coordinates by 1 + sep) for
- purposes of determining overlap. Guarantees a minimal non-zero distance
- between nodes.
- shape
- Set shape of node.
- shapefile
- For output format is ps* or svg*, if non-empty, taken as a filename
- containing a device-dependent description of a node's shape.
- showboxes
- Print guide boxes in PostScript at the beginning of routesplines if 1,
- or at the end if 2. (Debugging)
- sides
- Number of sides if shape=polygon.
- size
- Maximum width and height of drawing, inches. If defined and the drawing
- is too large, the drawing is uniformly scaled down so that it fits
- within the given size. Note that there is some interaction between the
- size and ratio attributes.
- skew
- Skew factor for shape=polygon. Positive values skew top of polygon to
- right; negative to left.
- smoothing
- A post processing step to smooth out uneven distribution of nodes. Possible
- values are "none" (default), "avg_dist", "graph_dist", "power_dist", "rng",
- "spring" and "triangle".
- splines
- If true, draw edges as splines. This requires non-overlapping nodes
- (cf. overlap).
- start
- Parameter used to determine the initial layout of nodes. By default,
- nodes are randomly placed in a square whose sides have length (#
- nodes). The same seed is always used for the random number generator,
- so the initial placement is repeatable. If start converts to an
- integer, this is used as a seed value for the random number generator.
- If start is "regular", the nodes are placed regularly about a circle.
- Finally, if start is defined but is not one of the above cases, the
- current time is used to pick a seed.
- style
- Set style for node or edge. For cluster subgraph, if "filled", the
- cluster box's background is filled.
- stylesheet
- The URL of a CSS stylesheet to be referenced from the output file.
- Relevant only for SVG output.
- tailURL
- When the output format is imap, or cmap, if tailURL is defined, it is
- output as part of the tail label of the edge. If tailURL
- contains "\N", this will be replaced by the tail label text.
- taillabel
- Text label to be placed near tail of edge.
- tailport
- Indicates where on the tail node to attach the tail of the edge.
- toplabel
- Additional label near top of nodes of shape M*.
- vertices
- If the input graph defines this attribute, the node is polynomial, and
- output is plain* or attributed dot, this attribute provides the
- coordinates of the vertices of the node's polynomial, in points. If the
- node is an ellipse or circle, the samplepoints attribute affects the
- output.
- voro_margin
- Factor to scale up drawing to allow margin for expansion in Voronoi
- technique. dim' = (1+2*margin)*dim.
- w
- Redundant definition of weight in neato, cf. bug 9.
- weight
- Weight of edge. Usually, the heavier the weight, the shorter (and, in
- dot, straighter and more vertical) an edge is.
- width
- Width of node, in inches.
- z
- Provides z coordinate for the node when output format is VRML.
- ------------------------------------------------------------------------
- Attribute Type Descriptions
- arrowType
- "normal" "inv"
- "dot" "invdot"
- "odot" "invodot"
- "none"
- clusterMode
- "local","global","none"
- color
- "#%2x%2x%2x" RGB
- "#%2x%2x%2x%2x"RGBA
- "%lf,%lf,%lf" HSV 0.0 <= values <= 1.0
- string color name
- dirType
- For an edge T -> H;
- "forward" "back"
- "both" "none"
- 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".
- layerList
- list of strings separated by colons, tabs or spaces, defining layer
- names and implicitly numbered 1,2,...
- layerRange
- layerId or layerId[:\t ]layerId,
- where layerId = "all", decimal integer or layer name. (An integer i
- corresponds to layer i.)
- 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 order and the second to the minor
- order. Thus, for "BL", the major order is from bottom to top, and the
- minor order is from left 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
- "%d,%d"('!') representing the point (x,y). The optional '!' indicates
- the node position should not change (input-only).
- pointf
- "%lf,%lf" representing the point (x,y).
- pointfList
- list of pointf, separated by spaces.
- portPos
- "n","ne","e","se","s","sw","w","nw" These correspond to the obvious
- compass points on the node.
- rankType
- "same", "min", "source", "max", "sink"
- rankdir
- "LR". Any other value corresponds to a top-down layout.
- rect
- "%d,%d,%d,%d" The rect llx,lly,urx,ury gives the coordinates, in
- points, of the lower-left corner (llx,lly) and the upper-right corner
- (urx,ury).
- shape
- A string specifying the shape of a node. There are three main types of
- shapes : polygon-based, record-based and PostScript-based.
- splineType
- spline ( ';' spline )*
- where spline= (startp)? (endp)? point (triple)]*
- and triple = point point point
- and endp = "e,%d,%d"
- and startp = "s,%d,%d"
- If a spline has points p1 p2 p3 ... pn, (n = 1 (mod 3)), the points
- correspond to the control points of a B-spline from p1 to pn. If startp
- is given, it touches one node of the edge, and the arrowhead goes from
- p1 to startp. If startp is not given, p1 touches a node. Similarly for
- pn and endp.
- style
- styleItem ( ',' styleItem )*
- where styleItem= name or name'('args')'
- and args = name ( ',' name )*
- and name = [^)(, ][^)(,]*
- At present, the recognized style names comprise "dashed", "dotted",
- "solid", "invis" and "bold" for nodes and edges, and "filled",
- "diagonals" and "rounded" for nodes only. Additional styles are
- available in device-dependent form. Style lists are passed to device
- drivers, which can use this to generate appropriate output.
- Note that, at present, "rounded" cancels "filled", except for circles
- and ellipses. This holds for the Mrecord shape, which is rounded by
- definition.
- ------------------------------------------------------------------------
- Output Formats
- ------------------------------------------------------------------------
- The output format is specified with the -Tlang flag on the command line,
- where lang is one of the following:
- Command-line
- parameter Format
- canon
- cmap Client-side imagemap
- dot DOT
- fig FIG
- gd
- gd2 GD/GD2 formats
- gif GIF
- imap Server-side imagemap
- ismap Server-side imagemap (deprecated)
- jpg
- jpeg JPEG
- mif FrameMaker MIF format
- mp MetaPost
- pcl PCL
- pic PIC
- plain
- plain-ext Simple text format
- png Portable Network Graphics format
- ps PostScript
- ps2 PostScript for PDF
- svg
- svgz Scalable Vector Graphics
- vrml VRML
- vtx Visual Thought format
- wbmp Wireless BitMap format
- ------------------------------------------------------------------------
- Format Descriptions
- canon ,
- dot
- These two formats produce output in variations of the dot language.
- Using canon produces a prettyprinted version of the input, with no
- layout performed.
- dot corresponds to attributed dot, and is the default output format. It
- reproduces the input, along with layout information for the graph. In
- particular, a bb attribute is attached to the graph, specifying the
- bounding box of the drawing. If the graph has a label, its position is
- specified by the lp attribute.
- Each node gets pos, width and height attributes. If the node is a
- record, the record rectangles are given in the rects attribute. If the
- node is a polygon and the vertices attribute is defined, this attribute
- contains the vertices of the node.
- Every edge is assigned a pos attribute, and if the edge has a label,
- the label position is given in lp.
- fig
- Outputs graphs in the FIG graphics language.
- gd ,
- gd2
- Output images in the GD and GD2 format. These are the internal formats
- used by the gd library. The latter is compressed.
- gif
- Outputs GIF bitmap images.
- imap
- cmap
- Produces map files for server-side and client-side image maps,
- respectively. These can be used in a web page with a graphical
- form of the output, e.g. in JPEG or GIF format, to attach links
- to nodes and edges. For example, given the dot file
- /* x.gv */
- digraph G {
- URL="http://www.research.att.com/";
- command [URL="command.html"];
- command -> output [URL="colors.html"];
- }
- this can be processed twice:
- dot -Timap > x.map
- dot -Tgif > x.gif
- and then be referred to in a web page, such as
- <A HREF="x.map">
- <IMG SRC="x.gif" ISMAP>
- </A>
- URLs can be attached to the root graph, nodes and edges. If the URL of
- a node contains the escape sequence "\N", it will be replaced by the
- node's name. If an edge has a URL, various points along the edge (but
- not the head or tail) will link to it. In addition, if the edge has a
- label, that will link to the URL.
- As for the head of the edge, this is linked to the headURL, if set.
- Otherwise, it is linked to the edge's URL if that is defined. If the
- headURL contains the escape sequence "\N", it will be replaced by the
- headlabel, if defined. The analogous description holds for the tail,
- tailURL and taillabel.
- ismap
- Produces HTML image map files. This is a predecessor (circa 1994) of
- the IMAP format. Most servers now user the latter. URLs can be attached
- to the root graph, nodes and edges. Since edge links are attached to
- edge labels, an edge must have a label for its URL to be used. For both
- nodes and edges, if the URL has the escape sequence "\N" embedded in
- its string, this will be replaced with the node or edge name.
- jpg ,
- jpeg
- Output JPEG compressed image files. This format relies on the
- installation having the JPEG library.
- mif
- Generates Frame Maker MIF files.
- mp
- Produces MetaPost output.
- pcl
- Produces output in the PCL printer language. HP-GL is a subset of PCL,
- so that PCL output is the same as HP-GL, wrapped with some initial and
- final commands to set the printer to and from HP-GL mode.
- pic
- Outputs in PIC, the picture description language in the troff-family
- plain ,
- plain-ext
- The plain and plain-ext formats produce output using a simple,
- line-based language. The latter format differs in that, on edges, it
- provides port names on head and tail nodes when applicable.
- There are four types of statements.
- graph scale width height
- node name x y width height label style shape color fillcolor
- edge tail head n x1 y1 .. xn yn [label xl yl] style color
- stop
- graph
- The width and height values give the width and height of the
- drawing. The lower left corner of the drawing is at the origin.
- The scale value indicates how the drawing should be scaled if a
- size attribute was given and the drawing needs to be scaled to
- conform to that size. If no scaling is necessary, it will be set
- to 1.0. Note that all graph, node and edge coordinates and lengths
- are given unscaled.
- node
- The name value is the name of the node, and x and y give the
- node's position. The width and height are the width and height of
- the node. The label, style, shape, color and fillcolor give the
- node's label, style, shape, color and fillcolor, respectively,
- using attribute default values where necessary. If the node does
- not have a style attribute, "solid" is used.
- edge
- The tail and head values give the names of the head and tail
- nodes. n is the number of control points defining the B-spline
- forming the edge. This is followed by 2*n numbers giving the x and
- y coordinates of the control points in order from tail to head. If
- the edge has a label, this comes next followed by the x and y
- coordinates of the label's position. The edge description is
- completed by the edge's style and color. As with nodes, if a style
- is not defined, "solid" is used.
- The output consists of one graph line, a sequence of node lines, one
- per node, a sequence of edge lines, one per edge, and a final stop
- line. All units are in inches, represented by a floating point number.
- png
- Produces output in the PNG (Portable Network Graphics) format. PNG
- relies on having libz and the PNG library.
- ps
- Produces PostScript output.
- ps2
- Produces PostScript output with PDF notations. It is assumed the output
- will be directly converted into PDF format. The notations include PDF
- bounding box information, so that the resulting PDF file can be
- correctly used with pdf tools, such as pdflatex. In addition, if a node
- has a URL attribute, this gets translated into PDF code such that the
- node, when viewed in a PDF-viewer, e.g., acroread, is a link to the
- given URL. If a URL is attached to the graph, this serves as a base,
- such that relative URLs on nodes are derived from it.
- svg ,
- svgz
- Produce SVG output, the latter in compressed format. SVG relies on
- having libz.
- vrml
- Outputs graphs in the VRML format. VRML relies on having the PNG
- library.
- vtx
- Generates graph diagrams in the format for Confluents's Visual Thought.
- wbmp
- Produces output in the Wireless BitMap (WBMP) format, optimized for
- mobile computing.
- ------------------------------------------------------------------------
|