La visualisation Survol historique trs bref 6200 ans
La visualisation
Survol historique très bref
6200 ans avant J. C. : Çatalhöyük (en Turquie) Premier plan de ville
≈1000 après J. C. Premier graphique sur un plan cartésien avec le temps en axe horizontal (et ce, quelques siècles avant René Descartes (nom Latin: Renatus Cartesius), pour qui on a nommé le plan cartésien)
William Playfair, 1786 Le premier à publier beaucoup de graphiques de données statistiques. À droit: le premier diagramme en rectangle ( « bar chart » ), quoiqu’il n’était pas un histogramme.
William Playfair, 1801 Le premier camembert ( « pie chart » )
Charles Joseph Minard, 1869 L’armée de Napoléon. 400 000 hommes sont partis de la Pologne en 1812. Arrivés à Moscou en septembre, ils ont vu que la ville était pillée et desertée. Seulement 10 000 homes sont revenus, les autres tués ou morts de fain ou froid. 5 variables sont montrées dans le diagramme: -Position de l’armée (latitude et longitude) -Temps et température (voir le petit graphique en dessous de la carte) -Taille de l’armée (épaisseur de la bande brune ou noire)
Deux sortes de données • Les données multidimensionnelles • Les graphes (y compris les arborescences)
Les données multidimensionnelles (relations, fonctions, tableaux)
Rappel de mathématiques de secondaire • Étant donné deux ensembles, un domaine (exemple: R) et un codomaine (exemple: R), on peut former le produit cartésien (Rx. R=R 2) qui est l’ensemble de tous les pairs (x, y) possibles • Une relation est un sous ensemble du produit cartésien – Exemple: l’équation x = y 2 correspond à un sous-ensemble de R 2 • Une relation s’appelle une fonction si chaque member x du domain a au plus un membre y correspondant dans le codomaine – x=y 2 n’est pas une fonction car (4, 2) et (4, -2) sont tous les deux des membres de la relation définie par l’équation • Une façon simple de représenter une relation (ou une fonction) est simplement d’énumérer les pairs de la relation dans un tableau
La fonction y = x^0. 5: x --0 1 4 9. . . Exemples de relations (c. -à-d. de données multidimensionnelles) y --0 1 2 3 La relation dans un tableau d'une base de données relationnelles: Nom_de_client ------Robert G. Lucie M. Cynthia S. Jules T. . Produit_acheté --------Trombone Partitions vol. 1 Flute Partitions vol. 2 Piano Partitions vol. 1 Prix ------500. 00 45. 00 180. 00 40. 00 6000. 00 45. 00 Une vidéo (par exemple, fichier. avi): x y --- --0 0 0 1. . . temps ------0 0 0. 1 rouge ------255 200 255 vert -----0 10 50 200 bleu -----0 6 100 190 Date ------2008 mars 7 2007 nov 11 2008 juin 16 2008 jan 10 2008 jan 13 . . . ----. . .
Données multidimensionnelles • Ce que j’entends par « données multidimensionelles » est une relation quelconque • On peut distinguer entre trois sortes de « dimensions » dans ces données: – 1. Les dimensions associées avec le domaine (ou variables indépendantes) – 2. Les dimensions associées avec le codomaine (ou variables dépendantes) – 3. Les dimensions physiques de l’espace et/ou de temps utilisés pour visualiser les données (il y a au plus 3 dimensions spatiales et 1 dimension temporelle) – Exemple: dans du piétage vidéo, il y a 3 dimensions (x, y, et temps) associées avec le domaine, 3 dimensions associées avec le codomaine (rouge, vert, bleu), et habituellement pour visualiser la vidéo on va « mapper » x et y dans la vidéo aux dimensions spatiales physiques de notre écran, et « mapper » le temps dans la vidéo au temps physique. – Mais, on pourrait aussi « mapper » les variables rouge, vert, bleu au x, y, z physique, pour donner une nuage de points ( « scatter plot » ) de la vidéo
Input data: independent dimensions, dependent dimensions Output graphical representation: at most 3 D space × 1 D time
Une vidéo Bleu Rouge Vert
Gareth Daniel et Min Chen, 2003
Hilpoltsteiner 2005 http: //www. recreating-movement. com/index. html http: //www. recreating-movement. com/pictures/remov_soccer. jpg
Les videograms (Marc Davis 1995)
Visualisation de fluide
Visualisation de musique (Martin Wattenberg, 2001) Beethoven, Clair de lune Talking Heads, As She Was
Les visages de Chernoff (1973) (un exemple d’un « glyph » ) Avantage: mieux que du texte pour avoir une impression globale des données et trouver des éléments intéressants Désavantage: le mapping entre les variables et le visage a un effet sur la saillance de chaque variable. Désavantage(? ): redondance d’un visage symétrique
Autres exemples de glyphs M. Ward (2002), “A Taxonomy of Glyph Placement Strategies for Multidimensional Data Visualization”, Information Visualization.
Autres exemples de glyphs Wittenbrink, Pang, Lodha (1996) “Glyphs for Visualizing Uncertainty in Vector Fields”, IEEE TVCG.
Présentation interactive de l’ONU (United Nations Development Programme, Human Development Report) Remarque: les points sont des glyphs! Voir la présentation de Hans Rosling sur http: //www. ted. com
Dynamic Queries: Home. Finder (Ben Shneiderman, 1993)
Dynamic Queries: Film. Finder (Ben Shneiderman)
Dynamic Queries: Time. Searcher (Hochheiser et Shneiderman 2004)
Tableau: logiciel pour visualiser des bases de données (Mackinlay et al. 2007, tableausoftware. com)
Tableau • Pour plus d’informations: http: //www. tableausoftware. com/products/tour http: //www. tableausoftware. com/products/desktop/demo
Columns: a, x Rows: b, y b y y x y x x a
Sortes de dimensions • Quantitatives (ou continues ou métriques) – Exemple: x, y, temps, température • Ordinales – On peut mettre les valeurs en ordre, mais on ne peut pas dire qu’une telle valeur est N fois plus grande qu’une autre valeur – Exemple: nom de client (en ordre alphabétique) – Exemple: D. E. S. , D. E. C. , Baccalauréat (en ordre d’années de scolarité) • Nominales (ou catégoriques) – Il n’y a pas d’ordre naturel – Exemple: groupe d’aliments (viandes, lait, légumes et fruits, produits céréaliers) – Exemple: bacc en génie mécanique, bacc en génie de construction, etc. – Exemple: Honda, Toyota, GM, Chrysler, etc. • Binaires – Une sorte de dimension nominale ayant deux valeurs possibles
Input data: dimensions can be {independent, dependent} and {continuous, ordinal, nominal} Output graphical representation: at most 3 D space × 1 D time
Hiérarchie des variables graphiques
Hiérarchie des variables graphiques (Mackinlay 1986)
Tableau • Détermine de façon automatique quelles colonnes dans la base de données sont des « dimensions » (variables indépendantes), quelles sont des « mesures » (variables dépendantes), et quelles sont « quantitatives » (continues) ou « catégoriques » (nominales) • Choisit une sorte de graphique de façon automatique, selon la nature des données
Tableau Des exemples résultants de l’application des règles sur le diapo précédent: Continuous variable as a function of Bar chart a nominal variable Continuous variable as a function of Line graph a continuous variable Continuous variable as a function of (nominal) time Two dependent continuous variables Scatter plot Nominal variable as a function of a continuous variable Gantt chart Nominal independent variable with continuous independent variable Two independent nominal variables Cross tabulation (“cross tab”)
Diagramme à barres vs diagramme en ligne brisée (Bar chart vs line graph)
Longueur vs aire (Length vs area) Tufte (1983)
http: //www. research. ibm. com/people/l/lloydt/color. HTM Rogowitz and Treinish, “Why Should Engineers and Scientists Be Worried About Color? ”
Borland Taylor, “Rainbow Color Map (Still) Considered Harmful”, IEEE CG&A, 27(2): 14 -17, 2007
Autres exemples …
Class exercise: Design one or more graphs to visualize a data set with the following dimensions: • Car model: {Accord, AMC Pacer, Audi 5000, BMW 320 i, Champ, Chev Nova, …} (19 models in total) • Car price: [$0, $13500] Most important dimensions • Car mileage: [0, 40] • Repair record: {Great, Good, OK, Bad, Terrible} • Car weight: [0, 5500]
Exercise en classe: Concevoir un ou des graphiques pour visualiser un jeu de données ayant les dimensions suivantes: • Modèle d’auto: {Accord, AMC Pacer, Audi 5000, BMW 320 i, Champ, Chev Nova, …} (19 modèles en tout) • Prix d’auto: [$0, $13500] Dimensions les plus importantes • kilométrage: [0, 40] • Historique de réparations: {Excellent, Bon, OK, Mauvais, Affreux} • Poids: [0, 5500]
Coordonnées parallèles
Coordonnées parallèles
Matrice de nuages de points (“scatter plot matrix” ou “SPLOM”)
Matrice de nuages de points (“scatter plot matrix” ou “SPLOM”)
Matrice de coéfficients de corrélation
Scatter. Dice (Elmqvist et al. 2008)
Scatter. Dice (Elmqvist et al. 2008) (voir vidéo)
Question: • Dans le survol historique au début des diapos, est-ce que les données visualisées sont toutes données multidimensionelles ? Réponse: oui
Les graphes / réseaux (y compris les arborescences)
Visualisation de liens sur l’internet Munzner et al. , 1996
Structure de l’ONU Tiré de New Internationalist issue 375 2005 Jan/Feb http: //www. newint. org
Ishkur’s Guide to Electronic Music
Ishkur’s Guide to Electronic Music
Regroupements hiéarchiques des liens dans un graphe (Danny Holten, 2006)
H 3 (Munzner 1998) • On calcul la disposition d’un graphe dans un espace hyperbolique 3 D, ensuite on calcul une projection vers un espace euclidien 3 D • (voir vidéo)
How to compute 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) • 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
Placement par force d’un graphe en 3 D • Simulation pseudophysique des masses et de ressorts qui mène à un “layout” final • Les noeuds sont des masses mutuellement repoussées par une force électrique • Les arêtes sont des ressorts http: //www. dgp. toronto. edu/~mjmcguff/research/graph 3 D/
Un graphe: en diagramme nœudlien, et en matrice d’adjacence A B C A A B D C E 1 B 1 C 1 D E 1 1 1 1 Remarque: la matrice est symétrique, car le graphe n’est pas orienté
Diagramme nœud-lien vs matrice d’adjacence
Mat. Link (Nathalie Henry et Jean. Daniel Fekete 2007)
Les arborescences
Les arborescences
Les arborescences
Les arborescences
Les arborescences http: //www. cookingforengineers. com/2004/09/recipe-file-basic-tiramisu. html
Filelight http: //www. methylblue. com/filelight/
http: //www. topicscape. com/
Treemaps (Ben Shneiderman et autres) Marc Smith et Andrew Fiore, 2001 Martin Wattenberg, 1998 et http: //www. smartmoney. com/marketmap/
Treemap dans Konqueror http: //www. dgp. toronto. edu/~mac/tmp/konqy_space_usage_disp. png
Treemaps (Shneiderman 1992; http: //www. cs. umd. edu/hcil/treemap-history/) Un Treemap « slice-and-dice » (algorithme original, produit beaucoup de rectangles longs et minces):
Treemaps • Un Treemap « squarified » (algorithme glouton, temps linéaire*, améliore la proportion ( « aspect ratios » ) des noeuds): * Sans compter le temps pour trier les enfants de chaque noeud
« Squarified Treemaps » « Icicle diagrams » (diagrammes à glaçons) Aire de chaque feuille proportionnelle à la superficie de l’île Aire de chaque feuille égale
Evaluating the Space-Efficiency of Tree Representations Key ideas: • Impose a 1× 1 bounding square on all representations • Evaluate size of smallest nodes, not just total area • Evaluate size of labels as a function of their aspect ratio L • Examine limits of these sizes as depth D→∞ M. Mc. Guffin and J. -M. Robert, in press as of 2009, Information Visualization
Réponse: oui. Exemple: un ensemble de tableaux dans une base de données relationnelle, liés par des clés étrangères. • Est-il possible d’avoir des données à la fois multidimensionnelles et ayant la structure d’un graphe ? Question:
Quelquestions de conception et de recherche, et des possibilités pour l’avenir
Comment montrer plus d’informations sur l’écran …
Vue en oeil de poisson ("fisheye")
Le zooming et les ZUIs ( « Zooming User Interfaces » ) …
Le zooming : Seadragon (Vidéo: présentation de Blaise Aguera y Arcas à TED 2007 http: //www. ted. com/index. php/talks/blaise_aguera_y_arcas_demos_photosynth. html )
L’animation pour montrer des transitions fluides …
Les animations entre les vues: Jeff Heer et George Robertson, 2007
Des techniques d’interaction rapide …
Techniques d’interaction: Michael Mc. Guffin et Ravin Balakrishnan, 2005
Le 3 D…
Visualisation en 3 D : une arborescence Est-ce vraiment mieux de visualiser des graphes en 3 D qu’en 2 D ? Ça implique souvent une navigation et une interface plus compliqué, et des problèmes d’occlusion. (Par contre, avec les données multidimensionnelles qui ont 3 dimensions spatiales, on a pas vraiment le choix; on doit visualiser en 3 D. )
3 D + interaction + animations : Christopher Collins et Sheelagh Carpendale, 2007
3 D + interaction + animations : Michael Mc. Guffin et al. , 2003
3 D + interaction + animations : Michael Mc. Guffin et al. , 2003
Des visualisations hybrides …
Elastic Hierarchies: un hybride de diagramme nœudlien et de Treemaps, pour visualiser des arborescences (Zhao, Mc. Guffin, et Chignell 2005)
Elastic Hierarchies: un hybride de diagramme nœudlien et de Treemaps (Zhao, Mc. Guffin, et Chignell 2005) Taxonomie des hybrides possibles Capture d’écran du prototype logiciel
Node. Trix: un hybride de diagramme nœud-lien et de matrices, pour visualiser des graphes (Henry, Fekete, et Mc. Guffin 2007)
Tendances futures? • Des ensembles de données toujours plus grands (exemple: données bioinformatiques) • Les utilisateurs vont vouloir regarder leurs données via plusieurs moyens différents, parfois avec plusieurs vues simultanées et coordonnées • Plus d’animation • Plus de zooming • Une interaction rapide (gestuelle, etc. ) • Le 3 D, lorsque c’est approprié (exemple: avec des données multidimensionnelles ayant 3 dimensions spatiales) • Travail collaboratif, en équipes, à distance • Un grand défit actuel: comment visualiser l’incertitude dans les données • Un autre grand défit: comment visualiser des différences entre deux ensembles de données qui sont semblables, et/ou comment visualiser l’évolution d’un ensemble de données à travers le temps (exemples: graphes, code source, etc. )
Quelques entreprises pour lesquelles la visualisation est un aspect important, ou bien leur activité principale • • • Autodesk (Montréal et ailleurs) CAE et PRESAGIS (Montréal et ailleurs) IVS (Montréal) Softimage (Montréal) Oculus (Toronto) Inxight (USA) ILOG (USA / France) Kitware (USA) Spot. Fire (USA) Tableau Software (USA)
Further reading … http: //profs. logti. etsmtl. ca/mmcguffin/bib/vis. txt
- Slides: 110