与igraph的两列二分式布局

时间:2018-09-24 05:09:18

标签: r igraph

我试图绘制一个二部图,但是有两列;该功能手册指出layout_as_bipartite()“在二部图的简单两行(或列)布局中最小化边缘交叉”。 尝试该示例,我只能得到两个行图:

library(igraph)
library(dplyr)
# Random bipartite graph
inc <- matrix(sample(0:1, 50, replace = TRUE, prob=c(2,1)), 10, 5)
g <- graph_from_incidence_matrix(inc)
plot(g, layout = layout_as_bipartite,
     vertex.color=c("green","cyan")[V(g)$type+1])

# Two columns
g %>%
  add_layout_(as_bipartite()) %>%
  plot()

1 个答案:

答案 0 :(得分:2)

看来layout_as_bipartite仅行,而不行,但是很容易修改结果布局。布局只是节点的X-Y坐标,因此要从行更改为列,只需切换X和Y。

LO = layout_as_bipartite(g)
LO = LO[,c(2,1)]
plot(g, layout = LO, vertex.color=c("green","cyan")[V(g)$type+1])

Bipartite with Columns