用3层(三方)igraph

时间:2015-05-31 18:33:13

标签: r igraph

igraph中已有一个关于三方图的主题,但是他们使用layout.sugiyama的方式对我来说并不好。我想对节点强加一个订单。实际上,我想想象三边图的边缘交叉。假设我有一个三部分图,每列有3个节点。我将只从每个节点出来一条边。 6个边缘可以是例如(A-> E,B-> F,C-> D,D-> H,E-> G,F-> I)。这样的事情:

      A         D         G         
      B         E         H
      C         F         I

我怎么能用igraph做到这一点?正如我所说,我想看到交叉边缘。谢谢。

1 个答案:

答案 0 :(得分:2)

例如,你可以这样做:

library(igraph)
coords <- matrix(c(rep(1:3, each = 3), rep(3:1, 3)), 
                 ncol = 2, 
                 dimnames = list(LETTERS[1:9], c("x", "y")))
g <- graph.formula(A--E, B--F, C--D, D-- H, E--G, F--I)
plot(g, layout = coords[V(g)$name, ])

enter image description here