By LaBRI INRIA Information Visualization Team
Tulip 2011 version 3.5.0 Tulip is an information visualization framework dedicated to the analysis and visualization of data. Tulip aims to provide the developer with a complete library, supporting the design of interactive information visualization applications for relational and multidimensional data that can be tailored to the problems he or she is addressing. Meta Model, Measure, Clustering Views and Interaction Middleware framework
Tulip 2011 Team Members (15 / 4 / ~2) = 21 2 Professors 4 Assistant professors 1 Permanent engineer 9 PhD Students 4 Engineers on contract 9 Doctorants
System P. Mary, M. Mathiaut, J. Dubois, L. Fiolka, D. Auber, D. Archambault, R. Bourqui, P.Y Koenig User Interaction : A. Lambert, R. Bourqui, D. Archambault, D. Auber, P.Y Koenig 1 Meta Data Data Base Clustering Visual Metaphor Rendering S. Maabout F. Gilbert G. Melançon M. Delest F. Zaïdi R. Bourqui D. Archambault D. Auber B. Pinaud P. Simonetto G. Melançon P.Y Koenig D. Auber R. Bourqui T. Phan-Quang D. Archambault A. Lambert D. Auber
Tulip 2011 History & Numbers Date Version Metaphor 2001 1.0.0 Young and crazy 2004 2.0.0 Meta or not meta 2007 3.0.0 Ready for extension... 2007 3.1.x OS free!!! 2008 3.2.x Node Link, it is not enough 2009 3.3.x More interaction please 2010 3.4.x Let me Viz it my way 2011 3.5.x Use my hardware please 2012 4.0.x? Push out the limits, for massive dynamical Graphs 2013 5.0.x? Lost in the cloud Sep. Nov. Dec. Avg. Starts 4139 5717 5199 5020 Web 15K 16K 13K 14.7K Forum post Bug report 20 11 29 20 13 50 41 35 Fixes 6 27 20 18 Type 2010 French gouv R&D 600K ANR R&D 150K EU R&D 100K Industrial D 100K
Meta-model Provide an efficient data structure for management Weighted Graphs, Weighted Maps and Hierarchical Weighted Graphs. To support exploration of huge datasets Tulip also managed multi level aggregation. The entire data structure is fine tuned to enable tracking of all modifications. Efficient management of data structure state to enable to reverse/redo all modification operations.
Measures To enable graph analysis, Tulip provides a set of plug-ins for computing measure on elements. Well-known social network analysis measure are available as well as specific measure for trees, dag and component identification. Through the Tulip Measure plug-in technology one can easily add new measure. Strahler Strength K-Core Measure Clustering index Page Rank Tulip enable to store an unbounded number of computed or user define measure. Eccentricity Betweeness Centrality
Example Co-citation networks measures
Layout Graph Drawing Tulip provides one of the largest set of Graph Drawing Algorithm. Including, hierarchical drawing, force directed layout, planar drawing, edge bundling and soon Euler diagram representation. Organic : GEM, FM3, GRIP Hierarchical Walker, Radial, Bubble Treemaps Planar: Mixed Model, FPP Overlaps Packing Planar Layout Edge Bundling Hierachical Force Directed Through the Tulip Layout plug-in technology one can easily add new Layout.
Example 100K nodes force directed layout : Internet Back bones
Example Squarified Treemaps : File System
Example Planar Drawing : Metabolic network
Example Migration Map, GPU splatting, fish eyes, bezier curve, brings and go
Clustering Through its hierarchical graph data structure Tulip enables any attribute based clustering. Furthermore it also provides graph based clustering algorithm. Marcorids Q-Measure : Agglomerative, divisive MQ-Measure Strength, Agglomerative Newman Clustering MCL Strahler: Convolution based clustering Strahler Componnent Through the Tulip Clustering plug-in technology one can easily add new Clustering method. Metric
Example Internet movie database network clustering
Node Link Diagram The node-link diagram view renders glyphs for nodes and curves for edges. The view provides navigation such as zoom and pan, bring and go, fish eyes views, and a magnifying glass. Direct editing of the graph elements and data, such as adding or removing nodes and edges or translating rotating or scaling elements, are also supported. Other operations on this view include graph splatting, meta-node/graph hierarchy exploration, path-finder and texture-based animation.
Matrix The Matrix view implements a matrix view of the graph. This view has been built to support graphs with a large number of nodes and edges. Zooming and selection interactors are available for this view
Histogram The Histogram view provides a view of element frequency. A matrix of histograms allows for the visual comparison of several statistical properties of a set of dimensions. This view has a standard set of navigation and statistical interactors. Additionally, an interactor enables the user to build non-linear mapping functions to any of the graph attributes such as size, colors, glyphs, etc..
Scatter Plot The Scatter plot 2D view renders attribute values to depict possible correlations between properties and the matrix allows efficient navigation between dimensions. The view provides similar interaction to the node link view and implements an interactor to search for correlation in an interactively defined subsets of elements. Splatting is also available in this view.
Parallel Coordinates The Parallel Coordinates view depicts multivariate data, using the traditional parallel coordinates representation as well as a circular representation. In both views, lines can be rendered with smooth Bézier curves. Interaction with the view is supported through zoom and pan, axis edition/permutation/shifting, and multi-criteria/statistical selection.
Self Organizing Maps The Self Organizing View implements Kohonen selforganizing maps. Several kinds topology/connectivity for the generated maps are supported, Grid, torus, 4connectivity, 8 connectivity. Zooming and selection interactors are available for this view.
Pixel Oriented View The Pixel Oriented view uses space filling curves to display large number of entities and relations on a screen. This view supports Hilbert curves, Z-order curves, and spiral curves. The Pixel Oriented view supports zoom and pan/selection interaction as well as focus+context techniques.
Google Map View The Google Map view implements a mash-up of the Google map API. With this API, geospatial positions for the layout of graph elements can be specified. When working with data in geography, graphs can be displayed on top of the map. This view supports standard zoom and pan as well as the selection of elements.
Example Visual analysis of poker players
Tulip Middle Ware On top of its unified data structure, Tulip provides an application that enables to integrate all the Tulip plug-ins: Clustering, layout, measure Glyph Views Interactors The MiddleWare manages the consistency as well as automatic updates/addition/removal of plugins through the Tulip plug-ins web service. Export Glyph Import Measure Tulip Middleware Clusteri ng Layout Interact ors Views
Middleware perspective The Tulip middle ware includes a specific kind of plug-in called perspective. A perspective enable to indicate which views/interactors/algorithm should be available and how they interact together. It also enables to add specific widget. Perspective are used to implement working layer. By changing its perspective the user can change the user interface according to its task. CSV Import Expor t Glyph Impor t Meas ure Tulip Middleware Close ness Cluste ring GEM Layou t Intera ctors Layout Views Zoom Interactor
Example Full Tulip, enables to use all the component s in a unified HCI. Powerful but hard (more than 200 plug-ins)
Example Trypanosome network analysis
Example Tulip lite, easy to use (one view, no subgraph, simple meta)
QUESTIONS? David Auber david.auber@labri.fr www.tulip-software.org