微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

igraph ggraph r中的颜色节点

如何解决igraph ggraph r中的颜色节点

我想根据原始数据框中的属性为图的节点着色。但是我认为我还没有“实现”这个审美变量。

有效的示例:

library(dplyr)
library(igraph)
library(ggraph)

data <-
  tibble(
    from = c("a","a","b","c"),to = c(1,2,3,1,4,2),type = c("X","Y","X","X")
  )

graph <-
  graph_from_data_frame(data)

ggraph(graph,layout = "fr") +
  geom_node_point() +
  geom_edge_link() 

我想要类似geom_node_point(aes(color = type))之类的东西,但是还没有在图形中使类型可查找吗?

解决方法

这里的问题是,您将type列添加为边缘属性,而geom_node_point需要一个顶点属性(请参见?graph_from_data_frame其他列被视为边缘属性属性。)。 另一个问题是type与任一节点列都不相同(例如a与类型X以及Y也相关,节点{{1}也是如此}。

要解决第一个问题,您可以在2函数的vertices参数中添加其他顶点信息。

解决这两个问题的最简单解决方案是在创建图形之后添加type属性:

graph_from_data_frame

data <- tibble( from = c("a","a","b","c"),to = c(1,2,3,1,4,2) ) graph <- graph_from_data_frame(data) V(graph)$type <- bipartite.mapping(graph)$type 函数将bipartite.mappingTRUE一致地添加到不同类型的每个顶点。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。