是否可以从网络图中获取坐标?

Is it possible to get coordinates from network plots?

我想重现具有相同(或接近)布局的网络图。我知道 igraph 有 tkplot.getcoords() 函数。我想 copy/get/set.根据 gplot 的结果设置一组顶点坐标,这是 SNA 包的绘图函数。

我找过可以执行此操作的地方,但没有找到任何东西。任何帮助将不胜感激。

编辑:添加了一个可重现的例子。我希望所有 9 个地块都具有相同的布局而不使用 igraph::tkplot.

library(statnet)

set.seed(101)
mydata <- data.frame(from = sample(1:15,10,replace = T),
          to = sample(1:5,10,replace = T))



par(mfrow=c(3,3), mar=c(1,1,1,1))
k <- 1:9
for (i in 1:9) {
  gplot(network(mydata),main = paste('Iteration',k[i])) 
}

将绘图分配给一个对象,然后将其传递给 gplot 内的参数 coords =

library(statnet)

set.seed(101)
mydata <- data.frame(from = sample(1:15,10,replace = T),
                     to = sample(1:5,10,replace = T))


l <- gplot(network(mydata))
par(mfrow=c(3,3), mar=c(1,1,1,1))
k <- 1:9
for (i in 1:9) {
  gplot(network(mydata),main = paste('Iteration',k[i]), coord = l) 
}

如果你检查 'l' 你可以看到它是一个 x, y 坐标矩阵。

> l
               x          y
 [1,] -0.4123840 -13.450699
 [2,]  6.1177559  -8.707917
 [3,]  0.5330693 -10.061580
 [4,] -1.5359554 -11.325280
 [5,]  2.7944671 -10.988359
 [6,]  5.1480964 -10.557675
 [7,] -1.7695806  -5.636370
 [8,]  2.2053996  -4.643251
 [9,]  1.8990660 -13.347872
[10,]  2.1035474  -8.824222
[11,] -3.3637096 -10.181900