簡體   English   中英

顏色圖節點不同

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM