假设我制作了这张图表:
library(ggraph)
library(igraph)
my_chart <- graph_from_data_frame(highschool)
set.seed(2017)
ggraph(my_chart, layout = "nicely") + geom_edge_link() + geom_node_point()
如何从该图表中检索节点的 x 和 y 坐标?
使用ggplot_build
library(ggraph)
library(igraph)
my_chart <- graph_from_data_frame(highschool)
set.seed(2017)
p <- ggraph(my_chart, layout = "nicely") + geom_edge_link() + geom_node_point()
pg <- ggplot_build(p)
lines are in pg[[1]][[1]]
ggplot(data= pg[[1]][[1]])+
geom_line(aes(x=x,y=y, group=group), size = 0.1)
while points are in pg[[1]][[2]]
ggplot(data= pg[[1]][[1]])+
geom_line(aes(x=x,y=y, group=group), size = 0.1)+
geom_point(data= pg[[1]][[2]], aes(x=x,y=y, group=group), color = "red")
您可以使用layout_
igraph 包中的一些功能。它们返回一个带有顶点坐标的矩阵。