networking - and - network analysis in r
¿Cómo alargo los bordes en un diagrama de red de igraph(layout=fruchterman.reingold)? (2)
Si el algoritmo layout.fruchterman.reingold
aún no da lo que desea al ajustar los parámetros, simplemente haga lo siguiente. Cada diseño devuelve un conjunto de coordenadas, con la coordenada xey en la primera y segunda columna, respectivamente. Puede aplicar cualquier transformación que desee aquí, y si simplemente desea escalarla, simplemente use
L = layout.fruchterman.reingold(G)*s; #Scaling factor s
Por supuesto, también son posibles más transformaciones sofisticadas. Solo para el registro, también puedes editar el diseño manualmente con tu mouse usando tkplot(G, layout=L)
. Puede recuperar las coordenadas a través de L = tkplot.getcoords(1)
.
Intentando hacer un diagrama de red en R. ¿Cómo alargo los bordes en un gráfico de red usando IGraph?
De hecho, quiero usar el diseño fruchterman-reingold. ¿Hay alguna forma en que pueda hacer que ese algoritmo basado en la fuerza sea "más elástico" para que mis vértices estén más separados?
Gracias.
Puede controlar el algoritmo de Fruchterman-Reingold utilizando la función layout.fruchterman.reingold
. ver: help(''layout.fruchterman.reingold'')
. Una configuración que uso a menudo y que te permite un poco más de espacio es:
l <- layout.fruchterman.reingold(g,niter=500,area=vcount(g)^2.3,repulserad=vcount(g)^2.8)
plot(g,layout=l)
donde g
es tu objeto gráfico Lo mejor es simplemente probar diferentes valores de estos parámetros para su gráfico y ver qué funciona. Especialmente repulserad
influye en el espaciado en un gráfico. El valor predeterminado es el cuadrado del número de nodos, por lo que los valores más altos deberían obtener gráficos más espaciados.