【问题标题】:Igraph package R issue with layout_on_gridIgraph 包 R 问题与 layout_on_grid
【发布时间】:2016-06-19 01:09:31
【问题描述】:

我正在尝试使用 layout_on_grid 绘制图表并接收消息

警告消息:在 if (axes) { 中:条件长度 > 1 并且 只会使用第一个元素

它不仅给出警告,而且不应用预期的布局。

从图表本身来看,这似乎不是问题

library(igraph)

rG <- erdos.renyi.game(25,0.2)
plot(rG)

我们可以看到

但是对于布局,警告。

plot(rG, layout_on_grid(rG, dim=2))

我已经测试了有向和无向边以及具有空权重或正权重的边。

布局在这里工作

el <- matrix(nc=3, byrow=TRUE,
             c(1,2,0, 1,3,2, 1,4,1, 2,3,0, 2,5,5, 2,6,2, 5,2,1, 3,4,1,
               3,7,1, 4,3,0, 4,7,2, 5,6,2, 5,8,8, 6,3,2, 6,7,1, 6,9,1,
               6,4,3, 8,6,1, 8,9,1, 7,10,4) )
g <- add_edges(make_empty_graph(10), t(el[,1:2]), weight=el[,3])
plot(g)

plot(g, layout=layout_on_grid(g, width = 4))

我在这里做错了什么?

【问题讨论】:

  • 任何引发警告的例子?这两个例子都有效。
  • 对不起 :) plot(rG, layout_on_grid(rG, dim=2))
  • plot(rG, layout=layout_on_grid(rG, dim=2))? plot.igraph 的第二个参数是 axes - 所以你实际上是给它一个矩阵,它需要一个逻辑 TRUE/FALSE 值...
  • @lukeA 感谢您指出这一点。多么缺乏我的关注。我必须删除这个愚蠢的问题。我只是没有正确设置参数。
  • @lukeA 所以最好将您的评论移至答案状态,不是吗?

标签: r plot graph igraph


【解决方案1】:

plot.igraph 的第二个参数是axes。您实际上是在给它一个矩阵,它需要一个逻辑 TRUE/FALSE 值。因此它使用了矩阵的第一个值,将其强制为布尔值并发出警告。

添加layout 参数后,它将按预期工作:

plot(rG, layout=layout_on_grid(rG, dim=2))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多