Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

An overview of tools for graph visualisation

No description
by

Grzegorz Zieliński

on 5 January 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of An overview of tools for graph visualisation

An overview
of graph visualization tools What are the desired qualities for
a graph visualization tool? This depends largely on what purpose the tool is supposed to serve. There are however
certain qualities which are very often appreciated such as:

a rich variety of layouts to chose from
optimized data structures for storing graphs
intuitive and easy to use funtionality
extensive and well-written documentation
support for dynamic graphs
implemented graph algorithms eg. dijkstra shortest path, clustering
animation Presentation plan Introduction
A closer look at the chosen tools by Grzegorz Zieliński Wilmascope
Graphviz
GUESS
JUNG
Prefuse

Summary Introduction Why the interest in graph visualization? Many things in today's world can be modeled as graphs.
Some examples are:

social networks
computer networks
business processes
biochemical reactions
data base schemas
software systems
world wide web

All of the above are easier to people when presented to
them in graphical form. Where it all started 1963 - a paper by Bill Tutte entitled: "How to draw a graph"
Suggested algorithm: place each vertex into the cente of its neighbours
Intuitively it seems that this would look nice but... How do we define a "nice" layout
for a graph? this is not an easy task, however...
there are some criteria, supported by perceptual psychology studies
example: the vertices displaying the objects and the lines displaying the edges should not overlap The tools Wilmascope Graphviz GUESS JUNG Prefuse What are the desired qualities for
a graph visualization tool? What is JUNG? a Java library for modeling, analysys and visualization of data that can be represented as graphs
graphs are composed of edges and vertexes that can be of any Java class
also displays multi-modal graphs, graphs with parallel edges, and hypergraphs Features implements a number of algorithms from graph theory, data mining, and social network analysis
visualization framework with already implemented layout algorithms and possibility to add user-created ones
filtering mechanisms to focus on certain parts of a graph
possibilty to animate graphs for example to make fluent transitions from one layout to another
Pros and cons Pros
very elegant graphics and animation
lots of layouts, customizable labels, edges etc.
more than just visualization
possibilty to model any kind of objects as vertexes/edges

Cons
documentation is far too limited considering the possibilities of the library, Javadoc and a short tutororial is just not enough JUNG in action What is Wilmascope? a Java3D application which creates real time 3d animations of dynamic graph structures.
licenced under GPL
uses a simple Corba API
best used to visualize data from other programs, however edition of graphs is also possible Features basic graph components (nodes, edges)
text labels
translucent clusters of nodes with possibly to collapse/expand them
global and cluster-oriented force directed node layout
force models
3D UML class diagrams representaions
Pros and cons Pros
very impressive 3D graphics
different force models
support for clusters and cluster-oriented layouts

Cons
no library, just an application with an API
no graph algorithms
poor documentation
very ugly home page for such a visually advanced application :) What is Prefuse? Pros and cons a set of software tools for creating rich interactive data visualizations
a broader approach to data visualization, not just graphs
a java framework + seperate tools for ActionScript and Flash Features Pros
massive functionality
great graphics and animation
well documented
not just graphs
queries and text search, integration with a database possible

Cons
lack of built in graph theory algorithms Table, Graph, and Tree data structures supporting arbitrary data attributes, data indexing, and selection queries, all with an efficient memory footprint.
components for layout, color, size, and shape encodings, distortion techniques, animation, and more.
interaction controls for common interactive, direct-manipulation operations
animation support through a general activity scheduling mechanism.
dynamic queries, integrated text search
SQL-like expression language for writing queries to prefuse data structures, support for SQL queries to DBs
Prefuse in action Summary Wilmascope in action Pros and cons What is GUESS? an exploratory data analysis and visualization tool for graphs and networks
contains a domain-specific embedded language called Gython
an interactive interpreter to control the visualized content
Features Gython (a Python extension with syntactic sugar for graphs)
many complex operations can be performed with just a few lines of code through the interpreter
export of static images and dynamic movies
users can add widgets to the display
a system for matching the interpreter output with specific nodes/groups on the display Pros and cons Pros
very good for exploring graphs, thanks to Gython querying
easy to check mapping from data to visual elements
possibilty to add useful applets
good documentation

Cons
no library, limited by the current possibilties of the application
graphics less appealing than in other tools presented GUESS in action What is Graphviz? opensource graph visualization software package, includes various tools
Eclipse public licence
widely used in areas such as software engineering, , networking, databases, bioninformatics, used in Taverna to represent workflows
graph definition through a language called DOT
used via a C library interface, streambased command line tools, graphical user interfaces and web browsers Features many types of layouts to choose from
various output formats including Postscript, PDF, SVG, GXL (an XML dialect)
additional features such as options for colors, fonts, tabular node layouts, line styles, hyperlinks, custom shapes. Pros
high quality 2D graphics
large variety of layouts and very customizable
various output formats, many ways to access the tools
large comunity
a website with forum, bug support, good documentation

Cons
no java library, there is only a buggy and discontinued side-project Graphviz in action On a sidenote... Do we really need to do everything with one tool? Why not just use one specialized tool for visualization and use other tools eg. to perform graph theory algorithms, data storage? Neo4j a graph database, a fully transactional database that stores data structured as graphs
an intuitive graph-oriented model for data representation
a disk-based, native storage manager completely optimized for storing graph structures for maximum performance and scalability
a powerful traversal framework for high-speed traversals in the node space
a simple and convenient object-oriented API
includes library with implemented algorithms, that can be performed using the stored data

JGraphT Java graph library that provides mathematical graph-theory objects and algorithms
implements algorithms such as: Bellman Ford shortest path, biconnectivity inspection, chromatic number, cycle detector, Floyd-Warshall shortest paths, Kruska minimum spanning tree etc.
Full transcript