ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • În funcția plot, modifică argumentul layout la layout_in_circle() pentru a genera o rețea circulară.
  • În funcția plot, modifică argumentul layout la layout_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 matricea m de coordonate, apoi transmite m parametrului layout din plot() pentru a reprezenta grafic rețeaua.
  • Alegerea unui layout potrivit poate fi dificilă. Din fericire, igraph include funcția layout_nicely(), care încearcă să selecteze automat cel mai adecvat layout pentru un anumit obiect graf. Folosește această funcție pentru a genera matricea m1 ș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 = ___)
Editează și rulează codul