prefuse: A Toolkit for Interactive Information Visualization

advertisement
prefuse: A Toolkit for Interactive
Information Visualization
Jeffrey Heer
Stuart K. Card
James A. Landay
CHI2005
Outline
•
•
•
•
•
•
Motivation
Introduction
Design of Prefuse
Build Application with Prefuse
Evaluation
Summary
CHI2005
Motivation
• Infovis is indispensable
– Find hidden patterns in data
– Interaction with visualized info
• Still lack of infovis app
– Difficult to provide domain-specific config
– Difficult to build
• Complex layout
• Dynamic graphics
CHI2005
Motivation
• Previous work
– TreeMaps
– Cone Trees
– Hyperbolic Trees
– DOITrees
– SpaceTrees
– Perspective Walls
– StarField displays
CHI2005
TreeMap
CHI2005
Hyperbolic Trees
CHI2005
DOITree
CHI2005
SpaceTrees
CHI2005
Perspective Walls
CHI2005
StarField displays
CHI2005
Motivation
• Current work
– Explorer designs and techniques
• Similar project
• Infovis-specific toolkits (monolithic)
– Fekete's InfoVis toolkit
– Indiana's XML toolkit
• Lib of existing visualization
• Without set of reusable components
CHI2005
Motivation
• Need a toolkit
– Diversity customization support
– Handle complex layout and graphics
– Animation handling
– Introduce new functionalities
– Reusable
CHI2005
Outline
•
•
•
•
•
•
Motivation
Introduction
Design of Prefuse
Build Application with Prefuse
Evaluation
Summary
CHI2005
Introduction to prefuse
•
•
•
•
•
•
Written in Java
Extensible UI toolkit
Interactive display
Not ready-made infovis “widgets”
A set of building blocks
Basic data structure on graph
– Entities
– Relations
CHI2005
Outline
•
•
•
•
•
•
Motivation
Introduction
Design of Prefuse
Build Application with Prefuse
Evaluation
Summary
CHI2005
Design of Prefuse
• Information Visualization Reference Model
– Abstract data representation
– Map data into a visualizable form
– Process the form
– Map into interactive displays
CHI2005
Design of Prefuse
CHI2005
Design of Prefuse--Abstract Data
• Interface for data structure
• Basic element—Entity
– Named attributes
– Base class for structural type
» Node
» TreeNode
» Edge
»…
• Interface for data io
• Bounded visualization to fit in memory
CHI2005
Design of Prefuse--Filtering
• Filtering can make visualization-specific model
– Multiple visualizations of a data set
– Different views of a specific visualization
• Filtering process
– Select a set of abstract data elements
– Generate visual items
• Attributes of source data
• Visual properties
CHI2005
Design of Prefuse—Visual Items
• Three types of VisualItems
– NodeItems
– EdgeItems
– AggregateItems
CHI2005
Design of Prefuse—Visual Items
• ItemRegistry
– Data structure which stores visual items
– Houses states of visualization
– Request by filter action
– Contains FoucsManager
– Caching approach
– Recycle
CHI2005
Design of Prefuse—Actions
• Basic component of application design
– Update visual items in ItemRegistry
– Select visualized data, set visual properties
– Simple API
– Perform arbitrary tasks
CHI2005
Design of Prefuse—Actions
• Actions Types
– Filter
– Assignment
– Animator
CHI2005
Design of Prefuse—ActionLists
• ActionList is a list of actions
• Can be subroutine of other list
• Can run once or more
• Execution is managed by scheduler
CHI2005
Design of Prefuse—ActionLists
• Example
CHI2005
Design of Prefuse—Render
• Renders draw VisualItems
– Take use of item’s visual attributes
– Simple API
• RenderFactory manages mapping between
items and appearences
– Return a Render given a visualitem
– High flexbility
– Easy change to visual appearance
CHI2005
Design of Prefuse—Display
• Perform presentation of visualized data
• Display the contents of ItemRegistry
• Subclass JComponent
• Interaction support (ControlListener)
CHI2005
Design of Prefuse—Library
•
•
•
•
•
•
Layout and Distortion
Force Simulation
Interactive Controls
Color Maps
Integrated Search
Event Logging
CHI2005
Design of Prefuse—Sample Application
CHI2005
Design of Prefuse—Evaluation 1
• Build two novel visualizations
– Degree of Interest Tree
– Vizster
• Reuse and extensibility
• Accelerated implementation times
• Maintain real-time interaction and animation
over lots of data elements
CHI2005
Design of Prefuse—Evaluation 2
• Understand the learnability of prefuse for
other programmers
• 8 participants
• Build applications and take interview
CHI2005
Design of Prefuse—Evaluation 2
• 8 participants
– 4 CS students
• 2 undergrads
• 2 grads
– 3 professional programmers
– 1 UI designer
– 1 infovis expert
CHI2005
Design of Prefuse—Evaluation 2
• Give a tutorial
• Give a social network data file
• Three programming tasks (PC, Eclipse IDE,
prefuse source code)
– Static visualization
– Refine visualization
– Add interactivity and animation
• Open-ended interview
CHI2005
Design of Prefuse—Evaluation 2
• Positive reactions
CHI2005
Summary
• Prefuse brings quick development and flexible
and customized visualization
• Prefuse supports the design of 2D, what about
3D?
• Take use of it in Search Results Visualization
• Is it possible to map music into visualization using
prefuse?
CHI2005
The end
Thank you!
Any question?
CHI2005
Download