У меня есть сеть igraph, которую я хочу раскрасить с помощью RColorBrewer.Вершины имеют атрибут «сектор», который я хочу использовать для их окраски.Для этого я определил цветовую палитру на основе секторов:
color.range <- brewer.pal(nlevels(as.factor(V(g)$sector)), name = "Dark2")
V(g)$color <- color.range[as.factor(V(g)$sector)]
Когда я строю свой график, цвета легенды не соответствуют информации в атрибуте "сектор" моих вершин:
plot.igraph(g,
vertex.label = ifelse(V(g)$indegree > 5, V(g)$sector, NA),
vertex.label.family = "Arial",
vertex.label.color = "black",
vertex.label.cex = 0.5,
vertex.frame.color = NA,
vertex.color = V(g)$color,
vertex.size = 3,
layout = layout.fruchterman.reingold,
edge.arrow.mode = 1,
edge.arrow.size = 0.2)
legend("topleft",
legend = levels(as.factor(V(g)$sector)),
col = levels(as.factor(V(g)$color)),
pch = 19,
cex = 0.8,
title = "",
bg="transparent",
bty = "n")
На графике я вижу категории некоторых вершин высокой степени и сравнивая их с легендой, цвета не совпадают: пример графика, где цвета на графике не соответствуют легенде
Мой вопрос: как я могу определить цветовой диапазон, который будет фактически соответствовать моим категориям секторов, ИЛИ как я могу создать легенду, которая правильно представляет цвета.К сожалению, я не знаю, в чём проблема.