CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Dans la fonction de tracé, remplacez l’argument layout par layout_in_circle() pour produire un réseau en cercle.
  • Dans la fonction de tracé, remplacez l’argument layout par layout_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 matrice m de coordonnées. Passez ensuite m à l’argument layout de plot() pour tracer.
  • Choisir une bonne disposition peut être déroutant. Heureusement, igraph propose la fonction layout_nicely() qui essaie de sélectionner la disposition la plus appropriée pour un graphe donné. Utilisez cette fonction pour produire la matrice m1 et 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 = ___)
Modifier et exécuter le code