使用GGRAPHE绘制一个具有lat long空间坐标的图形

使用GGRAPHE绘制一个具有lat long空间坐标的图形,r,plot,geospatial,igraph,ggraph,R,Plot,Geospatial,Igraph,Ggraph,我用igraph创建了一个图,其中每个节点都有一个空间位置,分别是lat和long。我想使用ggraph来绘制这个网络,使用这些空间坐标来定义节点的位置/布局。有什么办法吗 我知道可以在igraph中执行此操作(请参见下面的可复制示例),但我更喜欢使用ggraph执行此操作,特别是因为我想在绘图中添加ggmap层 可复制示例 通过设置顶点的anX和Y属性,可以将坐标直接添加到igraph中的图形对象中ggraph将识别属性并相应地绘制顶点 V(g)$x<-lo[,1] V(g)$y<

我用
igraph
创建了一个图,其中每个节点都有一个空间位置,分别是
lat
long
。我想使用
ggraph
来绘制这个网络,使用这些空间坐标来定义节点的位置/布局。有什么办法吗

我知道可以在
igraph
中执行此操作(请参见下面的可复制示例),但我更喜欢使用
ggraph
执行此操作,特别是因为我想在绘图中添加
ggmap

可复制示例

通过设置顶点的an
X
Y
属性,可以将坐标直接添加到
igraph
中的图形对象中
ggraph
将识别属性并相应地绘制顶点

V(g)$x<-lo[,1]
V(g)$y<-lo[,2]

#plot
ggraph(g)+
  geom_edge_link()+
  geom_node_point()

V(g)$xThanks@Mateo!这比我想象的要简单。关于如何将
ggpraph
绘图与
ggmap
相结合的任何想法都没有尝试过。我的方法是将图形连同计算出的感兴趣的度量值一起转换为
data.frame
,并使用
OpenStreetMap
库中的
ggplot2
autoplot
。下面是一个例子:。希望对你有帮助,这非常有用,但是你知道如何在x和y轴上放置真实坐标吗?因为我刚刚得到一个网络范围。
# get lat long coordinates for the layout
  lo <- layout.norm(as.matrix(actors[, c("long","lat")]))

#plot
  plot.igraph(g, layout=lo, rescale=T, vertex.label= NA)
V(g)$x<-lo[,1]
V(g)$y<-lo[,2]

#plot
ggraph(g)+
  geom_edge_link()+
  geom_node_point()