osage(1)


NAME

   osage - filter for drawing clustered graphs

SYNOPSIS

   osage  [-(G|N|E)name=value]  [-Tlang] [-llibfile] [-ooutfile] [-O] [-P]
   [-v] [-V] [files]

DESCRIPTION

   osage draws clustered graphs. As input, it takes any graph in  the  dot
   format.  It draws the graph recursively. At each level, there will be a
   collection of  nodes  and  a  collection  of  cluster  subgraphs.   The
   internals  of  each  cluster  subgraph  are  laid out, then the cluster
   subgraphs and nodes at the current level  are  positioned  relative  to
   each other, treating each cluster subgraph as a node.

   At each level, the nodes and cluster subgraphs are viewed as rectangles
   to be packed together. At present, edges are  ignored  during  packing.
   Packing  is  done  using the standard packing functions. In particular,
   the graph attributes pack and packmode control the layout.  Each  graph
   and  cluster can specify its own values for these attributes.  Remember
   also that a cluster inherits  its  attribute  values  from  its  parent
   graph.

   After  all  nodes  and clusters, edges are routed based on the value of
   the splines attribute.

OUTPUT FORMATS

   Osage uses an extensible plugin mechanism for its output renderers,  so
   to  see what output formats your installation of osage supports you can
   use ``osage -Txxx'' (where xxx is an unlikely  format)  and  check  the
   warning   message.    Also,  The  plugin  mechanism  supports  multiple
   implementations of the  output  formats.   To  see  what  variants  are
   available, use, for example: ``osage -Tpng:'' and to force a particular
   variant, use, for example: ``osage -Tpng:gd''

   Traditionally, osage supports the following: -Tps  (PostScript),  -Tsvg
   -Tsvgz  (Structured  Vector  Graphics),  -Tfig  (XFIG  graphics), -Tmif
   (FrameMaker graphics), -Thpgl (HP pen plotters),  and  -Tpcl  (Laserjet
   printers),  -Tpng -Tgif (bitmap graphics), -Tdia (GTK+ based diagrams),
   -Timap (imagemap files for httpd servers for each node or edge that has
   a nonnull "href" attribute.), -Tcmapx (clientside imagemap for use in
   html and xhtml).  Additional less common or more specialpurpose output
   formats             can             be             found             at
   http://www.graphviz.org/cvs/doc/info/output.html.)

   Alternative plugins providing support for a given output format can  be
   found  from  the  error  message  resulting from appending a ':' to the
   format. e.g. -Tpng: The first plugin listed is always the default.

GRAPH FILE LANGUAGE

   Here is a synopsis of the  graph  file  language,  normally  using  the
   extension .gv, for graphs:

   [strict] (graph|digraph) name { statementlist }
   Is  the top level graph. If the graph is strict then multiple edges are
   not allowed between the same pairs of  nodes.   If  it  is  a  directed
   graph,  indicated by digraph, then the edgeop must be "->". If it is an
   undirected graph then the edgeop must be "--".  Statements may be:

   name=val;
   node [name=val];
   edge [name=val];
   Set default graph, node, or edge attribute name to val.  Any  subgraph,
   node, or edge appearing after this inherits the new default attributes.

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

   n0 edgeop n1 edgeop ... edgeop nn [name0=val0,name1=val1,...];
   Creates edges between nodes n0, n1, ..., nn and sets  their  attributes
   according to the optional list.  Creates nodes as necessary.

   [subgraph name] { statementlist }
   Creates  a  subgraph.  Subgraphs may be used in place of n0, ..., nn in
   the above statements to create edges.  [subgraph name] is optional;  if
   missing, the subgraph is assigned an internal name.

   Comments may be /*Clike*/ or //C++like.

   Attribute  names  and  values  are  ordinary  (Cstyle)  strings.   The
   following sections describe attributes that control graph layout.

GRAPH ATTRIBUTES

   size="x,y" sets bounding box of drawing in inches.

   page="x,y" sets the PostScript pagination unit.

   ratio=f sets the aspect ratio to  f  which  may  be  a  floating  point
   number, or one of the keywords fill, compress, or auto.

   pagedir=[TBLR][TBLR] sets the major and minor order of pagination.

   rotate=90   sets   landscape   mode.    (orientation=land  is  backward
   compatible but obsolete.)

   center=n a nonzero value centers the drawing on the page.

   layers="id:id:id:id" is a sequence of  layer  identifiers  for  overlay
   diagrams.    The  PostScript  array  variable  layercolorseq  sets  the
   assignment of colors to layers. The least index is 1 and  each  element
   must be a 3element array to be interpreted as a color coordinate.

   color=colorvalue sets foreground color (bgcolor for background).

   href="url"  the  default  url for image map files; in PostScript files,
   the base URL for all relative URLs, as recognized by Acrobat  Distiller
   3.0 and up.

   URL="url" ("URL" is a synonym for "href".)

   stylesheet="file.css" includes a reference to a stylesheet in -Tsvg and
   -Tsvgz outputs.  Ignored by other formats.

   splines. If set to true,  edges  are  drawn  as  splines.   If  set  to
   polyline,  edges  are  drawn  as polylines.  If set to ortho, edges are
   drawn as orthogonal polylines.  In all of these cases,  the  nodes  may
   not overlap.  If splines=false or splines=line, edges are drawn as line
   segments.  The default is false.

NODE ATTRIBUTES

   height=d  or  width=d   sets   minimum   height   or   width.    Adding
   fixedsize=true  forces  these  to  be  the actual size (text labels are
   ignored).

   shape=record polygon epsf builtin_polygon
   builtin_polygon is one of: plaintext ellipse oval circle  egg  triangle
   box  diamond  trapezium  parallelogram  house  hexagon octagon note tab
   box3d component.  (Polygons are defined or modified  by  the  following
   node  attributes:  regular, peripheries, sides, orientation, distortion
   and skew.)  epsf uses the node's shapefile attribute as the  path  name
   of an external EPSF file to be automatically loaded for the node shape.

   label=text  where  text  may include escaped newlines \n, \l, or \r for
   center, left, and right justified lines.  The string '\N' value will be
   replaced  by  the node name.  The string '\G' value will be replaced by
   the  graph  name.   Record  labels  may  contain  recursive  box  lists
   delimited  by  {  | }.  Port identifiers in labels are set off by angle
   brackets < >.  In the graph file, use colon (such as, node0:port28).

   fontsize=n sets the label type size to n points.

   fontname=name sets the label font family name.

   color=colorvalue sets the outline color, and the default fill color  if
   style=filled and fillcolor is not specified.

   fillcolor=colorvalue  sets  the  fill  color when style=filled.  If not
   specified, the fillcolor when style=filled defaults to be the  same  as
   the outline color.

   fontcolor=colorvalue sets the label text color.

   A  colorvalue  may  be  "h,s,v"  (hue, saturation, brightness) floating
   point numbers between 0 and 1, or an X11 color name such as white black
   red  green  blue yellow magenta cyan or burlywood, or a "#rrggbb" (red,
   green, blue, 2 hex characters each) value.

   style=filled solid dashed dotted bold invis or any Postscript code.

   layer=id or id:id or "all" sets the node's active  layers.   The  empty
   string means no layers (invisible).

   The following attributes apply only to polygon shape nodes:

   regular=n  if  n  is  nonzero  then  the polygon is made regular, i.e.
   symmetric about the x and y axis, otherwise the polygon  takes  on  the
   aspect  ratio  of  the  label.   builtin_polygons  that are not already
   regular are made regular by this attribute.  builtin_polygons that  are
   already   regular   are   not  affected  (i.e.   they  cannot  be  made
   asymmetric).

   peripheries=n sets the number  of  periphery  lines  drawn  around  the
   polygon.   This  value  supersedes  the  number  of  periphery lines of
   builtin_polygons.

   sides=n sets the number of sides to the  polygon.  n<3  results  in  an
   ellipse.  This attribute is ignored by builtin_polygons.

   orientation=f  sets  the  orientation  of the first apex of the polygon
   counterclockwise from the vertical, in degrees.  f may  be  a  floating
   point  number.   The  orientation  of  labels  is  not affected by this
   attribute.  This attribute is  added  to  the  initial  orientation  of
   builtin_polygons.

   distortion=f  sets the amount of broadening of the top and narrowing of
   the bottom of the polygon  (relative  to  its  orientation).   Floating
   point  values  between  -1  and  +1  are  suggested.  This attribute is
   ignored by builtin_polygons.

   skew=f sets the amount of  rightdisplacement  of  the  top  and  left
   displacement   of   the   bottom   of  the  polygon  (relative  to  its
   orientation).  Floating point values between -1 and +1  are  suggested.
   This attribute is ignored by builtin_polygons.

   href="url"  sets  the  url for the node in imagemap, PostScript and SVG
   files.  The substrings '\N' and '\G' are substituted in the same manner
   as  for  the  node label attribute.  Additionally the substring '\L' is
   substituted with the node label string.

   URL="url" ("URL" is a synonym for "href".)

   target="target" is a target string for clientside imagemaps  and  SVG,
   effective  when  nodes  have  a  URL.   The  target  string  is used to
   determine which window of the browser is used for the URL.  Setting  it
   to  "_graphviz"  will open a new window if it doesn't already exist, or
   reuse it if it does.  If the target string is empty, the default,  then
   no target attribute is included in the output.  The substrings '\N' and
   '\G' are  substituted  in  the  same  manner  as  for  the  node  label
   attribute.   Additionally  the  substring  '\L' is substituted with the
   node label string.

   tooltip="tooltip" is a tooltip string  for  clientside  imagemaps  and
   SVG,  effective  when nodes have a URL.  The tooltip string defaults to
   be the same as the label  string,  but  this  attribute  permits  nodes
   without  labels  to  still have tooltips thus permitting denser graphs.
   The substrings '\N' and '\G' are substituted in the same manner as  for
   the   node   label  attribute.   Additionally  the  substring  '\L'  is
   substituted with the node label string.

EDGE ATTRIBUTES

   label=text where text may include escaped newlines \n, \l,  or  \r  for
   centered,  left,  or  right  justified lines.  If the substring '\T' is
   found in a label it will be replaced by the  tail_node  name.   If  the
   substring '\H' is found in a label it will be replaced by the head_node
   name.  If the substring '\E' value is found  in  a  label  it  will  be
   replaced  by:  tail_node_name->head_node_name  If the substring '\G' is
   found in a label it will  be  replaced  by  the  graph  name.   or  by:
   tail_node_name--head_node_name for undirected graphs.

   fontsize=n sets the label type size to n points.

   fontname=name sets the label font family name.

   fontcolor=colorvalue sets the label text color.

   style=solid dashed dotted bold invis

   color=colorvalue sets the line color for edges.

   color=colorvaluelist   a  ':'  separated  list  of  colorvalue  creates
   parallel edges, one edge for each color.

   dir=forward back both none controls arrow direction.

   tailclip,headclip=false disables endpoint shape clipping.

   href="url" sets the url for the node in imagemap,  PostScript  and  SVG
   files.  The substrings '\T', '\H', '\E' and '\G' are substituted in the
   same  manner  as  for  the  edge  label  attribute.   Additionally  the
   substring '\L' is substituted with the edge label string.

   URL="url" ("URL" is a synonym for "href".)

   target="target"  is  a target string for clientside imagemaps and SVG,
   effective when edges have a URL.  If the target string  is  empty,  the
   default,  then  no  target  attribute  is  included in the output.  The
   substrings '\T', '\H', '\E' and '\G' are substituted in the same manner
   as  for  the  edge label attribute.  Additionally the substring '\L' is
   substituted with the edge label string.

   tooltip="tooltip"  is  a  tooltip  string  for  clientside   imagemaps
   effective when edges have a URL.  The tooltip string defaults to be the
   same as the edge label string.  The substrings  '\T',  '\H',  '\E'  and
   '\G'  are  substituted  in  the  same  manner  as  for  the  edge label
   attribute.  Additionally the substring '\L'  is  substituted  with  the
   edge label string.

   arrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot, tee,
   empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow.

   arrowsize                                 (norm_length=10,norm_width=5,
   inv_length=6,inv_width=7,dot_radius=2)

   headlabel,taillabel=string           for          port          labels.
   labelfontcolor,labelfontname,labelfontsize for head  and  tail  labels.
   The  substrings  '\T',  '\H', '\E' and '\G' are substituted in the same
   manner as for the edge label  attribute.   Additionally  the  substring
   '\L' is substituted with the edge label string.

   headhref="url"  sets  the url for the head port in imagemap, PostScript
   and  SVG  files.   The  substrings  '\T',  '\H',  '\E'  and  '\G'   are
   substituted  in  the  same  manner  as  for  the  edge label attribute.
   Additionally the substring '\L' is  substituted  with  the  edge  label
   string.

   headURL="url" ("headURL" is a synonym for "headhref".)

   headtarget="headtarget"  is  a  target string for clientside imagemaps
   and SVG, effective when edge heads have a URL.  The  headtarget  string
   is  used  to determine which window of the browser is used for the URL.
   If the  headtarget  string  is  empty,  the  default,  then  headtarget
   defaults  to  the  same  value  as target for the edge.  The substrings
   '\T', '\H', '\E' and '\G' are substituted in the same manner as for the
   edge  label  attribute.  Additionally the substring '\L' is substituted
   with the edge label string.

   headtooltip="tooltip" is a tooltip  string  for  clientside  imagemaps
   effective  when  head ports have a URL.  The tooltip string defaults to
   be the same as the headlabel string.  The substrings  '\T',  '\H',  and
   '\E'  are  substituted  in  the  same  manner  as  for  the  edge label
   attribute.  Additionally the substring '\L'  is  substituted  with  the
   edge label string.

   tailhref="url"  sets  the url for the tail port in imagemap, PostScript
   and  SVG  files.   The  substrings  '\T',  '\H',  '\E'  and  '\G'   are
   substituted  in  the  same  manner  as  for  the  edge label attribute.
   Additionally the substring '\L' is  substituted  with  the  edge  label
   string.

   tailURL="url" ("tailURL" is a synonym for "tailhref".)

   tailtarget="tailtarget"  is  a  target string for clientside imagemaps
   and SVG, effective when edge tails have a URL.  The  tailtarget  string
   is  used  to determine which window of the browser is used for the URL.
   If the  tailtarget  string  is  empty,  the  default,  then  tailtarget
   defaults  to  the  same  value  as target for the edge.  The substrings
   '\T', '\H', '\E' and '\G' are substituted in the same manner as for the
   edge  label  attribute.  Additionally the substring '\L' is substituted
   with the edge label string.

   tailtooltip="tooltip" is a tooltip  string  for  clientside  imagemaps
   effective  when  tail ports have a URL.  The tooltip string defaults to
   be the same as the taillabel string.  The substrings '\T',  '\H',  '\E'
   and  '\G'  are  substituted  in  the  same manner as for the edge label
   attribute.  Additionally the substring '\L'  is  substituted  with  the
   edge label string.

   labeldistance and port_label_distance set distance; also labelangle (in
   degrees CCW)

   decorate draws line from edge to label.

   samehead,sametail aim edges having the same value  to  the  same  port,
   using the average landing point.

   layer=id  or  id:id  or "all" sets the edge's active layers.  The empty
   string means no layers (invisible).

   (neatospecific attributes)
   w=f sets the weight (spring constant) of an edge to the given  floating
   point  value.   The  default  is 1.0; greater values make the edge tend
   more toward its optimal length.

   len=f sets the optimal length of an edge.  The default is 1.0.

COMMAND LINE OPTIONS

   -G sets a default graph attribute.
   -N sets a default node attribute.
   -E sets a default edge attribute.   Example:  -Gsize="7,8"  -Nshape=box
   -Efontsize=8

   -lfile  loads  custom  PostScript  library files.  Usually these define
   custom shapes or styles.  If  -l  is  given  by  itself,  the  standard
   library is omitted.

   -Tlang sets the output language as described above.

   -O  automatically generate output filenames based on the input filename
   and the -T format.

   -v (verbose) prints various information useful for debugging.

   -V (version) prints version information and exits.

   -? prints the usage and exits.

EXAMPLES

   digraph test123 {
           pack=8
           subgraph cluster0 {
             packmode=array
             x y x0 y0 x1
             subgraph cluster1 {
               m n
             }
           }
           b [shape=box];
           c [label="hello\nworld",color=blue,fontsize=24,
                fontname="Palatino-Italic",fontcolor=red,style=filled];
           a -> z
           x -> z
           a -> b -> c;
           a -> {x y};
           edge [style=dashed,color=red];
           b -> x;
   }

AUTHORS

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

SEE ALSO

   This man page contains only a small amount of the  information  related
   to  the  Graphviz layout programs. The most complete information can be
   found at http://www.graphviz.org/Documentation.php, especially  in  the
   online  reference pages. Most of these documents are also available in
   the doc and doc/info subtrees in the source and binary distributions.

   dot(1)

                              27 May 2009                         OSAGE(1)





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.