在R中,我需要用不同的颜色来绘制图社区(一组节点),在这种情况下,我需要处理17个社区(所以我需要17个不同的颜色)。若要给节点颜色,请使用以下命令。
V(g5)$color<- ifelse(V(g5)$name %in% V(g3)$name,com$membership+1, "white")
com$membership
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 7 7 8 8 8 8 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 11 11 11 11 11 11 12 12 13 13 13 13 14 14 14 14 15 15 15 15 16 17 17 9 14和情节:
plot(g5, vertex.color=V(g5)$name)问题是,我只得到6种颜色,它重复到其他社区。我如何才能正确地给这17个社区涂上不同的颜色?
发布于 2015-04-14 17:02:16
如果您只使用数字索引指定颜色,R将从当前的palette()中提取颜色。默认情况下,这包含8种不同的颜色。
palette()
# [1] "black" "red" "green3" "blue" "cyan" "magenta" "yellow"
# [8] "gray"如果您指定的索引大于8,则R只会在索引周围循环,从而使1==9。
您可以更改掌纹以包含更多的颜色。
palette(rainbow(17))或者可以显式设置颜色,而不是指定颜色索引。
mycols <- rainbow(17)
V(g5)$color<- ifelse(V(g5)$name %in% V(g3)$name,mycols[com$membership], "white")这可能比改变调色板“安全”,因为这将影响所有其他情节以及。
g <- graph.ring(17)
V(g)$color <- rainbow(17)
plot(g)

注意:这不是那么容易找到17种不同的颜色,你可以很容易地分辨通过眼睛。
https://stackoverflow.com/questions/29629089
复制相似问题