【问题标题】:Retrieving node coordinates from ggraph network chart从 ggraph 网络图中检索节点坐标
【发布时间】:2017-09-26 01:02:20
【问题描述】:

假设我制作了这张图表:

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

【问题讨论】:

    标签: r igraph ggraph


    【解决方案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")
    

    【讨论】:

      【解决方案2】:

      您可以使用 igraph 包中的一些 layout_ 函数。它们返回一个带有顶点坐标的矩阵。

      【讨论】:

        猜你喜欢
        • 2018-07-11
        • 1970-01-01
        • 1970-01-01
        • 2023-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-13
        相关资源
        最近更新 更多