Table of Contents
gvpack - merge and pack disjoint graphs
gvpack [ -nguv? ] [ -mmargin
] [ -array[_flags][n] ] [ -ooutfile ] [ -sgraph_name ] [ -Gname=value ] [
gvpack reads in a stream of graphs, combines the graphs
into a single layout, and produces a single graph serving as the union
of the input graphs. The input graphs must be in dot format, and must have
all necessary layout information. Acceptable input is produced by applying
a Graphviz layout program, such as dot or neato, with no -T flag.
the packing is done at the cluster level. Thus, parts of one graph will
not intrude into any top-level clusters or overlap any nodes or edges of
The output of gvpack can be used to produce concrete output by
applying neato -s -n2 with the desired -T flag.
The following options
following operand is supported:
- Combines the graphs at the graph level. This uses more
space, but prevents parts of one graph from occurring between parts of
- Combines the graphs at the graph level, placing
them in an array. By default, the layout is done in row-major order. The number
of columns used is roughly the square root of the number of graphs. If the
optional integer n is supplied, this indicates the number of columns to
- If optional flags are supplied, these consist of an underscore followed
- by any of the letters "c", "t", "b", "l", "r" or "u". If "c" is supplied,
the graphs are packed in column-major order, in which case a final integer
specifies the number of rows. The flags "t", "b", "l", "r" indicate that
components are aligned along the top, bottom, left or right, respectively.
The "u" flag indicates that the insertion order is based on the sortv attribute
attached to each graph.
- Specifies attributes to be added to
the resulting union graph. For example, this can be used to specify a graph
- Packs the graphs allowing a margin of output points around
- Combines the graphs at the node level. Clusters are ignored
in the packing.
- Prints output to the file output. If not given, gvpack
- Use graph_name as the name of the root graph. By
default, "root" is used.
- Don’t pack the graphs. Just combine them into a
- Verbose mode.
- Prints usage information and exit.
gvpack returns 0 if there were no problems, and
ccomps -x abc.gv | dot | gvpack | neato -s -n2 -Tps
This pipeline decomposes the graph in abc.gv into its connected components,
lays out each using dot, packs them all together again, and produces the
final drawing in PostScript. Of course, there is nothing to prevent one
from using different layouts for each component.
All the input graphs
must be directed or undirected.
- Names of files containing 1 or more
graphs in dot format. If no files operand is specified, the standard input
will be used.
An input graph should not have a label,
since this will be used in its layout. Since gvpack ignores root graph labels,
resulting layout may contain some extra space.
gvpack unsets the bounding
box attribute of all non-cluster subgraphs.
Emden R. Gansner <email@example.com>
gvpr(1), dot(1), neato(1), twopi(1), ccomps(1), libpack(3)
Table of Contents