Dispositions de réseau avec igraph
Le package igraph propose plusieurs algorithmes de disposition intégrés pour la visualisation de réseaux. Selon la taille du réseau, certaines dispositions communiquent mieux sa structure. Idéalement, la meilleure disposition est celle qui minimise le nombre d’arêtes qui se croisent. Dans cet exercice, vous allez explorer quelques-unes des nombreuses dispositions par défaut. Réexécuter le code pour chaque tracé donnera une version légèrement différente du même type de disposition. Le faire plusieurs fois peut vous aider à trouver la visualisation la plus esthétique pour votre réseau.
Cet exercice fait partie du cours
Analyse de réseaux avec R
Instructions
- Dans la fonction de tracé, remplacez l’argument
layoutparlayout_in_circle()pour produire un réseau en cercle. - Dans la fonction de tracé, remplacez l’argument
layoutparlayout_with_fr()pour produire un réseau avec la disposition de Fruchterman-Reingold. - Vous pouvez aussi imposer la disposition en fournissant une matrice de coordonnées (x, y) pour chaque sommet. Ici, utilisez la fonction
layout_as_tree()pour générer la matricemde coordonnées. Passez ensuitemà l’argumentlayoutdeplot()pour tracer. - Choisir une bonne disposition peut être déroutant. Heureusement,
igraphpropose la fonctionlayout_nicely()qui essaie de sélectionner la disposition la plus appropriée pour un graphe donné. Utilisez cette fonction pour produire la matricem1et tracez le réseau avec ces coordonnées.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
library(igraph)
# Plot the graph object g1 in a circle layout
plot(g1, vertex.label.color = "black", layout = ___(g1))
# Plot the graph object g1 in a Fruchterman-Reingold layout
plot(g1, vertex.label.color = "black", layout = ___(g1))
# Plot the graph object g1 in a Tree layout
m <- ___(g1)
plot(g1, vertex.label.color = "black", layout = m)
# Plot the graph object g1 using igraph's chosen layout
___ <- layout_nicely(___)
plot(___, vertex.label.color = "black", layout = ___)