Go to Google Home
A data-code-compute resource for research and education in information visualization
InfoVis Home Learning Modules Software Databases Compute Resources References


bullet IVC Software Framework
bullet Preprocessing
bullet Data Mining
bullet Layout Algorithms

This page provides pointers to commonly used data analysis and visualization algorithms. An 'IVC Software Framework' was implemented to facilitate the easy integration of diverse software packages and their menu driven usage. Many software packages are available in Java and hence can be run on any platform that supports Java 1.4.

Most software packages come with

bullet Algorithm Description
bullet Pros & Cons
bullet Sample Applications
bullet Implementation Details
bullet Usage Hints
bullet References
bullet Acknowledgments

IVC Software Framework

The Information Visualization CyberInfrastructure (IVC) software framework extends the original Information Visualization Repository (Börner & Zhou, 2001). It is a set of libraries that provide a simple and uniform programming-interface to algorithms and user-interface to end-users by leveraging the power of the Eclipse Rich Client Platform (RCP).

While the algorithms might be developed by different researchers and implemented in different programming languages (e.g., Java, Perl, C, C++) using different graphics, math or other packages the IVC framework facilitates the seamless integration of those algorithms into a unified software package. The IVC framework is unique in that it places no restrictions on the type of data structures, algorithms or persistent data formats. By separating out functions such as data load and store, graphical user interface, transaction logging and inter-convertibility between data formats, the IVC lets a programmer concentrate on developing the core code and frees her from issues such as loading the data into the a particular data structure or keeping track of changing results over time.

Main features of the IVC framework are easy integration of new, highly diverse algorithms as plugins and a menu driven software interface facilitating the wide spread usage by non programmers. Given that the IVC is completely open-source, it allows peer-review at the algorithm level using the actual code rather than just relying on pseudo code made available in research publications.

The software was developed using J2SDK1.4, the Eclipse IDE, CVS for versioning and Ant as the build tool. J2EE will be used to provide database and network connectivity.

Read more about the IVC software framework, check out the Javadoc, or download the IVC framework source code and/or executable .jar files via Sourceforge (usage statistics).

The software runs on Linux (or any Unix), and .

We hope that the Information Visualization community will adopt the IVC framework to create a central code repository for IV research and education.The repository would not only facilitate sharing, evaluation, and comparison of algorithms and software but also reduce the time and effort spent on repeatedly re-implementing algorithms.

Assuming that competition and privacy issues can be resolved, we believe that a central code repository will not only improve IV education and research, but also boost creativity in IV by easing access to existing work, consultation with others working on related topics, implementation of new (commercial) applications (which in turn challenge the development and improvement of the algorithms), exploration of new ideas, and, last but not least, the dissemination of results to science (Shneiderman, 2000).

Contribute to the IVC Software Framework

If you wish to add new plugins to the IVC software framework or to make modifications to the IVC Core, please use the code development tools provided at the IVC Sourceforge project page.


bullet Parsers & Converters
bullet Stop Word Removal
bullet Porter Stemming Algorithm
bullet NICE stemmer
bullet Term Document Matrix Generator

Data Modeling

Structured Peer-to-Peer Models
CAN Model & Search & Chord Model and Search code in the IVC.

Unstructured Peer-to-Peer Models
PRU Model and Hypergrid Model code in the IVC.

Data Analysis

Network Search
p-rand Breadth-First Search & k Random-Walk Search code in the IVC.


Vector Space Model
Developed by Gerhard Salton
Soon to be in the IVC.


Latent Semantic Analysis
Developed by Tom K. Landauer and Susan Dumais
Code in IVC.
Original code by Michael Berry
Topics Model
Developed by Tom Griffith & Mark Steyvers
Soon to be available via the IVC.

Burst Detection
Developed by Jon Kleinberg
Code in IVC.

Pathfinder Network Scaling
Developed by Roger Schvaneveldt
KNOT Tools for Pathfinder Network Analysis are available via Interlink Inc.
Code in IVC.

Multidimensional Scaling
Developed by Roger N. Shepard
Fast non-linear MDS algorithm by Matthew Chalmers and Alistair Morrison
Code in IVC.

Self Organizing Maps
Developed by Teuvo Kohonen
Original code from the WEBSOM research group

Clustering: Ward's Algorithm
Developed by Ward
Code in IVC.

Clustering: Betweenness Centrality
Developed by Ulrik Brandes
Code in IVC.

Graph Matching Algorithms
Simple Match, Similarity Flooding and ABSURDIST

Layout Algorithms

Parallel Coordinates
Developed by A. Inselberg
Code in NWB.
Developed by Yuezheng Zhou
Code in IVC.
Spring Embedding Algorithm
Originally developed by Eades
Code in IVC.
Radial Tree
Implemented by Jason Baumgartner and Nihar Sheth
Code in IVC.
Hyperbolic Tree
Code in IVC.
Development led by Catherine Plaisant and Ben Shneiderman
Code in IVC.
Treemap code available via HCIL@UMD
Designed and developed by Anne Rose, David Feldman, and Ben Shneiderman, with software improvements by Harry Hochheiser
Code in IVC.

Interaction Algorithms

Fisheye Table
Developed by Ben Bederson
Code in IVC.
Original code available via HCIL@UMD
Code available from UC Berkeley's User Interface Research Group's prefuse (http://prefuse.sourceforge.net/)
Zooming Pan
Code available from UC Berkeley's User Interface Research Group's prefuse (http://prefuse.sourceforge.net/)

Software Packages
Developed by Colin Ware's Data Visualization Research Lab
It is a Zooming User Interface - hence 'Zui'. It is georeferenced - hence GeoZui. It emphasizes interactive 3D solutions - hence GeoZui3D
Original code is available at free of charge for non-commercial users.
Worldmapper & User Trail & Chat Log Visualizations
Developed by Shashikant Penumarthy and Katy Börner at the InfoVis Lab at IU.
It is available for use. See also the AW Chat Visualization Toolkit.
Hierarchical Clustering Explorer
Developed by Jinwook Seo and Ben Shneiderman
Original code available via HCIL@UMD
Time Searcher
Developed by Harry Hochheiser and Ben B. Shneiderman
Original code available via HCIL@UMD
Science & Technology Dynamics
Developed by Loet Leydesdorff, Amsterdam School of Communications Research (ASCoR)
CiteSpace: Visualizing Patterns and Trends in Scientific Literature
Developed by Chaomei Chen, Drexel University
Developed by Howard White, Xia Lin, Jan Buzydlowski
SONIA: Social Network Image Animator
SoNIA is currently under development by Dan McFarland and Skye Bender-deMoll.
STARS: Space-Time Analysis of Regional Systems
Developed by Serge Rey, Robyn Clark, Boris Dev, Maribel Elias, David Folch, Myrna L. Sastré Gutiérrez, Mark V. Janikas, Xuening Li, Aarthi Ram, Charles Schmidt, Philip Stephens, Xinyue Ye - REGAL group

Data Visualization Components
The Community Technologies group at Microsoft Research lead by Marc Smith has developed a set of data visualization components for displaying data in .NET applications. The components comprise treemap, a bubble chart, a piano roll, spire chart, a thread tree, and a time series chart display.

Open Source Toolkits

INRIA's InfoVis Toolkit
by Jean-Daniel Fekete
Interactive Graphics Toolkit written in Java to ease the development of Information Visualization applications and components.
Reference: Jean-Daniel Fekete, The InfoVis Toolkit, Research Report RR-4818, INRIA Futurs, May 2003.

University of Maryland's Piccolo Toolkit
by Jesse Grosjean and Ben Bederson at the HCIL@UMD
Piccolo is an toolkit for the creation of robust graphical applications with features such as zooming and multiple representation. It is based on the Java2D and available as OSI Certified Open Source Software.

AT&T's GraphViz
by Stephen North, Emden Gansner, John Ellson et al.
Set of graph drawing tools for Unix or MS-Windows (win32), including a web service interface (webdot). Source code and binary executables for common platforms are available.
UC Irvine's Java Universal Network/Graph Framework (JUNG) (http://jung.sourceforge.net/)
by Scott White, Joshua O'Madadhain, Danyel Fisher and Yan-Biao Boey
Java-based open-source software library designed to support the modeling, analysis, and visualization of data that can be represented as graphs. It comprises a wealth of algorithms developed in the fields of social network analysis, information visualization, knowledge discovery and data mining.
UC Berkeley's User Interface Research Group's prefuse (http://prefuse.sourceforge.net/)
by Jeffrey Heer and Alan Newberger. Advised by Stuart K. Card and James A. Landay.
Interface toolkit for building highly interactive visualizations of structured and unstructured data.
Reference: prefuse: a toolkit for interactive information visualization. Jeffrey Heer, Stuart K. Card and James A. Landay. Submitted paper draft, April 2004.
NetVis Module - Dynamic Visualization of Social Networks
by Jonathon N. Cummings
The NetVis Module is a free open source web-based tool to analyze and visualize social networks using data from csv files, online surveys, and dispersed teams.
Social Network Visualizer
by Dimitris B. Kalamaras
With SocNetV one can read, display and edit a network, determine rudimentary network statistics, calculate network and actor properties, and save out node positions.
Source archives are available.

Other Resources

bullet R. A language and environment for statistical computing and graphics http://www.r-project.org/.
bullet PAJEK. A program for analyzing large networks, and arguably the best drawing program on the market. It is free and available at: http://vlado.fmf.uni-lj.si/pub/networks/pajek/.
bullet UCINET 6. Social Network Analysis Program http://www.analytictech.com/downloaduc6.htm.
bullet CiteSpace. A program by Chaomei Chen that visualizes patterns and trends in scientific literature.
bullet HistCite. A program by Eugene Garfield et al. that visualizes citation graphs. See HistCite guide and index of HistCite Analyses.

Information Visualization Cyberinfrastructure @ SLIS, Indiana University
Last Modified August 10, 2005