【问题标题】:creating a bipartite graph in igraph在 igraph 中创建二分图
【发布时间】:2017-09-19 16:21:41
【问题描述】:

我正在尝试使用 igraph 创建二分图,但收到一条错误消息,提示我需要提供“类型”参数。如果两边的类型相同,我该怎么做?即我希望每一侧都有一个“关闭”、“低”等节点。我在下面给出了一些示例代码。

from <- c('off','low','medium','low','strong','off','low')
to <- c('medium','low','strong','off','low','off','low' )
frequency <- c(20,12,5,1,41,40,2)
df <- as.matrix(cbind (from, to))

【问题讨论】:

  • 能否请您附上您用来尝试制作图表的语句,即使它不起作用。这将有助于指定您要执行的操作。
  • 另外,你的意思是低 -> 低两次?

标签: r social-networking igraph


【解决方案1】:

定义节点的类型,根据它们在两个组中的哪一个。此外,您不能有两个具有相同 ID 的节点。但是,您可以在多个节点上放置相同的标签。我认为这就是你想要的,所以这里有一个图,它有两个标记为“关闭”的节点,两个标记为“低”的节点,等等。默认布局没有强调我认为你想要的二分性质,所以我提供了一个不同的布局。这是你想要的吗?

EL = c(1,7,2,6,3,8,2,5,4,6,1,5,2,6)
types = rep(0:1, each=4)
g = make_bipartite_graph(types, EL, directed = TRUE)
g = set_vertex_attr(g, "label", value = rep(c('off','low','medium', 'strong'), 2))
LO = matrix(c(1,1,1,2,1,3,1,4,2,1,2,2,2,3,2,4), 
    nrow=8, ncol=2, byrow=TRUE)
plot(g, layout = LO)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    • 2018-11-25
    • 1970-01-01
    相关资源
    最近更新 更多