исчезают края igraph в соответствии с атрибутом - PullRequest
0 голосов
/ 06 декабря 2018

Я хочу закрасить в igraph края сети в соответствии с другим атрибутом края.

Вот то, что я сделал:

vector <- c("a","b","b","d","b","c","c","a")
field <- c("friend","friend","good friend","archenemy")

g <- graph(vector, directed = FALSE)
E(g)$status <- field

library(RColorBrewer)
color = grDevices::colors()[grep('gr(a|e)y', grDevices::colors(), invert = 
T)]
n <- length(unique(field))

col=sample(color, n)
sec=unique(field)
coloring <- as.list(setNames(col,sec))

E(g)$color <- coloring[E(g)$status]

Здесь я получаю сообщение об ошибке или нет ребер вообще.

plot(g,edge.color=E(g)$color)

1 Ответ

0 голосов
/ 06 декабря 2018

Это сработало для меня.Ваш оригинальный код составил список цветов в g.Чек E(g)$color.

library(igraph)
library(RColorBrewer)
color = grDevices::colors()[grep('gr(a|e)y', grDevices::colors(), invert = T)]

vector <- c("a","b","b","d","b","c","c","a")
field <- c("friend","friend","good friend","archenemy")
####
g <- graph(vector, directed = FALSE)
E(g)$status <- field

n <- length(unique(field))
col=sample(color, n)

coloring <- col[factor(field)]
E(g)$color <- coloring

plot(g)
...