Layouts de rede no igraph
O pacote igraph fornece vários algoritmos de layout incorporados para visualização de redes. Dependendo do tamanho da rede, layouts diferentes podem comunicar melhor a estrutura. Idealmente, o melhor layout é aquele que minimiza o número de arestas que se cruzam na rede. Neste exercício, você vai explorar apenas alguns dos muitos algoritmos de layout padrão. Reexecutar o código para cada gráfico gera uma versão ligeiramente diferente do mesmo tipo de layout. Fazer isso algumas vezes pode ajudar a encontrar a visualização mais bonita para sua rede.
Este exercício faz parte do curso
Network Analysis in R
Instruções do exercício
- Na função plot, altere o argumento
layoutparalayout_in_circle()para produzir uma rede em círculo. - Na função plot, altere o argumento
layoutparalayout_with_fr()para produzir uma rede com o layout de Fruchterman-Reingold. - Você também pode estipular o layout fornecendo uma matriz de coordenadas (x, y) para cada vértice. Aqui você usa a função
layout_as_tree()para gerar a matrizmde coordenadas. Depois, passempara o argumentolayoutemplot()para desenhar. - Escolher um layout adequado pode ser confuso. Felizmente, o
igraphtem a funçãolayout_nicely()que tenta escolher a função de layout mais apropriada para um dado objeto grafo. Use essa função para produzir a matrizm1e desenhe a rede usando essas coordenadas.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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 = ___)