1GVPACK(1) General Commands Manual GVPACK(1)
2
3
4
6 gvpack - merge and pack disjoint graphs
7
9 gvpack [ -nguv? ] [ -mmargin ] [ -array[_flags][n] ] [ -ooutfile ] [
10 -Gname=value ] [ files ]
11
13 gvpack reads in a stream of graphs, combines the graphs into a single
14 layout, and produces a single graph serving as the union of the input
15 graphs. The input graphs must be in dot format, and must have all nec‐
16 essary layout information. Acceptable input is produced by applying a
17 Graphviz layout program, such as dot or neato, with no -T flag.
18
19 By default, the packing is done at the cluster level. Thus, parts of
20 one graph will not intrude into any top‐level clusters or overlap any
21 nodes or edges of another.
22
23 The output of gvpack can be used to produce concrete output by applying
24 neato -s -n2 with the desired -T flag.
25
27 The following options are supported:
28
29 -g Combines the graphs at the graph level. This uses more space,
30 but prevents parts of one graph from occurring between parts of
31 another.
32
33 -array[_flags][n]
34 Combines the graphs at the graph level, placing them in an
35 array. By default, the layout is done in row-major order. The
36 number of columns used is roughly the square root of the number
37 of graphs. If the optional integer n is supplied, this indicates
38 the number of columns to use.
39
40
41 If optional flags are supplied, these consist of an underscore followed
42 by any of the letters "c", "t", "b", "l", "r" or "u". If "c" is
43 supplied, the graphs are packed in column-major order, in which
44 case a final integer specifies the number of rows. The flags
45 "t", "b", "l", "r" indicate that components are aligned along
46 the top, bottom, left or right, respectively. The "u" flag
47 indicates that the insertion order is based on the sortv
48 attribute attached to each graph.
49
50 -Gname=value
51 Specifies attributes to be added to the resulting union graph.
52 For example, this can be used to specify a graph label.
53
54 -mmargin
55 Packs the graphs allowing a margin of output points around the
56 parts.
57
58 -n Combines the graphs at the node level. Clusters are ignored in
59 the packing.
60
61 -ooutput
62 Prints output to the file output. If not given, gvpack uses std‐
63 out.
64
65 -u Don't pack the graphs. Just combine them into a single graph.
66
67 -v Verbose mode.
68
69 -? Prints usage information and exit.
70
72 The following operand is supported:
73
74 files Names of files containing 1 or more graphs in dot format. If
75 no files operand is specified, the standard input will be used.
76
78 gvpack returns 0 if there were no problems, and non‐zero otherwise.
79
81 ccomps -x abc.gv | dot | gvpack | neato -s -n2 -Tps
82 This pipeline decomposes the graph in abc.gv into its connected compo‐
83 nents, lays out each using dot, packs them all together again, and pro‐
84 duces the final drawing in PostScript. Of course, there is nothing to
85 prevent one from using different layouts for each component.
86
88 All the input graphs must be directed or undirected.
89
90 An input graph should not have a label, since this will be used in its
91 layout. Since gvpack ignores root graph labels, resulting layout may
92 contain some extra space.
93
94 gvpack unsets the bounding box attribute of all non‐cluster subgraphs.
95
97 Emden R. Gansner <erg@research.att.com>
98
100 gvpr(1), dot(1), neato(1), twopi(1), ccomps(1), libpack(3)
101
102
103
104 27 May 2010 GVPACK(1)