Upload
phillip-miles
View
213
Download
0
Embed Size (px)
Citation preview
The InfoVis Toolkit
Jean-Daniel FeketeINRIA Futurs/LRI, France
[email protected]://www.lri.fr/~fekete/InfovisToolkit
Goals
• Simplify the integration of Information Visualization techniques in Java/Swing applications
• Simplify the creation and experimentation of new visualization techniques
• Simplify the creation and experimentation of new interaction techniques
• Provide a support for teaching InfoVis• Provide a base for InfoVis student projects• Scales well in term of space and speed
Internal Structure• Data structures are composed of
Columns• Columns contain homogeneous data
– Contain metadata– Support notification– Support formatting for input and output– Support missing values– Efficient in speed and memory usage
• Data structures are based on tables– Attributes and topology explicitly
represented as columns– Trees
• Columns containing the parent, 1st child, next child, last child
– Graphs (two tables for vertices and edges)
• In vertex table: Outgoing edge list, ingoing edge list
• In edge table: next edge on outgoing list, next edge in ingoing, in and out vertices
WritersReaders
Table
Visualization
Col
umns
Met
adat
a
Vis
ual A
ttri
bute
s
Layout
Sha
pe C
olum
n
Rendering
Labeling
Picking
Fisheyes
Image
Components
Dyamic Queries Controls
Results
• Article at InfoVis 04 about the Toolkit and a user evaluation
• Technical report about performance issues
• Several projects– Monitoring of constraint-based systems– Software testing– Visualization of familiar data (new Desktop)
Problems
• Separation of concerns• Data structure for graphs is complex when scalability
and extensibility are required– Tulip has a good model
• When a good framework exists, implementing parts is long, tedious and hard– Visualizations (layouts)– Rendering (labels, arrow ends, arcs shapes)– Components for “magic-lenses” (Fisheyes, excentric labels)– Components for Dynamic Queries (sliders et al.)– Components to configure and control visualizations– Readers and writers
• Documentation …
Is there several ways to do it?
• Looking at implementations, 2 ways– The good old object oriented way– The column-oriented way
• The goals are the same for most projects– Same scales– Same platforms– Same languages (almost)
• Should I continue by myself?