The formats actually available in a given Graphviz system depend on how the system was built and the presence of additional libraries. To see what formats dot supports, run dot -T?. See the description of the -T flag for additional information.
Note that the internal coordinate system has the origin in the lower left corner. Thus, positions in the canon, dot, xdot, plain, and plain-ext formats need to be interpreted in this manner.
Command-line parameter | Format |
---|---|
bmp | Windows Bitmap Format |
canon
dot xdot | DOT |
cmap | Client-side imagemap (deprecated) |
dia | Dia format |
eps | Encapsulated PostScript |
fig | FIG |
gd
gd2 | GD/GD2 formats |
gif | GIF |
gtk | GTK canvas |
hpgl | HP-GL/2 |
ico | Icon Image File Format |
imap
cmapx | Server-side and client-side imagemaps |
imap_np
cmapx_np | Server-side and client-side imagemaps |
ismap | Server-side imagemap (deprecated) |
jpg
jpeg jpe | JPEG |
mif | FrameMaker MIF format |
mp | MetaPost |
pcl | PCL |
Portable Document Format (PDF) | |
pic | PIC |
plain
plain-ext | Simple text format |
png | Portable Network Graphics format |
ps | PostScript |
ps2 | PostScript for PDF |
svg
svgz | Scalable Vector Graphics |
tga | Truevision Targa Format (TGA) |
tif
tiff | TIFF (Tag Image File Format) |
vml
vmlz | Vector Markup Language (VML) |
vrml | VRML |
vtx | Visual Thought format |
wbmp | Wireless BitMap format |
xlib | Xlib canvas |
The dot option corresponds to attributed dot output, 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.
The xdot format extends the dot format by providing much more detailed information about how graph components are drawn. It relies on additional attributes for nodes, edges and graphs.
The format is preliminary; comments and suggestions for better representations are welcome. To allow for changes in the format, Graphviz attaches the attribute xdotversion to the graph.
At present, additional drawing attributes are only attached to nodes
and edges. There are six new attributes:
The value of these attributes consists of the concatenation of some
(multi-)set of the following 12 rendering or attribute operations.
(The number is parentheses gives the xdot version when the operation
was added to the format. If no version number is given, the operation
was in the original specification.)
The text operation is only used in the label attributes. Normally,
the non-text operations are only used in the non-label attributes.
If, however, the decorate
attribute is set on an edge, its label
attribute will also contain a polyline operation.
In addition, if a label is a complex, HTML-like label, it will also
contain non-text operations.
All coordinates and sizes are in points.
Note though that if
an edge or node is invisible, no drawing operations are attached to it.
Version info:
If the URL
of a node contains the escape sequence "\N", it will be replaced by
the node's name.
If the headURL is defined and contains the escape sequence "\N",
it will be replaced by
the headlabel, if defined.
The analogous result holds for the tailURL and the
taillabel.
Note: At present, this option does not support anchors, etc. To get these
included in your PDF output, use ps2.
There are four types of statements.
Note: The control points given in an edge statement define the
body of the edge. In particular, if the edge has an arrowhead to the
head or tail node,
there will be a gap between the last or first control points and the
boundary of the associated node. There are at least 3 possible ways
of handling this gap:
Note that the plain formats provide minimal information, really giving not
much more than node positions and sizes, and edge spline control points.
These formats are usually most useful to applications wanting just this
geometric information, and willing to fill in all of the graphical details.
The only real advantages to these formats is their terseness and their
ease of parsing. In general, the dot and
xdot are preferable in terms of the quantity of
information provided.
Note: The default PostScript renderer can only handle the Latin-1
character set. To get non-Latin-1 characters into PostScript output,
use -Tps:cairo, assuming your version was built with the
Cairo renderer.
Line segments are drawn as cylinders.
In general, VRML output relies on having the PNG library to produce images
used to texture-fill the node shapes. However, if
shape=point,
a node is drawn as a 3D sphere.
_draw_ Drawing operations
_ldraw_ Label drawing
_hdraw_ Head arrowhead Edge only
_tdraw_ Tail arrowhead Edge only
_hldraw_ Head label Edge only
_tldraw_ Tail label Edge only
E x0 y0 w h
Filled ellipse ((x-x0)/w)2 + ((y-y0)/h)2 = 1
e x0 y0 w h
Unfilled ellipse ((x-x0)/w)2 + ((y-y0)/h)2 = 1
P n x1 y1 ... xn yn
Filled polygon using the given n points
p n x1 y1 ... xn yn
Unfilled polygon using the given n points
L n x1 y1 ... xn yn
Polyline using the given n points
B n x1 y1 ... xn yn
B-spline using the given n control points
b n x1 y1 ... xn yn
Filled B-spline using the given n control points (1.1)
T x y j w n -c1c2...cn
Text drawn using the baseline point (x,y). The text consists of the
n characters following '-'. The text should be left-aligned (centered,
right-aligned) on the point if j is -1 (0, 1), respectively. The value
w gives the width of the text as computed by the library.
C n -c1c2...cn
Set fill color. The color value consists of the
n characters following '-'. (1.1)
c n -c1c2...cn
Set pen color. The color value consists of the
n characters following '-'. (1.1)
F s n -c1c2...cn
Set font. The font size is s points. The font name consists of the
n characters following '-'. (1.1)
S n -c1c2...cn
Set style attribute. The style value consists of the
n characters following '-'. The syntax of the value is the same as
specified for a styleItem in style. (1.1)
I x y w h n -c1c2...cn
Externally-specified image drawn in the box with lower left
corner (x,y) and upper right corner (x+w,y+h). The name of the image
consists of the n characters following '-'. This is usually a bitmap
image. Note that the image size, even when converted from pixels to
points, might be different from the required size (w,h). It is
assumed the renderer will perform the necessary scaling. (1.2)
Xdot version Graphviz version 1.0 1.9 1.1 2.8 1.2 2.13
/* x.dot */
digraph mainmap {
URL="http://www.research.att.com/base.html";
command [URL="http://www.research.att.com/command.html"];
command -> output [URL="colors.html"];
}
one would process the graph and generate two output files:
dot -Timap -ox.map -Tgif -ox.gif x.dot
and then refer to it in a web page:
dot -Tcmapx -ox.map -Tgif -ox.gif x.dot
and uses the HTML
... [content of x.map] ...
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
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.