[英]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")
這可能比更改調色板更“安全”,因為這也會影響所有其他圖。
g <- graph.ring(17)
V(g)$color <- rainbow(17)
plot(g)
注意:要找到可以用肉眼輕松區分的17種不同的顏色並非易事。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.