Layouts de redes en igraph
El paquete igraph incluye varios algoritmos de layout integrados para visualizar redes. Según el tamaño de la red, algunos layouts pueden comunicar mejor su estructura. Idealmente, el mejor layout es el que minimiza el número de aristas que se cruzan. En este ejercicio explorarás solo unos pocos de los muchos layouts predeterminados. Volver a ejecutar el código de cada gráfico generará una versión ligeramente distinta del mismo tipo de layout. Hacerlo varias veces puede ayudarte a encontrar la visualización que mejor se vea para tu red.
Este ejercicio forma parte del curso
Análisis de redes en R
Instrucciones del ejercicio
- En la función plot, cambia el argumento
layoutalayout_in_circle()para generar una red en círculo. - En la función plot, cambia el argumento
layoutalayout_with_fr()para generar una red con el layout de Fruchterman-Reingold. - También puedes fijar el layout proporcionando una matriz de coordenadas (x, y) para cada vértice. Aquí usarás la función
layout_as_tree()para generar la matrizmde coordenadas. Luego, pasamal argumentolayoutenplot()para dibujar. - Elegir el layout adecuado puede ser desconcertante. Por suerte,
igraphtiene una función,layout_nicely(), que intenta escoger el layout más apropiado para un grafo dado. Usa esta función para producir la matrizm1y dibuja la red usando esas coordenadas.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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 = ___)