0

假设我制作了这张图表:

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 坐标?

4

2 回答 2

2

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

在此处输入图像描述

于 2017-09-25T15:39:53.523 回答
0

您可以使用layout_igraph 包中的一些功能。它们返回一个带有顶点坐标的矩阵。

于 2017-09-25T17:02:20.783 回答