Seth Woolley's Man Viewer

circo(1) - circo - preprocessor for circular layout of graphs - man 1 circo

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

CIRCO(1)                                                              CIRCO(1)



NAME
       circo - preprocessor for circular layout of graphs

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

DESCRIPTION
       circo draws graphs using a circular layout (see Six and Tollis, GD  '99
       and  ALENEX  '99, and Kaufmann and Wiese, GD '02.)  The tool identifies
       biconnected components and draws the nodes of the component on  a  cir-
       cle.  The block-cutpoint tree is then laid out using a recursive radial
       algorithm. Edge crossings within a circle are minimized by  placing  as
       many  edges  on  the circle's perimeter as possible.  In particular, if(3,n)
       the component is outerplanar, the component will have a planar  layout.

       If  a  node belongs to multiple non-trivial biconnected components, the
       layout puts(3,n) the node in(1,8) one of them. By default, this is the first non-
       trivial component found in(1,8) the search from the root component.

       Input files must be formatted in(1,8) the dot attributed graph language.  By
       default, the output of circo 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
       be:

       name=val;
       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 circo's layout algorithm, as next described.

GRAPH ATTRIBUTES
       Refer  to  dot(1) for options to control the layout size.  In addition,
       circo recognizes the following:

       root=nodename. Specifies the name of  a  node  occurring  in(1,8)  the  root
       block.  If  the  graph  is disconnected, the root node attribute can be
       used to specify additional root blocks.

       mindist=value. Sets the minimum separation between all  nodes.  If  not
       specified then circo uses a default value of 1.0.

       splines=true/false.  If  set(7,n,1 builtins)  to true, circo 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.

NODE ATTRIBUTES
       root=true/false. This specifies that the  block  containing  the  given
       node be treated as the root of the spanning tree in(1,8) the layout.

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

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

COMMAND LINE OPTIONS
       -V (version(1,3,5)) prints version(1,3,5) information and exits.

BUGS
AUTHOR
       Emden R. Gansner <erg@research.att.com>

SEE ALSO
       dot(1), fdp(1) neato(1) twopi(1)



                               21 November 2003                       CIRCO(1)

References for this manual (incoming links)