Layout-uri de rețea în igraph
Pachetul igraph oferă mai mulți algoritmi de layout predefiniti pentru vizualizarea rețelelor. În funcție de dimensiunea rețelei, anumite layout-uri pot comunica mai eficient structura acesteia. În mod ideal, cel mai bun layout este cel care minimizează numărul de muchii care se intersectează în rețea. În acest exercițiu vei explora câțiva dintre numeroșii algoritmi de layout disponibili implicit. Rulând din nou codul pentru fiecare grafic vei obține o versiune ușor diferită a aceluiași tip de layout. Repetând acest proces de câteva ori, poți găsi cea mai clară vizualizare pentru rețeaua ta.
Acest exercițiu face parte din cursul
Analiza rețelelor în R
Instrucțiuni pentru exercițiu
- În funcția plot, modifică argumentul
layoutlalayout_in_circle()pentru a genera o rețea circulară. - În funcția plot, modifică argumentul
layoutlalayout_with_fr()pentru a genera o rețea cu layout-ul Fruchterman-Reingold. - Poți specifica layout-ul și furnizând o matrice de coordonate (x, y) pentru fiecare nod. Folosește funcția
layout_as_tree()pentru a genera matriceamde coordonate, apoi transmitemparametruluilayoutdinplot()pentru a reprezenta grafic rețeaua. - Alegerea unui layout potrivit poate fi dificilă. Din fericire,
igraphinclude funcțialayout_nicely(), care încearcă să selecteze automat cel mai adecvat layout pentru un anumit obiect graf. Folosește această funcție pentru a genera matriceam1și reprezintă rețeaua folosind aceste coordonate.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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 = ___)