Layout di rete in igraph
Il pacchetto igraph offre diversi algoritmi di layout integrati per la visualizzazione delle reti. A seconda delle dimensioni della rete, alcuni layout possono comunicare meglio la sua struttura. Idealmente, il layout migliore è quello che minimizza il numero di archi che si incrociano. In questo esercizio esplorerai solo alcuni dei tanti layout predefiniti. Rieseguire il codice per ciascun grafico porta a una versione leggermente diversa dello stesso tipo di layout. Farlo più volte può aiutarti a trovare la visualizzazione più efficace per la tua rete.
Questo esercizio fa parte del corso
Analisi delle reti in R
Istruzioni dell'esercizio
- Nella funzione plot, cambia l’argomento
layoutinlayout_in_circle()per ottenere una rete disposta in cerchio. - Nella funzione plot, cambia l’argomento
layoutinlayout_with_fr()per ottenere una rete con il layout di Fruchterman-Reingold. - Puoi anche specificare il layout fornendo una matrice di coordinate (x, y) per ogni vertice. Qui usi la funzione
layout_as_tree()per generare la matricemdi coordinate. Poi passamal parametrolayoutinplot()per tracciare il grafo. - Scegliere il layout giusto può essere disorientante. Per fortuna
igraphha la funzionelayout_nicely()che prova a scegliere il layout più adatto per un dato oggetto grafo. Usa questa funzione per produrre la matricem1e visualizza la rete usando queste coordinate.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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 = ___)