infovis systems and toolkits - université de fribourg · les six outils de visualisation infovis...
TRANSCRIPT
- 1 -
InfoVis Systems and Toolkits
Mehdi Radgohar
Diva
Séminaire sur la visualisation d’informations
Université de Fribourg
INTRODUCTION Actuellement des domaines comme la recherche
pharmaceutique, la recherche biomédicale, la biolo-
gie, la sociologie, la cartographie ou l’analyse de
marché stockent de grandes quantités d’informations
sous des formats très différents. Le problème survient
alors lors de la visualisation de ces informations. En
effet, il n’est pas facile de représenter autant
d’informations abstraites de façon claire et utile pour
en faire ressortir des patterns cachés. De plus selon le
domaine d’étude, l’outil doit être spécialisé pour pou-
voir profiter au maximum des informations à disposi-
tion car chaque schéma de données est unique et donc
la façon de la représenter graphiquement sera aussi
unique.
Dans ce rapport, nous allons étudier six outils de vi-
sualisation qui permettent de créer des visualisations
à partir de données structurées ou non structurées :
InfoVis Toolkit [2], prefuse [4], Advizor [1], Rivet
[6], Snap-Together Visualization [5] et Million Items
Visualization [3]. Chacun de ces outils a pour but
d’être flexible et de permettre des interactions avec
les informations affichées à l’écran.
L’implémentation de ce genre de logiciel n’est pas
aisée car il nécessite de la part du programmeur des
compétences avancées en mathématiques et pro-
grammation pour les algorithmes d’affichages et de
création de graphiques.
Les outils de visualisation peuvent être divisés en
trois classes selon les problèmes qu’ils peuvent aider
à résoudre :
• Graphiques de présentation : en général, ces
outils permettent de créer des histogrammes,
camemberts et des courbes. Exemples de lo-
giciels : PowerPoint ou les feuilles de calcul.
• Interfaces visuelles pour accéder aux infor-
mations : permettent à l’utilisateur de navi-
guer à travers des informations complexes,
comme le web par exemple. L’utilisateur peut
effectuer une recherche, revenir en arrière et
consulter un historique.
• Découverte complète visuelle et système
d’analyse : combinaison des présentations
graphiques et de capacités à naviguer, filtrer,
manipuler l’affichage. Les six toolkits décrits
dans ce rapport font parties de cette classe
d’outils de visualisation.
POURQUOI VISUALISER DES INFORMATIONS DANS UNE FORME GRAPHIQUE ? La visualisation permet de manipuler les données à
disposition pour pouvoir répondre aux questions
« pourquoi » et « quoi ». La différence entre répondre
à l’une ou l’autre question implique des opérations
interactive. Par exemple, dans l’article [1], il y a un
exemple concret pour expliquer cette différence. Si
un vendeur veut répondre à la question « que s’est-il
passé » dans la vente d’un produit, il lui suffit de re-
garder la pente d’un graphe ou la hauteur d’une barre
dans un histogramme. Par contre pour répondre à la
question « pourquoi », il lui faudra des opérations
pour explorer les données comme l’exclusion, la mise
à l’échelle et des filtres.
QU’EST-CE QU’UN BON OUTIL DE VISUALISATION ? Pour décrire ce qu’est un bon outil de visualisation,
nous pouvons citer une phrase de Alan Kay :
« A good toolkit should be designed so that
simple things become simple to do and complex
things become possible »
Représentation des données Pour être plus précis, un outil de visualisation qui se
veut le plus ouvert possible aux données doit possé-
der un bon système de gestion de l’information.
Comme ces données peuvent provenir de nombreuses
sources de part le monde, le modèle de données rela-
tionnels est souvent utilisé car en plus d’être très cou-
rant dans les milieux de recherche, il permet de struc-
turer ces dernières grâce à des schémas qui peuvent
- 2 -
être créés par les utilisateurs même. Ainsi le toolkit
pourra s’adapter au format de données que
l’utilisateur lui fournira en input. Souvent ces don-
nées sont abstraites, c’est pourquoi il faudra ajouter
des meta-données pour que l’information soit utilisa-
ble et compréhensible. Dans la figure 1, nous pouvons
qu’un schéma peut être facilement composé et com-
pris par un utilisateur, même novice dans le domaine
des base de données.
Figure 1 : un exemple d’un schéma pour re-présenter l’information. Cette image provient du toolkit Snap-Together Visualization
Fonctionnalités Tout bon outil de visualisation qui se respect se doit
d’offrir des méthodes pour explorer un ensemble
d’informations. Les interactions minimales doivent
permettre la navigation, le zoom optique ou sémanti-
que, la recherche, l’application de filtres, le change-
ment de structure (en arbres, en tables ou en graphes),
l’affichage multiples, l’assignement de couleur, la
transformation des données et de l’affichage, etc.
Cette liste n’est pas exhaustive mais contient les fonc-
tionnalités de base.
Extensibilité Comme les outils de visualisation veulent souvent
être ouvert à tous les inputs possibles, ils doivent pour
cela permettre aux utilisateurs d’étendre les fonction-
nalités de base. En effet il est possible que pour la
représentation de données spécifiques à un domaine,
il faille recourir à un affichage ou une interaction pré-
cise qui ne se trouve pas dans les fonctionnalités
d’origines du toolkit. C’est pourquoi l’application
doit être extensible au niveau de l’interface et ainsi
qu’au niveau des fonctionnalités. Cette personnalisa-
tion pourra permettre aux utilisateurs de se partager
des ajouts dans un outil pour éviter de perdre du
temps à tout réimplémenter.
Performance Lorsqu’on travaille sur une très grande quantité de
données comme des milliers ou des millions d’objets
uniques, le temps de calcul pour afficher le résultat
peut rapidement devenir insupportable pour
l’utilisateur. C’est pourquoi, il faut optimiser les
techniques d’affichages pour que les transitions et
changements soient le plus fluide possible. En effet
lorsqu’un utilisateur zoome dans un ensemble de
données d’un million d’objets par exemple, il ne veut
pas que le nouvel affichage apparaisse après trois se-
condes.
Pour palier à ce problème, une solution efficace est
d’utiliser l’accélération matérielle disponible sur tou-
tes les cartes vidéos de ces dernières années. Le seul
problème est que ces cartes sont souvent conçues
pour accélérer en priorité la 3D, alors que les outils
de visualisation utilisent le plus souvent la 2D.
D’autres solutions pour accélérer le temps de réponse
lors de manipulation directe sur un graphe sont de ne
redessiner que les parties qui changent ou bien de ne
redessiner l’affichage qu’en cas de nécessité.
Critères pour évaluer la qualité d’un toolkit Schneidermann et Fekete [7] ont défini six critères
pour pouvoir évaluer la qualité d’un logiciel :
1. Partie de l’application construite qui utilise l’outil
2. Temps d’apprentissage du logiciel
3. Temps pour le développement
4. Méthodologie imposée ou conseillée
5. Communication avec les autres systèmes
6. Extensibilité et modularité
LES SIX OUTILS DE VISUALISATION
InfoVis Toolkit Cet outil a pour but de simplifier la gestion des struc-
tures de données et de l’affichage grâce à des compo-
sants intégré dans un framework cohérent. Les élé-
ments génériques sont principalement les requêtes
dynamiques qui comportent les filtres, la sélection, le
tri et les manipulations visuelles. InfoVis supporte
aussi trois structures de données concrètes : tables,
arbres et graphes.
Dans la figure 2, on distingue un GraphMatrix avec
des milliers de lignes et de colonnes dont la partie
centrale de l’image comporte seulement 70x70 en-
trées. Pour un aperçu global des données, il faut se
référer au carré en haut à gauche de la figure. De plus
comme les cases sont petites, le fisheye permet de
voir comme à travers une loupe des zones précises
pour plus de détails grâce à une déformation.
Le changement de types de graphe peut être fait grâce
aux onglets qui se trouvent en haut de l’image. Dans
la colonne de droite de la figure 2, il y a de nombreux
- 3 -
sliders et boîtes de sélection pour ajuster les filtres et
les interactions sur le graphe.
Figure 2 : un GraphMatrix et la vue fisheye
C’est grâce au paneau de la figue 3 que l’utilisateur
peut réaliser les requêtes dynamiques. Les compo-
sants d’InfoVis ont tous des panneaux de contrôle. Ils
permettent d’interagir directement avec le graphe
simplement en les manipulant.
Figure 3 : les panneaux de contrôle pour une visualisation en treemap
prefuse Ce toolkit est dans la même lignée que InfoVis mise à
part qu’il se veut plus simple et plus facile à étendre.
En effet, on peut créer très rapidement de nouvelles
extensions avec un nombre de lignes de code réduit. Il
permet ainsi au développeur de plus se concentrer sur
la partie problématique que sur l’implémentation. Le
principe d’ajout d’extension est basé sur la création
de nouveaux qui se nomment Actions, Renderers et
Controls.
Ainsi une carte comme on le voit dans la figure 4 est
réalisable en très peu de temps. La grande différence
de prefuse avec InfoVis se trouve dans l’interaction
car prefuse ne possède pas autant de sliders et autres
composants. Les interactions se font principalement
sur le graphe de visualisation.
Figure 4 : une carte du top 10 des migrations vers la Californie et New York. La carte montre que New York attire plus de gens de la côte est et la Californie attire les gens de partout
Dans l’article concernant prefuse, il est appréciable
de voir une étude réalisée sur des utilisateurs pour
évaluer de la pertinence de l’interface ainsi que de la
façon d’implémenter de nouveaux modules. L’étude
prouve alors que la réalisation de nouvelles visualisa-
tions peut-être effectuer de manière rapide et par des
programmeurs au niveau très différents.
Million Items Visualization Le but de ce logiciel est d’afficher un très grand
nombre d’objets, environ un million dans le cas de la
figure 5 qui représente 970'000 fichiers d’un disque
dur. La taille des fichiers est représentée par la taille
de chaque rectangle et la couleur représente son type.
La profondeur des répertoires est affichée grâce à la
luminosité.
Figure 5 : affichage en treemap de 970'000 fi-chiers sur une résolution de 1600x1200.
- 4 -
Il est à noter que ce genre de représentation ne peut
être effectué que sur des écrans de grandes tailles. En
effet, ce type de visualisation est inadapté sur de pe-
tits périphériques comme les PDA par exemple.
La grande problématique pour l’affichage d’autant
d’objets est le temps de calcul. Ainsi à chaque requête
dynamique lors de l’application de filtres ou d’autres
méthodes d’interactions, le graphe doit être recalculé.
Au-delà de 10'000 objets, le taux de rafraîchissement
devient inacceptable. C’est pourquoi il est indispen-
sable d’utiliser le GPU pour l’affichage. D’après
l’auteur du logiciel, cela accélérerait le temps de cal-
cul de 20 à 100 fois.
Snap-Together Visualization La grande force de Snap réside dans la manière de
créer de nouveaux calques pour générer une interface
personnalisée. Le concept de visualisation est forte-
ment lié avec le modèle relationnel des bases de don-
nées, c’est pourquoi il est très facile à comprendre et
à mettre en œuvre.
Figure 6 : exemple de vues multiples dans Snap
La figure 6 montre un exemple d’interface pour Snap.
En haut à gauche, une représentation de
l’arborescence d’un site. Lors de la sélection d’une
page dans cette case, cette dernière est affichée dans
la case en haut à droite. Sur la partie du milieu en
haut, on peut voir la distribution des clics sur une pé-
riode de temps. La partie d’en bas à gauche surligne
toutes les pages liées à la sélection (sites de réfé-
rence). En sélectionnant une ligne sur la case d’en bas
à gauche, on peut mettre en évidence les points dans
le graphe et afficher la page dans la case en bas à
droite.
Par exemple pour créer cette interface, il suffit
d’utiliser un outil de Snap pour créer le schéma et
créé les liens entre eux comme on peut le voir dans la
figure 7.
Figure 7 : schéma de visualisation pour la vue multiple de la figure 6
Snap possède un serveur qui permet aux utilisateurs
de partager leurs schémas de visualisation et de les
réunir en un seul endroit pour éviter que toutes ces
visualisations soient disséminées sur le web.
Rivet Le but de l’article sur Rivet est de commenter les
choix fait pour la réalisation du logiciel et d’éviter
que de futurs projets ne perdent du temps à se reposer
les mêmes questions. Globalement les résultats obte-
nus dans ce papier confirment les critères de qualités
pour obtenir un bon outil de visualisation comme cela
a été défini par Schneidermann et Fekete [7].
Figure 8 : visualisation des performances dans des systèmes parallèles
L’architecture de Rivet consiste en quatre étapes : le
modèle de données, les objets visuels, le mapping à
partir des valeurs des données en représentation vi-
suelles et les composants d’interactions de
l’utilisateur.
Advizor Le but d’Advizor est de présenter de l’information
complexe multidimensionnelle d’une manière natu-
relle et intuitive. Pour cela, ce toolkit utilise principa-
lement la souris comme moyen d’interaction. Un plus
- 5 -
par rapport aux autres outils est le fait de pouvoir pu-
blier une analyse dans des documents web.
Advizor est un outil performant pour l’analyse des
marchés car il permet d’afficher plusieurs vues simul-
tanément et ainsi de répondre à la fameuse question
du « pourquoi » vue dans un chapitre précédent.
Figure 9 : perspective qui montre les achats des hommes dans les semaines 20-22 pour le top cinq des catégories de produit
CONCLUSION En résumé, nous remarquons que ces toolkits pour la
visualisation sont souvent similaires dans les fonc-
tions de bases, mais que chacun apporte son lot de
nouveautés. Les trois outils qui se démarquent réel-
lement sont prefuse, InfoVis et Advizor. InfoVis et
prefuse sont différents car ils permettent une extensi-
bilité simplifiée et leur implémentation est récente à
cause de l’âge des deux projets. Advizor est un logi-
ciel d’analyse de marché très performant d’après ce
que j’ai pu en voir et est devenu un outil profession-
nel, mais il ne possède pas de possibilités d’extension
comme les deux autres toolkits.
Pour ma part, l’outil qui me paraît le plus performant
et le plus simple à utiliser est prefuse. D’après mes
tests la prise en main d’InfoVis est plus compliquée.
Il est dommage que les articles, à part celui-ci consa-
cré à prefuse, n’aient pas réalisé d’études auprès des
utilisateurs et des développeurs. L’apport d’une éva-
luation auprès des utilisateurs ne peut qu’apporter des
points positifs aux projets et leurs permettre
d’atteindre leur but, c’est-à-dire de devenir un toolkit
efficace et simple à l’utilisation.
Evidemment il est très difficile de créer un toolkit qui
puisse être efficace dans tous les domaines. C’est
pourquoi selon l’analyse qu’on souhaite réalisé, il
faudra se tourner vers l’un ou l’autres de ces outils.
REFERENCES 1. Stephen G. Eick, “Visual Discovery and Analy-
sis”, IEEE Transactions on Visualization and
Computer Graphics, Vol. 6, No. 1, Jan-Mar 2000,
pp. 44-58.
2. Jean-Daniel Fekete, “The InfoVis Toolkit”, Pro-
ceedings of InfoVis '04, Austin, TX, Oct. 2004, pp.
167-174.
3. Jean-Daniel Fekete, Catherine Plaisant, “Interac-
tive Information Visualization of a Million Items”,
Proceedings of InfoVis '02, Boston, MA, Oct.
2004, pp. 117-124.
4. Jeffrey Heer, Stuart K. Card, James A. Landay,
“prefuse: a toolkit for interactive information visu-
alization”, Proceedings of ACM CHI '05, Portland,
OR, April 2005, pp. 421-430.
5. Chris North, Nathan Conklin, Kiran Indukuri, and
Varun Saini, “Visualization of Schemas and a
Web-Based Architecture for Custom Multiple-
View Visualization of Multiple-Table Databases”,
Information Visualization, Vol. 1, No. 3/4, Dec.
2002, pp. 211-228.
6. Diane Tang, Chris Stolte, and Pat Hanrahan, “De-
sign Choices when Architecting Visualizations”,
Proceedings of IEEE InfoVis '03, Seattle, WA,
Oct. 2003, pp. 41-48.
7. B. Schneidermann and C. Plaisant, “Designing the
User Interface”, Addison-Wesley Publisher, 2004