我有两个igraph
个对象,它们具有不同的颜色属性。
第一个图表中的顶点"A"
和"B"
为红色。
第二个图表中的顶点"AA"
和"BB"
为绿色。
加入两者后,不同的颜色会丢失。
library(igraph)
graph.1= graph.data.frame(data.frame(start=c("a", "b"), end=c("A", "B")))
V(graph.1)[name%in% c("A", "B")]$color= "red"
graph.2= graph.data.frame(data.frame(start=c("a", "b"), end=c("AA", "BB")))
V(graph.2)[name%in% c("AA", "BB")]$color= "green"
graph= graph.union.by.name(graph.1, graph.2)
plot(graph)
如何在加入时保留不同的颜色?
答案 0 :(得分:4)
igraph
不会丢失颜色,会将其存储在$color_1
和$color_2
中。我认为这是因为在一般情况下可能存在具有不同颜色的共同顶点。那你会做什么?
试试这个:
V(graph)$color <- ifelse(is.na(V(graph)$color_1),
V(graph)$color_2,V(graph)$color_1)
plot(graph)
BTW:你的代码没有为我运行。我不得不使用:
graph <- graph.union(graph.1, graph.2, byname=T)