颜色图节点不同
color graph nodes differently
我需要对节点进行不同的着色以在 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 个社区涂上不同的颜色?
如果您仅使用数字索引指定颜色,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")
这可能 "safer" 而不是更改调色板,因为这也会影响所有其他绘图。
g <- graph.ring(17)
V(g)$color <- rainbow(17)
plot(g)
注意:要找到 17 种您可以用肉眼轻松区分的不同颜色并不容易。
我需要对节点进行不同的着色以在 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 个社区涂上不同的颜色?
如果您仅使用数字索引指定颜色,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")
这可能 "safer" 而不是更改调色板,因为这也会影响所有其他绘图。
g <- graph.ring(17)
V(g)$color <- rainbow(17)
plot(g)
注意:要找到 17 种您可以用肉眼轻松区分的不同颜色并不容易。