ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Na função plot, altere o argumento layout para layout_in_circle() para produzir uma rede em círculo.
  • Na função plot, altere o argumento layout para layout_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 matriz m de coordenadas. Depois, passe m para o argumento layout em plot() para desenhar.
  • Escolher um layout adequado pode ser confuso. Felizmente, o igraph tem a função layout_nicely() que tenta escolher a função de layout mais apropriada para um dado objeto grafo. Use essa função para produzir a matriz m1 e 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 = ___)
Editar e executar o código