首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ggraph中隐藏未连接节点

如何在ggraph中隐藏未连接节点
EN

Stack Overflow用户
提问于 2017-09-28 10:01:47
回答 1查看 962关注 0票数 2

给定以下示例代码,

代码语言:javascript
复制
library(tidyverse)
library(tidygraph)
library(ggraph)

reprex <- tibble(to = 1:10,
                  from = c(2:10, 1),
                  facet = rep(1:2, each = 5)) %>%
    as_tbl_graph()

reprex_plot <- reprex %>%
    ggraph() +
    geom_node_point() +
    geom_edge_link()

reprex_plot + facet_edges(~ facet)

如何隐藏没有边缘进入或退出节点的节点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-04 16:15:11

代码语言:javascript
复制
library(tidyverse)
library(tidygraph)
library(ggraph)

reprex2 <- tibble(to = 1:10,
                 from = c(2:10, 1)) %>%
    as_tbl_graph() %>%
    activate(nodes) %>%
    mutate(facet = rep(1:2, each = 5))

reprex_plot <- reprex2 %>%
    ggraph() +
    geom_node_point() +
    geom_edge_link()  +
    geom_node_label(aes(label = name)) +
    theme_graph() + 
    facet_nodes(~ facet)

reprex_plot

我可以理解您的方法,但tidygraphas_tbl_graph()的智能带来了困难。您传递的本质上是一个边缘列表,其中facet是一个只适用于边缘的变量。您可以通过执行reprex %>% activate(nodes) %>% as_tibble()来验证这一点,以确保facet列与节点没有关联。

我的解决方案是在节点上显式地构造facet列,然后使用facet_nodes(),这是facet_edges()的逆序。

如果终端节点都在面板中,则绘制边缘。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46466351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档