У меня есть ненаправленная сеть из 300 узлов, построенная на основе двоичной матрицы смежности. 50 узлов помечены как minority
, а остальные как majority
. Я хочу установить цвета ребер (и атрибуты) на основе узлов, которые они соединяют: within.mino
, within.majo
и between.minomajo
.
Я видел способы окрашивания краев на основе одного из узлов, таких как this , но это не моя проблема. Я также попробовал это решение , но не смог приспособить его к моей проблеме.
Вот минимальный воспроизводимый пример:
library(igraph)
# making the binary matrix
set.seed(10)
m.non_sym <- matrix(sample(0:1, 7, replace=TRUE), 10, 10)
# making it symmetrical
m.lower <- lower.tri(m.non_sym)*m.non_sym
m <- m.lower + t(m.lower)
diag(m) <- 0
# making the graph
g <- m %>% graph_from_adjacency_matrix(mode="undirected")
# assigning labels
V(g)$partition <- c(rep("minority", 4),
rep("majority", 6))
# plotting the graph
g %>% plot(vertex.size=10,
vertex.color=c("skyblue", "pink")[1+(V(g)$partition=="majority")],
edge.width = 3)
Я хочу назначить следующие метки по краям в зависимости от того, к какому типу узлов они подключены: