19 Interactive Networks
19.1 visNetwork (interactive)
visNetwork
est une puissante implémentation via R de la librairie JavaScript vis.js
; il utilise tidyverse
: Documentation VisNetwork.
–> Le Vignette a des exemples clairement élaborés disponibles sur : https://cran.r-project.org/web/packages/visNetwork/vignettes/Introduction-to-visNetwork.html
La documentation visNetwork
ne fournit pas le même niveau d’explication que la documentation original, il est donc intéressant de consulter la documentation de vis.js
: http://visjs.org/index.html En particulier, les exemples interactifs sont particulièrement utiles pour essayer différentes options. Par exemple, vous pouvez essayer des options concrètes avec le network configurator.
19.1.1 L’exemple service minimum
Créer un node data frame avec au moins une colonne (appelée id
) contenant le nom des noeuds :
# nodes
boroughs <- data.frame(id = c("The Bronx", "Manhattan", "Queens", "Brooklyn", "Staten Island"))
Créer un autre dataframe contenant les arêtes avec pour colonnes from
et to
.
# edges
connections <- data.frame(from = c("The Bronx", "The Bronx", "Queens", "Queens", "Manhattan", "Brooklyn"), to = c("Manhattan", "Queens", "Brooklyn", "Manhattan", "Brooklyn", "Staten Island"))
Dessinons le graphe avec visNetwork(nodes, edges)
Tu peux ajouter des labels en ajoutant l’argument label à la colonne nodes
:
19.1.2 Performance
visNetwork
peut être très lent.
%>% visPhysics(stabilization = FALSE)
commence l’affichage avant que la stabilisation soit complète, ce qui accélère réellement les choses mais vous permet de voir ce qui se passe en temps réel. Cela fait une grande différence dans l’expérience utilisateur. (C’est aussi amusant de regarder la stabilisation du graphe). D’autres astuces de performance sont décrites ici.
19.1.3 Des outils de configuration utiles
%>% visConfigure(enabled = TRUE)
est un outil utile pour configurer les options de manière interactive. Une fois terminé, cliquez sur “generate options” pour que le code reproduise les paramètres. Plus d’info ici (Notez que changer les options puis les visualiser nécessite beaucoup le défilement vertical dans le navigateur. Je ne suis pas sûr que quelque chose peut être fait à ce sujet. Si vous avez une solution, n’hésitez pas à partager !)
19.1.4 Colorer les noeuds
Ajouter une colonne avec les vrais noms des couleurs dans le dataframe des noeuds :
19.1.5 Noeuds orientés (flèches)
19.1.6 Désactiver le mouvement du graphe
C’est beaucoup plus rapide sans la simulation. Le nodes sont placés au hasard et peuvent être déplacés sans affecter le reste du graphe, au moins dans le cas des petits graphes.
19.1.7 Griser les noeuds loins de celui selectionné (par définition du degré)
(Cliquez sur un noeud pour voir l’effet)
with