使用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()