我想知道是否有可能“保存”igraph网络的布局,以便其他人能够复制相同的图?目前,Fruchterman Reingold算法总是创建一个新的网络.
par(mfrow=c(1,2))
g <- erdos.renyi.game(100, 1/100)
V(g)$size<-seq(0.05,5,0.05)
layout <- layout.fruchterman.reingold(g)
plot(g,
layout=layout,
vertex.label=NA)
g
所以从本质上说,我可以以某种方式保存和导出“布局”信息吗?
发布于 2016-12-02 08:36:27
在布局之前,用set.seed()
设置随机数生成器种子,例如:
library(igraph)
g <- erdos.renyi.game(100, 1/100)
V(g)$size<-seq(0.05,5,0.05)
par(mfrow = c(2,2))
layout <- layout.fruchterman.reingold(g)
plot(g, layout=layout, vertex.label = NA, main = "No seed 1")
layout <- layout.fruchterman.reingold(g)
plot(g, layout=layout, vertex.label = NA, main = "No seed 2")
set.seed(1)
layout <- layout.fruchterman.reingold(g)
plot(g, layout=layout, vertex.label = NA, main = "With seed 1")
set.seed(1)
layout <- layout.fruchterman.reingold(g)
plot(g, layout=layout, vertex.label = NA, main = "With seed 2")
发布于 2016-12-02 14:26:31
it布局只是一个有N行和2列的矩阵,所以您可以保存矩阵,然后稍后再加载它。另一种选择是将矩阵的第一列分配给名为x
的顶点属性,而将第二列分配给名为y
的vettex属性,然后当您在没有指定layout
参数的情况下绘制该图时将使用此布局。
https://stackoverflow.com/questions/40927099
复制相似问题