【问题标题】:igraph: Specify weights in a layout algorithmigraph:在布局算法中指定权重
【发布时间】:2015-11-05 17:35:06
【问题描述】:

我发现多个帖子(例如 herehere)说明了如何通过添加边缘权重来修改布局。

当我这样做的时候

require(igraph)

g <- graph.ring(10)

plot(g)

set.seed(28100)
E(g)$weight <- sample(1:10, 10, replace = TRUE)
E(g)$weight 
# [1] 4 3 4 6 2 9 5 2 9 7
l <- layout_with_fr(g, weights=E(g)$weight)

plot(g, layout=l)

R version 3.2.2igraph version 1.0.1 我得到了完全相同的布局。相反,我希望获得的是具有较高(较低)权重的边缘较短(较长)的布局。换句话说,由具有较高权重的边连接的节点比由低权重边连接的节点彼此更接近。

我做错了吗?

【问题讨论】:

  • 运行代码时布局略有变化。您在寻找什么行为/布局?请详细说明。 R version 3.2.0, graph version 1.0.1

标签: r igraph


【解决方案1】:

在新的 Fruchterman-Reingold 布局实现(从 igraph 1.0.0 开始)中存在/曾经存在一个错误,导致它忽略了权重。这在开发版本中有already been fixed,但似乎这个版本还没有发布。您可以使用 devtools 包从 Github 安装开发版本:

devtools::install_github("gaborcsardi/pkgconfig")
devtools::install_github("igraph/rigraph")

【讨论】:

  • 确实,这是一个错误。
猜你喜欢
  • 2012-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
  • 2011-06-26
相关资源
最近更新 更多