domingo, 29 de abril de 2012

Multigrafos con Igraph


Si una de sus preocupaciones es como hacer multigrafos con la librería Igraph de R, no se preocupen más, les he encontrado la solución.

Tal vez podríamos designar esta representación como un multidigrafo ya que hay varias líneas entre vértices (multígrafo) y estas están dirigidas (dígrafo), aunque realmente lo que se está haciendo es  transformar un digrafo como multigrado para representar las dos direcciones separadamente (véase: Elementos de Matemática Discreta. UNED).

Aquí lo tenemos:




library(igraph)
#Los datos
g<-graph(c(0,1,0,2,2,0,2,1,3,0,3,1,3,2,4,0,4,1),n=5)
#Definimos las propiedades como curvatura o, también podría ser FALSE, solo que no podriamos ajustar la curvatura.
 
E(g)$curved <- 0
#Y de los que nos interesen le damos curvatura
E(g, P=c(0,2,2,0))$curved <- 0.2
#Et voila!
 
plot(g,layout=layout.circle, main="Multigrafo")
Created by Pretty R at inside-R.org

No hay comentarios: