R igraph - 保存布局?
R igraph - save layout?
我想知道是否可以 "save" 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
基本上,我能否以某种方式保存和导出 "layout" 信息?
在布局前用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")
igraph 布局只是一个具有 N 行和 2 列的矩阵,因此您可以保存该矩阵,稍后再将其加载回来。另一种选择是将矩阵的第一列分配给名为 x
的顶点属性,将第二列分配给名为 y
的 vettex 属性 - igraph 将在您绘制图形时使用此布局而不指定 layout
参数.
我想知道是否可以 "save" 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
基本上,我能否以某种方式保存和导出 "layout" 信息?
在布局前用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")
igraph 布局只是一个具有 N 行和 2 列的矩阵,因此您可以保存该矩阵,稍后再将其加载回来。另一种选择是将矩阵的第一列分配给名为 x
的顶点属性,将第二列分配给名为 y
的 vettex 属性 - igraph 将在您绘制图形时使用此布局而不指定 layout
参数.