Раскрасить края графика в igraph

Буду признателен за совет: я стремлюсь раскрасить края на графике с помощью пакета IGRAPH.

Это хорошо работает для большого графика, однако, когда я разбиваю график на 2 подграфа и кодирую их цветом, цвет ребер меняется (неожиданно).

точнее в качестве примера - у нас есть датафрейм:

el <- data.frame(Partner1=c(1, 3, 4, 5, 6), Partner2=c(2, 2, 5, 7, 7), TYPE=c("DEL", "DEL", "DUP", "TRA", "TRA"))

el$COLOR[el$TYPE=="DEL"] <- "red"

el$COLOR[el$TYPE=="DUP"] <- "green"

el$COLOR[el$TYPE=="INS"] <- "yellow"

el$COLOR[el$TYPE=="INV"] <- "brown"

el$COLOR[el$TYPE=="TRA"] <- "blue"

g <- graph_from_data_frame(d = el, directed = TRUE)

plot(g, edge.color=el$COLOR)

И вот разложение графа на 2 подграфа:

g_decompose <- decompose.graph(g)



plot(g_decompose[[1]], edge.color=el$COLOR) ## here the edges are red (that is fine)

plot(g_decompose[[2]], edge.color=el$COLOR) ## here the edges shall be blue and green, not red and green 

1 ответ

Я решил это с помощью кода R:

plot(g_decompose[[1]], edge.color=edge_attr(g_decompose[[1]])$COLOR)
plot(g_decompose[[2]], edge.color=edge_attr(g_decompose[[2]])$COLOR)
Другие вопросы по тегам