我目前正在使用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))?
谢谢!
答案 0 :(得分:0)
与@ user20650的评论一样 - 您可以将布局传递给plot
函数
plot(g, layout=mylay)
如果你想操纵布局,最好的方法是先生成一些:
mylay <- layout.auto(g)
然后如果你打印mylay
,你会发现它只是一对对列表(通常是两列矩阵,确切地说),其中这些对中的数字是节点的坐标。因此,如果要更改节点编号X的位置,则必须在布局中操作Xth对。您也可以自己生成整个布局。有关详情,请参阅此文档:http://igraph.org/r/doc/layout_.html