Seth Woolley's Man Viewer

twopi(1) - twopi - preprocessor for radial layouts of graphs - man 1 twopi

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

TWOPI(1)                                                              TWOPI(1)

       twopi - preprocessor for radial layouts of graphs

       twopi  [-Gname=value]  [-Nname=value]  [-Ename=value] [-Tlang] [-l lib-
       file(1,n)] [-o outfile] [-vV] [files]

       twopi draws graphs using a radial layout (see G.  Wills,  Symposium  on
       Graph  Drawing  GD'97, September, 1997).  Basically, one node is chosen
       as the center and put at the origin.  The remaining nodes are placed on
       a  sequence  of  concentric  circles  centered about the origin, each a
       fixed radial distance from the previous circle.  All nodes  distance  1
       from  the  center  are placed on the first circle; all nodes distance 1
       from a node on the first circle are placed on the second circle; and so

       Input files must be formatted in(1,8) the dot attributed graph language.  By
       default, the output of twopi is the input graph with layout coordinates
       appended.   To  make  PostScript,  use the -Tps option.  FrameMaker MIF
       (-Tmif), HPGL (-Thpgl), JPEG (-Tjpeg), SVG (-Tsvg), and GIF (-Tgif) are
       other choices.

       Here is a brief synopsis of the graph language.

       graph  name  { statement-list } is the top level graph.  Statements may

       node [name=val];
       edge [name=val]; Set the default graph, node, or edge attribute name to
       val.   Any  subgraph, node, or edge specified after one of these state-
       ments inherits these attributes.

       n0 [name0=val0,name1=val1,...]; Creates node n0 if(3,n) it does  not  exist,
       and sets its attributes according to the optional list.

       n0  --  n1  --  ...  --  nn  [name0=val0,name1=val1,...]; Creates edges
       between nodes n0, n1, ..., nn and optionally sets the given attributes.
       Creates nodes as necessary.

       subgraph  name  {  statement-list } Creates a subgraph.  A subgraph may
       appear in(1,8) place of an individual node within an  edge  statement.   The
       subgraph  name  part  is optional. If missing, the subgraph is given an
       internal name.

       While attribute names and values  may  be  arbitrary  strings,  certain
       fixed attributes control twopi's layout algorithm, as next described.

       Refer to dot(1) options to control the layout size.  In addition, twopi
       recognizes the following:

       root=ctr. This specifies the node to be used as the center of the  lay-
       out.  If  not specified, twopi will randomly pick one of the nodes that
       are furthest from a leaf node, where a leaf node is a node of degree 1.
       If no leaf nodes exists, an arbitrary node is picked as center.

       ranksep=val.  Specifies  the  radial  distance  in(1,8)  inches  between the
       sequence of rings. The default is 0.75.

       overlap=mode. This specifies what twopi should do if(3,n) any nodes overlap.
       If  mode  is  "false",  the program uses Voronoi diagrams to adjust the
       nodes to eliminate overlaps. If mode is "scale",  the  layout  is  uni-
       formly scaled up, preserving node sizes, until nodes no longer overlap.
       The latter technique removes overlaps  while  preserving  symmetry  and
       structure,  while  the  former  removes  overlaps  more  compactly  but
       destroys symmetries.  If mode is "true" (the default), no repositioning
       is done.

       splines=true/false.  If  set(7,n,1 builtins)  to true, twopi will use the graphviz path
       planning library to draw edges as splines avoiding nodes.  If the value
       is  false, or some nodes overlap, edges are drawn as straight line seg-
       ments connecting nodes.  This is also the default style.

       Refer to dot(1) for options to control node labels, shapes, sizes, col-
       ors, fonts, etc.

       Refer to dot(1) for options to control edge line style and labels.

       -v  (verbose) prints the center node and the rank separation.  -V (ver-
       sion(1,3,5)) prints version(1,3,5) information and exits.

       Emden R. Gansner <>

       dot(1), circo(1) neato(1) fdp(1)

                                 24 March 2002                        TWOPI(1)

References for this manual (incoming links)