我可以个性化网络中节点(顶点)的位置吗?

时间:2016-12-18 00:21:14

标签: r igraph

我目前正在使用R中的`igraph'包进行一些社交网络分析,我想知道是否有办法个性化社交网络中节点的位置。

例如,使用以下玩具代码:

    library(igraph)
    edge <- cbind(c(1,1,1,2,2,3,3,3,4),c(2,3,4,3,4,1,2,4,2),c(1,1,1,1,1,1,1,1,1))
    vertex <- c(1,2,3,4)
    g <- graph.data.frame(edge, directed=FALSE, vertices=vertex)
    plot(g)

在这种情况下,与绘图空间相比,网络有点小。有没有办法可以增加节点之间的距离?另外,是否可以将节点定位在特定位置(例如(x,y))?

谢谢!

1 个答案:

答案 0 :(得分:0)

与@ user20650的评论一样 - 您可以将布局传递给plot函数

plot(g, layout=mylay)

如果你想操纵布局,最好的方法是先生成一些:

mylay <- layout.auto(g)

然后如果你打印mylay,你会发现它只是一对对列表(通常是两列矩阵,确切地说),其中这些对中的数字是节点的坐标。因此,如果要更改节点编号X的位置,则必须在布局中操作Xth对。您也可以自己生成整个布局。有关详情,请参阅此文档:http://igraph.org/r/doc/layout_.html