Prefuse

From Wikipedia, the free encyclopedia

Prefuse is a Java-based toolkit for building interactive information visualization applications.

Prefuse supports a rich set of features for data modeling, visualization, and interaction. It provides optimized data structures for tables, graphs, and trees, a host of layout and visual encoding techniques, and support for animation, dynamic queries, integrated search, and database connectivity. Prefuse is written in Java, using the Java 2D graphics library, and is easily integrated into Java Swing applications or web applets. Prefuse is licensed under the terms of a BSD license, and can be freely used for both commercial and non-commercial purposes.

[edit] Features

Prefuse is an extensible software framework for helping software developers create interactive information visualization applications using the Java programming language. It can be used to build standalone applications, visual components embedded in larger applications, and web applets. Prefuse intends to greatly simplify the processes of representing and efficiently handing data, mapping data to visual representations (e.g., through spatial position, size, shape, color, etc), and interacting with the data. Some of the features of prefuse include:

  • 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.
  • A library of interaction controls for common interactive, direct-manipulation operations.
  • Animation support through a general activity scheduling mechanism.
  • View transformations supporting panning and zooming, including both geometric and semantic zooming.
  • Dynamic queries for interactive filtering of data.
  • Integrated text search using a number of available search engines.
  • A physical force simulation engine for dynamic layout and animation.
  • Flexibility for multiple views, including "overview+detail" and "small multiples" displays.
  • A built in, SQL-like expression language for writing queries to prefuse data structures and creating derived data fields.
  • Support for issuing queries to SQL databases and mapping query results into prefuse data structures.

(and perhaps most importantly)

  • Simple, developer-friendly APIs for creating custom processing, interaction, and rendering components.

Prefuse has been used in school course projects, academic and industrial research, and commercial software development.

[edit] See also

[edit] External links


Visualization
Educational visualization | Interactive visualization | Knowledge visualization | Product visualization | Scientific visualization
Related fields
Computer graphics | Computer science | Graphic design | Graphic image development | Human-computer interaction | Informatics | Visual communication
See also
Data mining | Gestalt psychology | Graph theory | Graphic organizer | Illustration | Imaging | Information graphic | Information graphic designers | List of graphical methods | List of graphing software | Representation (arts) | Representation (psychology) | Rendering (computer graphics)