-1

是否可以使用坐标作为节点的布局来绘制网络对象?我不想将它们绘制在地图上,而只是根据它们的纬度/经度位置显示节点之间的物理距离。

数据借自:在 igraph r-package 中使用地理坐标作为顶点坐标

library(statnet)
df <- data.frame("from" = c("Bob", "Klaus", "Edith", "Liu"), 
                 "to" = c("Edith", "Edith", "Bob", "Klaus"))

meta <- data.frame("name" = c("Bob", "Klaus", "Edith", "Liu"), 
                   "lon" = c(-74.00714, 13.37699, 2.34120, 116.40708), 
                   "lat" = c(40.71455, 52.51607, 48.85693, 39.90469))

net<-as.network(df)

set.vertex.attribute(net, names(meta), meta)

4

1 回答 1

1

这比我想象的要琐碎得多!该解决方案与 igraph 中的解决方案非常相似。

除了上面的代码,下面这行代码将根据坐标绘制网络:

plot(net , coord = meta[,c(2,3)])

这对于距离较远的网络非常有效。如果您的网络节点相当接近,您可能需要指定适当的xlim参数ylim来获得良好的表示。对于这个例子,这不是必需的,但这就是它的样子(在我的情况下这是必要的)。

plot(net , 
     coord = meta[,c(2,3)], 
     ylim = c(-80,116), 
     xlim = c(39,54)
)
于 2020-07-08T00:16:46.347 回答