La visualisation. Survol historique très bref 6200 ans avant J. C. : Çatalhöyük (en Turquie)...

Preview:

Citation preview

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ématiquesde secondaire

• Étant donné deux ensembles, un domaine (exemple: R) et un codomaine (exemple: R), on peut former le produit cartésien (RxR=R2) 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 = y2 correspond à un sous-ensemble de R2

• Une relation s’appelle une fonction si chaque member x du domain a au plus un membre y correspondant dans le codomaine– x=y2 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 y--- --- 0 0 1 1 4 2 9 3...

La relation dans un tableau d'une base de données relationnelles:

Nom_de_client Produit_acheté Prix Date ...------------- ----------------- ------- ------------ -----Robert G. Trombone 500.00 2008 mars 7 .Robert G. Partitions vol. 1 45.00 2008 mars 7 .Lucie M. Flute 180.00 2007 nov 11 .Cynthia S. Partitions vol. 2 40.00 2008 juin 16Jules T. Piano 6000.00 2008 jan 10Jules T. Partitions vol. 1 45.00 2008 jan 13...

Une vidéo (par exemple, fichier .avi):

x y temps rouge vert bleu--- --- ------- ------- ------ ------ 0 0 0 255 0 0 0 1 0 200 10 6 ... 0 0 0.1 255 50 100 0 1 0.1 255 200 190 ...

Exemples de relations(c.-à-d. de données multidimensionnelles)

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 3D space × 1D time

Rouge

Bleu

Vert

Une vidéo

Gareth Daniel et Min Chen, 2003

Hilpoltsteiner 2005http://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)

Voir la présentation de Hans Rosling sur http://www.ted.com

Remarque: les points sont des glyphs!

Dynamic Queries: HomeFinder (Ben Shneiderman, 1993)

Dynamic Queries: FilmFinder(Ben Shneiderman)

Dynamic Queries: TimeSearcher (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

x

y

b

a

x

y

x

y

x

y

Rows: b, y

Columns: a, x

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 3D space × 1D 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

Continuous variable as a function of a nominal variable

Bar chart

Continuous variable as a function of a continuous variable

Line graph

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”)

Des exemples résultants de l’application des règles sur le diapo précédent:

Diagramme à barres vs diagramme en ligne brisée(Bar chart vs line graph)

Tufte (1983)

Longueur vs aire(Length vs area)

http://www.research.ibm.com/people/l/lloydt/color/color.HTMRogowitz and Treinish, “Why Should Engineers and Scientists Be Worried About Color?”

Borland and 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 320i, Champ, Chev Nova, …} (19 models in total)

• Car price: [$0, $13500]• Car mileage: [0,40]• Repair record: {Great, Good, OK, Bad, Terrible}• Car weight: [0,5500]

Most important dimensions

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 320i, Champ, Chev Nova, …}(19 modèles en tout)

• Prix d’auto: [$0, $13500]• kilométrage: [0,40]• Historique de réparations: {Excellent, Bon, OK,

Mauvais, Affreux}• Poids: [0,5500]

Dimensions les plus importantes

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

ScatterDice (Elmqvist et al. 2008)

ScatterDice (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 des 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é deNew Internationalistissue 3752005 Jan/Febhttp://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)

H3 (Munzner 1998)• On calcul la disposition d’un graphe dans un

espace hyperbolique 3D, ensuite on calcul une projection vers un espace euclidien 3D

• (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 3D

http://www.dgp.toronto.edu/~mjmcguff/research/graph3D/

•Simulation pseudo-physique 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

Un graphe: en diagramme nœud-lien, et en matrice d’adjacence

A B C D E

A 1 1

B 1 1 1

C 1 1

D 1 1

E 1

A

B C

D E

Remarque: la matrice est symétrique, car le graphe n’est pas orienté

Diagramme nœud-lienvs matrice d’adjacence

MatLink (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

Filelighthttp://www.methylblue.com/filelight/

http://www.topicscape.com/

Treemaps (Ben Shneiderman et autres)

Martin Wattenberg, 1998et

http://www.smartmoney.com/marketmap/

Marc Smith et Andrew Fiore, 2001

Treemap dans Konquerorhttp://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

Aire de chaque feuille proportionnelle à la superficie de l’île

Aire de chaque feuille égale

« Squarified Treemaps »

« Icicle diagrams » (diagrammes à glaçons)

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. McGuffin and J.-M. Robert, in press as of 2009,Information Visualization

Question:

• Est-il possible d’avoir des données à la fois multidimensionnelles et ayant la structure d’un graphe ?

Réponse: oui. Exemple: un ensemble de tableaux dans une base de données relationnelle, liés par des clés étrangères.

Quelques questions deconception 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 McGuffin et Ravin Balakrishnan, 2005

Le 3D…

Visualisation en 3D :une arborescence

Est-ce vraiment mieux de visualiser des graphes en 3D qu’en 2D ?Ç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 3D.)

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

3D + interaction + animations :Michael McGuffin et al., 2003

3D + interaction + animations :Michael McGuffin et al., 2003

Des visualisations hybrides …

Elastic Hierarchies: un hybride de diagramme nœud-lien et de Treemaps, pour visualiser des arborescences

(Zhao, McGuffin, et Chignell 2005)

Elastic Hierarchies: un hybride de diagramme nœud-lien et de Treemaps (Zhao, McGuffin, et Chignell 2005)

Taxonomie des hybrides possibles

Capture d’écran du prototype logiciel

NodeTrix: un hybride de diagramme nœud-lien et de matrices, pour visualiser des graphes

(Henry, Fekete, et McGuffin 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 3D, 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)• SpotFire (USA)• Tableau Software (USA)

Further reading …

http://profs.logti.etsmtl.ca/mmcguffin/bib/vis.txt