【发布时间】:2019-05-08 13:53:35
【问题描述】:
我想根据另一个边缘属性在 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)
【问题讨论】:
-
不要将
as.list与coloring一起使用。只需使用coloring <- setNames(col,sec),然后您就可以使用plot(g)
标签: r colors network-programming igraph