Začněte nyníZačněte zdarma

Rozvržení sítí v igraph

Balíček igraph nabízí několik vestavěných algoritmů pro rozvržení sítí při jejich vizualizaci. V závislosti na velikosti dané sítě mohou různá rozvržení lépe vystihovat její strukturu. Ideální rozvržení je takové, které minimalizuje počet překřížených hran v síti. V tomto cvičení prozkoumáš několik z mnoha dostupných výchozích algoritmů rozvržení. Opakované spuštění kódu pro každý graf pokaždé vygeneruje mírně odlišnou verzi stejného typu rozvržení – několik pokusů ti může pomoci najít nejlépe vypadající vizualizaci pro tvoji síť.

Toto cvičení je součástí kurzu

Analýza sítí v R

Zobrazit kurz

Pokyny k cvičení

  • Ve funkci plot změň argument layout na layout_in_circle(), aby se síť zobrazila v kruhovém rozvržení.
  • Ve funkci plot změň argument layout na layout_with_fr(), aby se síť zobrazila s rozvržením Fruchterman-Reingold.
  • Rozvržení lze také zadat přímo jako matici souřadnic (x, y) pro každý vrchol. Použij funkci layout_as_tree() k vygenerování matice m se souřadnicemi a poté předej m parametru layout ve funkci plot().
  • Výběr správného rozvržení může být matoucí. igraph naštěstí nabízí funkci layout_nicely(), která se sama pokusí zvolit nejvhodnější algoritmus rozvržení pro daný objekt grafu. Pomocí této funkce vytvoř matici m1 a vykresli síť s použitím těchto souřadnic.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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 = ___)
Upravit a spustit kód