我试图绘制一个二分图,但有两列;函数手册指出,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()发布于 2018-09-24 14:55:03
看起来,layout_as_bipartite只处理行,而不是列,但是只修改结果布局很容易。布局只是节点的X坐标,因此要从行更改为列,只需切换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])

https://stackoverflow.com/questions/52472976
复制相似问题