Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Quick Overview of Some Visualization Techniques and Suggestions for Projects Prof. Michael McGuffin ETS, Montreal, Canada

Similar presentations


Presentation on theme: "A Quick Overview of Some Visualization Techniques and Suggestions for Projects Prof. Michael McGuffin ETS, Montreal, Canada"— Presentation transcript:

1 A Quick Overview of Some Visualization Techniques and Suggestions for Projects Prof. Michael McGuffin ETS, Montreal, Canada

2 There are two main kinds of data we can visualize: multidimensional data (which includes tables, mathematical relations, and functions), and network data (which includes trees).

3 Multidimensional Data: Scatterplot Matrices

4 Multidimensional Data Consider students’ marks in … Physics: 90% Math: 95% French Literature: 65% History: 70% Each student can be thought of as a tuple (90%, 95%, 65%, 70%) Etc.

5 Scatterplot Matrix (SPLOM) Physics Math French Literature History (90%, 95%, 65%, 70%) French Literature Math

6 Scatterplot Matrix (SPLOM) Physics Math French Literature History (90%, 95%, 65%, 70%) (30%, 20%, 90%, 90%) French Literature Math

7 Scatterplot Matrix (SPLOM) Niklas Elmqvist, Pierre Dragicevic, Jean-Daniel Fekete (2008). “Rolling the Dice: Multidimensional Visual Exploration using Scatterplot Matrix Navigation”. Proceedings of InfoVis Within each scatterplot, we could be interested in seeing outliers, correlations, etc. Notice: the upper triangular half is the same as the lower triangular half, and the diagonal is not very interesting.

8 Scatterplot Matrix (SPLOM) Wilkinson, Anand, Grossman, “Graph-Theoretic Scagnostics”, 2005 Notice: the diagonal is used to show the names of dimensions.

9 Example from Matlab: “carbig.mat” SPLOM with histograms along the diagonal. Colors indicate the number of cylinders in the engine of each automobile.

10 Matrix of correlation coefficients When we have many dimensions, we can summarize each scatterplot by computing its correlation coefficient and displaying only that, instead of displaying all the individual data points. The below interface also allows the user to select one scatterplot and see a zoomed-in view for details. Jinwook Seo and Ben Shneiderman, “A Rank-by-Feature Framework for …”, Proceedings of InfoVis 2004.

11 Corrgrams (Michael Friendly, 2002)

12 Multidimensional Data: Parallel Coordinates (Alfred Inselberg and others)

13 Multidimensional Data Consider students’ marks in … Physics: 90% Math: 95% French Literature: 65% History: 70% Each student can be thought of as a tuple (90%, 95%, 65%, 70%) Etc.

14 Parallel Coordinates 100% 0% PhysicsMath French Literature History (90%, 95%, 65%, 70%)

15 Parallel Coordinates 100% 0% PhysicsMath French Literature History (90%, 95%, 65%, 70%) (30%, 20%, 90%, 90%)

16 Parallel Coordinates Johansson et al. 2005

17 Parallel Coordinates Ellis, Bertini, Dix, “The Sampling Lens …”, 2005 Ellis, Dix, “Enabling Automatic Clutter Reduction …”, 2006

18 Multidimensional Data: Scatterplot and Parallel Coordinate Combinations

19 Example from Matlab: “carbig.mat”

20 [Lopez, McGuffin, & Barford; not yet published]

21 Combinations of Parallel Coordinates and Scatterplots Steed et al. 2009Holten and van Wijk 2010 Yuan et al. 2009

22 Multidimensional Data: Glyphs

23 The fonction y = x^0.5: x y The relation in a table of a relational database: Client_name Product_purchased Price Date Robert G. Trombone mars 7. Robert G. Partitions vol mars 7. Lucie M. Flute nov 11. Cynthia S. Partitions vol juin 16 Jules T. Piano jan 10 Jules T. Partitions vol jan A video (for example, an.avi file): x y time red green blue Examples of relations. A relation is a subset of a cartesian product of two or more sets. Each relation can be thought of as a multidimensional data set. In the examples here, each row is a tuple, each column is a dimension.

24 Chernoff faces (1973) (an example of a "glyph") Advantage: better than text to get a global impression of the data and to find interesting elements. Disadvantage: the mapping from variables to faces has an effect on the saliency of each variable. Disadvantage(?): redundancy of a symmetrical face.

25 Other examples of glyphs M. Ward (2002), “A Taxonomy of Glyph Placement Strategies for Multidimensional Data Visualization”, Information Visualization.

26 Interactive Presentation from the U.N. (United Nations Development Programme, Human Development Report) See also Hans Rosling’s presentation on Notice: the points are glyphs!

27 Multidimensional Data: Other techniques …

28 The fonction y = x^0.5: x y The relation in a table of a relational database: Client_name Product_purchased Price Date Robert G. Trombone mars 7. Robert G. Partitions vol mars 7. Lucie M. Flute nov 11. Cynthia S. Partitions vol juin 16 Jules T. Piano jan 10 Jules T. Partitions vol jan A video (for example, an.avi file): x y time red green blue Examples of relations. A relation is a subset of a cartesian product of two or more sets. Each relation can be thought of as a multidimensional data set. In the examples here, each row is a tuple, each column is a dimension.

29 Red Blue Green A video

30 Network Data: Node-Link Diagrams Note: in the context of this discussion, the word “graph” means the same thing as “network”, i.e., a “graph” is a topological structure with nodes and edges that can be drawn many different ways. In more general English conversation, however, the word “graph” may simply mean a picture showing a mathematical function or something similar. To avoid confusion, it is often good to use the word “network” to refer to the topological structure.

31 Generated with a “SugiyamaLayout” ( ) Generated by Graphviz ( )

32 How to compute the layout of a graph? Many algorithms are available – See “Graph Drawing” annual conference proceedings – See book “Graph Drawing: Algorithms for the Visualization of Graphs” by Di Battista et al. (1999) – Examples: Reingold-Tilford (1981) for binary trees, Sugiyama et al. (1981) for directed acyclic graphs (DAGs), or examples on previous slide Most of these algorithms are not easy to implement One class of algorithms that are easy to implement (in their naïve form) and that are applicable to any graph: force-directed layout

33 Force-Directed Layout of a Network in 3D Pseudo-physical simulation of masses and springs that converges toward a final layout The nodes are masses that are mutually repelled by an electric force The edges are springs

34 Tree Data A tree can be thought of as simply a special kind of network.

35 A naïve and easy-to-program layout: each subtree has an interval in x that is not overlapped by the neighboring subtrees. A postorder depth-first- traversal combines the intervals of subtrees to yield the interval of a parent node. A "Reingold Tilford" style layout : saves space in x by moving subtrees together as much as possible. (For details, see section 3 of Christoph Buchheim, Michael Jünger and Sebastian Leipert, "Improving Walker's Algorithm to Run in Linear Time", Proceedings of Symposium on Graph Drawing (GD) 2002, pages ) The is more complicated to program. Another easy-to-program layout: a preorder depth-first-traversal encounters nodes in order of their y coordinates, and the x coordinate of each node is proportional to its depth. Classical/Layered Indented Outline List

36 A naïve and easy-to-program layout: each subtree has an interval in x that is not overlapped by the neighboring subtrees. A postorder depth-first- traversal combines the intervals of subtrees to yield the interval of a parent node. A "Reingold Tilford" style layout : saves space in x by moving subtrees together as much as possible. (For details, see section 3 of Christoph Buchheim, Michael Jünger and Sebastian Leipert, "Improving Walker's Algorithm to Run in Linear Time", Proceedings of Symposium on Graph Drawing (GD) 2002, pages ) The is more complicated to program. Another easy-to-program layout: a preorder depth-first-traversal encounters nodes in order of their y coordinates, and the x coordinate of each node is proportional to its depth. Classical/Layered Indented Outline List

37 A naïve and easy-to-program layout: each subtree has an interval in x that is not overlapped by the neighboring subtrees. A postorder depth-first- traversal combines the intervals of subtrees to yield the interval of a parent node. A "Reingold Tilford" style layout : saves space in x by moving subtrees together as much as possible. (For details, see section 3 of Christoph Buchheim, Michael Jünger and Sebastian Leipert, "Improving Walker's Algorithm to Run in Linear Time", Proceedings of Symposium on Graph Drawing (GD) 2002, pages ) The is more complicated to program. Another easy-to-program layout: a preorder depth-first-traversal encounters nodes in order of their y coordinates, and the x coordinate of each node is proportional to its depth. Classical/Layered Indented Outline List

38 Trees Michael McGuffin and Jean-Marc Robert, 2010

39 Trees

40 Treemaps (Ben Shneiderman and others) Martin Wattenberg, 1998 and Marc Smith and Andrew Fiore, 2001

41 Focus+Context Visualizations

42 Fisheye lens Image: Keahey and Robertson

43 3D Visualizations

44 3D + interaction + animations : Christopher Collins and Sheelagh Carpendale, 2007

45 Project Ideas on the Wiki

46 Possible project topics: visualization of multidimensional data (using parallel coordinates, using scatterplot matrix, using glyphs,...) Example data sets: –http://archive.ics.uci.edu/ml/datasets/Iris –http://vis.stanford.edu/protovis/ex/cars.html –http://vis.stanford.edu/protovis/ex/flowers.html visualization of one tree (genealogy tree, evolutionary tree, files on harddrive,...) –Example: visualization of differences between two trees visualization of one network (using node-link diagram, using adjacency matrix,...) visualization of differences between two networks visualization of time series data Example: a 3D visualization a zoomable user interface

47 Some libraries, APIs, software, and platforms: InfoVis Toolkit (Java) Prefuse (Java) Flare (ActionScript) Protovis (JavaScript) Many Eyes VTK (C++ / Java / Python) Processing (Java) For visualizing networks Pajek Graphviz Tulip Walrus JUNG NetworkX (Python) For multidimensional data XmdvTool Spotfire Polaris Tableau Mondrian Some websites and blogs:

48 Some Books about Visualization Jacques Bertin (1967), Sémiologie graphique: Les diagrammes, Les réseaux, Les cartes. Jacques Bertin (1977), La graphique et le traitement graphique de l'information. John Wilder Tukey (1977), Exploratory Data Analysis. Edward R. Tufte (1983), The Visual Display of Quantitative Information. Edward R. Tufte (1990), Envisioning Information. Edward R. Tufte (1997), Visual Explanations: Images and Quantities, Evidence and Narrative. Di Battista, Giuseppe and Peter Eades and Roberto Tamassia and Ioannis G. Tollis (1999), Graph Drawing: Algorithms for the Visualization of Graphs. Leland Wilkinson (1999), The Grammar of Graphics. Stuart K. Card and Jock D. Mackinlay and Ben Shneiderman (1999), Readings in Information Visualization: Using Vision to Think. Colin Ware (2000), Information Visualization: Perception for Design. Robert Spence (2001), Information Visualization.

49 A bibliography of books and papers


Download ppt "A Quick Overview of Some Visualization Techniques and Suggestions for Projects Prof. Michael McGuffin ETS, Montreal, Canada"

Similar presentations


Ads by Google