假设我制作了这张图表:
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坐标?
答案 0 :(得分:1)
使用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")
答案 1 :(得分:0)
您可以使用igraph包中的一些layout_
函数。它们返回一个带顶点坐标的矩阵。