Inizia subitoInizia gratis

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

Visualizza corso

Istruzioni dell'esercizio

  • Nella funzione plot, cambia l’argomento layout in layout_in_circle() per ottenere una rete disposta in cerchio.
  • Nella funzione plot, cambia l’argomento layout in layout_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 matrice m di coordinate. Poi passa m al parametro layout in plot() per tracciare il grafo.
  • Scegliere il layout giusto può essere disorientante. Per fortuna igraph ha la funzione layout_nicely() che prova a scegliere il layout più adatto per un dato oggetto grafo. Usa questa funzione per produrre la matrice m1 e 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 = ___)
Modifica ed esegui il codice