Beyond Linux® From Scratch - Version 7.4

Chapter 11. General Utilities

Graphviz-2.34.0

Introduction to Graphviz

The Graphviz package contains
graph visualization software. Graph visualization is a way of
representing structural information as diagrams of abstract graphs
and networks. Graphviz has several
main graph layout programs. It also has web and interactive
graphical interfaces, auxiliary tools, libraries, and language
bindings.

This package is known to build and work properly using an LFS-7.4
platform.

Installation of Graphviz

This package does not come with a test suite that provides
meaningful results.

Now, as the root user:

make install

If desired, create a symbolic link in the system documents
directory to the documentation installed in /usr/share/graphviz/doc using the following
command as the root user:

ln -v -s /usr/share/graphviz/doc \
/usr/share/doc/graphviz-2.34.0

Command Explanations

--disable-static: This
switch prevents installation of static versions of the libraries.

Configuring Graphviz

Config Files

/usr/lib/graphviz/config

Configuration Information

There are no specific configuration requirements for Graphviz. You may consider installing the
additional plugins and tools available from the download page at
http://www.graphviz.org/Download_source.php
for additional capabilities. If additional plugins are installed,
you can run dot -c
(as the root user) to update the
config file in /usr/lib/graphviz.

Short Descriptions

is a filter that takes a directed graph as input and
outputs a copy of the graph with sufficient edges
reversed to make the graph acyclic.

bcomps

decomposes graphs into their biconnected components,
printing the components to standard output.

ccomps

decomposes graphs into their connected components,
printing the components to standard output.

circo

draws graphs using a circular layout.

cluster

takes as input a graph in DOT format, finds node clusters
and augments the graph with this information.

diffimg

generates an image where each pixel is the difference
between the corresponding pixel in each of the two source
images.

dijkstra

reads a stream of graphs and for each computes the
distance of every node from sourcenode.

dot

draws directed graphs. It works well on DAGs and other
graphs that can be drawn as hierarchies. It reads
attributed graph files and writes drawings. By default,
the output format dot is the input file with layout
coordinates appended.

dot2gxl

converts between graphs represented in GXL and in the DOT
language. Unless a conversion type is specified using a
flag, gxl2dot will deduce the
type of conversion from the suffix of the input file, a
.dot suffix causing a
conversion from DOT to GXL, and a .gxl suffix causing a conversion from
GXL to DOT.

dotty

is a graph editor for the X Window System. It may be run
as a standalone editor, or as a front end for
applications that use graphs. It can control multiple
windows viewing different graphs.

fdp

draws undirected graphs using a “spring” model. It relies on a
force-directed approach in the spirit of Fruchterman and
Reingold.

gc

is a graph analogue to wc in that it prints to
standard output the number of nodes, edges, connected
components or clusters contained in the input files. It
also prints a total count for all graphs if more than one
graph is given.

gml2gv

converts a graph specified in the GML format to a graph
in the GV (formerly DOT) format.

gxl2gv

converts between graphs represented in GXL and in the GV
language.

gvcolor

is a filter that sets node colors from initial seed
values. Colors flow along edges from tail to head, and
are averaged (as HSB vectors) at nodes.

gvedit

provides a simple graph editor and viewer. It allows many
graphs to be viewed at the same time. The text of each
graph is displayed in its own text window.

gvgen

generates a variety of simple, regularly-structured
abstract graphs.

gvmap

takes as input a graph in DOT format, finds node clusters
and produces a rendering of the graph as a
geographic-style map, with clusters highlighted, in xdot
format.

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.

gvpr

is a graph stream editor inspired by awk. It copies input
graphs to its output, possibly transforming their
structure and attributes, creating new graphs, or
printing arbitrary information.

gxl2dot

converts between graphs represented in GXL and in the DOT
language. Unless a conversion type is specified using a
flag, gxl2dot will deduce the
type of conversion from the suffix of the input file, a
.dot suffix causing a
conversion from DOT to GXL, and a .gxl suffix causing a conversion from
GXL to DOT.

lefty

is a two-view graphics editor for technical pictures.

lneato

is a graph editor for the X Window System. It may be run
as a standalone editor, or as a front end for
applications that use graphs. It can control multiple
windows viewing different graphs.

mm2gv

converts a sparse matrix of the Matrix Market format to a
graph in the GV (formerly DOT) format.

neato

draws undirected graphs using “spring” models. Input files must be
formatted in the dot attributed graph
language. By default, the output of neato is the input
graph with layout coordinates appended.

nop

reads a stream of graphs and prints each in
pretty-printed (canonical) format on stdout. If no files
are given, it reads from stdin.

osage

draws clustered graphs. As input, it takes any graph in
the DOT format.

patchwork

draws clustered graphs using a squarified treemap layout.
As input, it takes any graph in the DOT format.

prune

reads directed graphs in the same format used by
dot and
removes subgraphs rooted at nodes specified on the
command line via options.

sccmap

decomposes digraphs into strongly connected components
and an auxiliary map of the relationship between
components. In this map, each component is collapsed into
a node. The resulting graphs are printed to stdout.

sfdp

draws undirected graphs using the “spring” model, but it uses a
multi-scale approach to produce layouts of large graphs
in a reasonably short time.

tred

computes the transitive reduction of directed graphs, and
prints the resulting graphs to standard output. This
removes edges implied by transitivity. Nodes and
subgraphs are not otherwise affected.

twopi

draws graphs using a radial layout. 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.

unflatten

is a preprocessor to dot that is used to
improve the aspect ratio of graphs having many leaves or
disconnected nodes. The usual layout for such a graph is
generally very wide or tall.

vimdot

is a simple script which launches the gvim or vim editor along with a
GUI window showing the dot output of the
edited file.