• Aucun résultat trouvé

Visualisation de graphe : un état de l’art

3.2 Techniques de visualisation de graphes

3.2.1 Représentation d’un graphe

Si Euler n’a pas utilisé de représentation de graphe pour poser et résoudre son problème des sept ponts de Königsberg (voir 3.1.1.1), l’intérêt de la communauté pour la représentation visuelle des graphes n’a cessé de croitre depuis la fin du XVIIIe siècle. La discipline du dessin de graphe (ou graph drawing en anglais) s’intéresse à cette question. Initialement les représentations visuelles sous forme de graphes étaient surtout utilisées à des fins pédagogiques ou lors de présentations. Une histoire de l’évolution du dessin de graphe depuis ses premières apparitions jusqu’aux représentations modernes est proposée par Kruja et al. (2002). Il existe aujourd’hui de nombreuses façons de représenter les nœuds et les arêtes d’un graphe, leurs attributs et leurs propriétés, qui sont présentées de façon non-exhaustive dans cette sous-section.

3.2.1.1 Node-link vs matrices

Les deux représentations de graphe les plus utilisées sont le diagramme node-link et les ma-trices, illustrées dans la figure3.8. Dans un diagramme node-link, les nœuds sont représentés par des disques et les arêtes par des traits. SelonHenry et al.(2007), les diagrammes node-link ont pour avantage :

– d’être intuitifs pour l’utilisateur ; – d’être efficaces sur des petits graphes ;

– de permettre d’effectuer facilement des tâches complexes, comme par exemple suivre un chemin entre deux nœuds non adjacents ;

0 0 1 1 0 0 0 1 1 0 0 1 1 1 1 0 1 2 3 4 1 2 3 4

a- node-link b- matrice d’adjacence b- tableau matriciel (pondéré)

Figure 3.8 – Différentes représentations d’un graphe à quatre nœuds et quatre arêtes

Cependant, pour les graphes denses, le chevauchement des nœuds et le croisement des arêtes posent des problèmes de lecture du graphe. De façon générale l’usage de la représentation node-link requière l’application d’un layout, ce qui signifie qu’un calcul doit être effectué avant la visualisation. Certains types de graphes disposent naturellement d’un layout et ne nécessitent pas obligatoirement d’en calculer un nouveau : par exemple les graphes possédant des références géographiques ou bien anatomiques comme dans le cas de graphes de connectivité fonctionnelle cérébrale. Ces layouts "naturels" peuvent néanmoins poser des problèmes comme le croisement inévitable des arêtes, et empêcher d’identifier visuellement des caractéristiques topologiques du graphe.

Une matrice (appelée parfois matrice d’adjacence ou matrice de proximité) indique les liaisons entre chaque paire de nœuds dans le graphe. Elle permet de mettre en évidence com-ment les nœuds sont adjacents, c’est-à-dire la façon dont ils sont connectés entre eux. Cette représentation a été introduite dans les années 60 parBertin (1973).

Le matrice d’adjacence d’un graphe G = (V, E) est définie par une matrice nxn D = (dij) où n est le nombre de nœuds dans G, V = {v1, ..., vn} et dij est le nombre d’arêtes entre vi et vj. S’il n’existe aucune arête (vi, vj) dans G, alors dij = 0. Si le graphe est non-orienté, la matrice d’adjacence est symétrique : DT = D.

Intuitivement, les matrices d’adjacence sont utiles pour visualiser efficacement des relations, mais pas pour étudier des corrélations entre entre les relations et les propriétés des nœuds du graphe : seuls les attributs sur les arêtes peuvent être représentés visuellement. Les avantages principaux des matrices sont (Heymann,2013) :

– pas d’occlusion visuelle, car les nœuds et les arêtes ne se recouvrent pas.

– efficacité de réalisation de tâches simples comme identifier le nœud le plus connecté, un lien entre deux nœuds ou un voisin commun entre deux nœuds. Cette efficacité est supérieure pour les matrices vis à vis des diagrammes node-link à partir de vingt nœuds (Ghoniem

et al.,2004).

– lisible pour des graphes grands et denses.

Les matrices sont peu adaptées aux graphes clairsemés, et surtout elles permettent difficilement de réaliser des tâches complexes comme le suivi d’un chemin entre deux nœuds (Ghoniem et al., 2004). Il est nécessaire de disposer d’un espace de visualisation suffisamment large pour les afficher en entier. Par ailleurs, une organisation aléatoire des nœuds dans la matrice ne permet

pas toujours la mise en évidence de motifs – par exemple des clusters –, et il est donc quasiment indispensable d’appliquer un algorithme permettent de réordonner par permutations successives les lignes et colonnes de la matrice avant de la visualiser. Ces inconvénients sont probablement la cause de la faible utilisation de la représentation matricielle par rapport aux diagrammes node-link.

Des représentations hybrides ont été développées pour essayer de bénéficier des avantages combinés des matrices et des diagrammes node-link. NodeTrix (Henry et al., 2007) répond à un problème spécifique de la visualisation des réseaux sociaux : les graphes sont localement clairsemés mais localement très denses, ce qui rend difficile leur analyse. La grande majorité des systèmes qui permettent la visualisation des réseaux sociaux proposent une représentation node-link, bien qu’elle soit uniquement adaptée à la visualisation de graphes clairsemés. NodeTrix permet d’intégrer le meilleur des deux représentations traditionnelles des graphes en utilisant les diagrammes node-link pour visualiser la structure globale du réseau, à l’intérieur duquel les matrices d’adjacence montrent les communautés. Un exemple de visualisation avec NodeTrix est donné dans la figure 3.9(Henry et al.,2007).

Figure 3.9 – Deux façons de visualiser les connexions entre nœuds dans une représentation combinant les matrices et les diagrammes node-link, avec le logiciel NodeTrix (Henry et al., 2007)

3.2.1.2 Représentation des attributs

Cette thèse s’intéresse à la visualisation de données hétérogènes et multidimensionnelles, ce sont donc à la fois la structures et les attributs du graphe qui doivent être explorés. Il existe différents types d’attributs à visualiser (Jusufi,2013) :

– Les attributs appartenant aux éléments du graphe : nœuds et arêtes,

– Les données dérivées calculées à partir des attributs sur les éléments du graphe, – Les propriétés topologiques du graphe, calculées à partir de la structure du graphe. Les correspondances couramment utilisées entre les variables de données d’un graphe et les variables visuelles appliquées sur les diagrammes node-link sont présentées dans le tableau 3.1 (Heymann, 2013). Pour Chen et al. (2012), l’utilisateur doit pouvoir encoder n’importe quel attribut des données comme une propriété visuelle, telle que la couleur, la taille, la transparence, le type de police... Un ensemble de ces propriétés encodées est appelé style visuel.

Variables de données Variables visuelles

nœud point

label du nœud texte à proximité du point correspondant arête segment de ligne ou de courbe attribut qualitatif couleur du point attribut quantitatif taille du point

Table 3.1 – Correspondances usuelles entre les variables de données d’un graphe et les variables visuelles appliquées (Heymann,2013)

Pour les graphes multivariés, les arêtes peuvent également être le support de la visualisation des attributs. Les glyphes permettent aussi de visualiser des attributs supplémentaires. Par exemple le logiciel PivotGraph (Wattenberg,2006) a été conçu pour les graphes multivariés. Il ne s’appuie pas sur l’étude de la topologie globale du graphe, mais positionne les nœuds sur une grille afin de se focaliser sur les relations les attributs des nœuds et leurs connexions, en jouant sur les tailles et les couleurs des éléments du graphes (nœuds et arêtes). Une visualisation avec le logiciel PivotGraph est présenté dans la figure3.10; les arêtes sont représentées par différentes formes, tailles et couleurs.

Figure 3.10 – Réseau de communication de salariés d’une entreprise. L’axe X représente les divisions de l’entreprise, et l’axe Y les bureaux géographiques. La division de la colonne la plus à gauche présente beaucoup plus de communications entre les bureaux que les autres. Visualisé avec PivotGraph (Wattenberg,2006)

3.2.1.3 Préparation des graphes

Des techniques de réduction de graphe permettent de simplifier les données en taille et en complexité. Il existe deux principales approches pour réduire un graphe (Von Landesberger

et al.,2011) :

– Filtrage : une méthode stochastique (sélection aléatoire) ou un algorithme déterministe (sélection sur les attributs ou les propriétés) peuvent être appliqués pour déterminer les éléments du graphe à enlever (nœuds ou arêtes).

– Agrégation : les éléments du graphe (nœuds ou arêtes) sont fusionnés afin de réduire la taille et/ou la complexité du graphe. L’agrégation va permettre de jouer sur les échelles de visualisation, et permettre une plus grande interactivité. La figure3.11illustre les niveaux d’agrégation d’un graphe qui peuvent être représentés par un graphe hiérarchique. Parfois l’agrégation peut simplement être une délimitation visuelle pour aider à appréhender la compréhension du graphe, comme montré sur la figure 3.15 (voir la sous-section 3.2.2

portant sur l’esthétique des graphes).

Le pré-traitement implique l’application d’un layout, qui indique l’agencement des nœuds dans l’espace. Les layouts existant pour la représentation node-link sont présentés dans la sous-section suivante.

Figure 3.11 – Structure conceptuelle d’un graphe ayant plusieurs niveaux d’agrégation ( Elm-qvist et al.,2008)