Suvi
Suvi is a library and framework for graph visualization. Features:
-
Calculates layouts for arbitrary directed graphs.
Graphs may contain cycles, multiple edges between two
nodes, etc...
-
The layout
information consists of positions for
nodes and routes for edges. The
layout information can be used for rendering the graph to any
graphics device or format.
-
Graphs are described through an abstract Graph-interface,
which is defined in the JavaUtils-library.
You should have no need to change your data
structures in order to use Suvi. See the Dependencies-page for information on
other libraries and tools used in Suvi.
-
Suvi implements an extensible framework designed for the
visualization of graphs that have a natural direction of
flow, so that it makes sense to compute ranks, or
rows, into which nodes are placed. Probably
most, but not all, graphs arising in practise
fall into this category.
-
The user constructs a desired layout algorithm from
simple building blocks. Different kinds of graphs
benefit from different kinds of layout algorithms. The
current framework already allows over 2000 different
combinations. Suvi is designed to grow to the
requirements of the user.
See the JavaDoc overview for a concrete programming
example using Suvi.
Examples
The example layouts have been rendered using the testing application. You may be
familiar with some of the below graphs.
Architecture
The below diagram illustrates the architecture of the graph layout
algorithm framework for ranked graphs.
Copyright
Suvi is copyright University of Helsinki -
Department of Computer Science.
License
Suvi is licensed under the LGPL.
Credits
- Matti Jokipii
- Vesa Karvonen
- Janne Peltonen
- Nina Sharma
Last modified: Tue Dec 16 06:33:59 EET 2003