2017-03-21 29 views
0

任何人都可以告訴我如何將圖例類別劃分爲定義的類別嗎?併爲每個類別定義顏色。我需要在圖例中定義5個類別(0-15,15-30,...等),併爲每個類別定義顏色。定義的配色方案和圖例類別

我使用的是以下R代碼。

任何幫助表示讚賞。

在此先感謝。

county_choropleth(final, num_colors = 1) + 
    scale_fill_gradient2(c("red", "green", "blue", "yellow")[ceiling((0 : 60)/10)], 
         breaks = pretty(final$value, n = 5)) 

enter image description here

+0

這個以前的答案可以幫助嗎? http://stackoverflow.com/a/33113398/5065588 – HelloWorld

+0

這是有幫助,但有沒有辦法我可以分類值的範圍,併爲該範圍內的每個類別的值分配顏色。例如,0-10(紅色),10-20(藍色)等等。 – user3408139

+0

你可以使用類似這樣的東西:'c('red','green','blue','yellow','black')[天花板((1:50)/ 10)]',但將1:50替換爲您要繪製的值。除以10是因爲我假設你的範圍是1:50。顏色選擇完全是隨機的。 – HelloWorld

回答

0

一種可能的方案從您的請求推斷是離散的值爲五類範圍從最小值到最大值。離散化可以通過功能cut完成。然後,您會傳遞您想要的因素所具有的休息時間和標籤。我創建了一些標籤,將這些間隔的值粘在一起,因爲county_choropleth將爲這些圖例使用完全相同的值。需要注意的是,因爲我創建一個新的data.frame所有的原始數據保持不變,如果你想仔細檢查

nBreaks <- 5 + 1 
breaks <- seq(min(final$value), max(final$value), length.out = nBreaks) 
intBreaks <- round(breaks) 
labels <- paste(intBreaks[1:nBreaks-1], intBreaks[(1+1):nBreaks], sep = ':') 
newFinal <- data.frame(value = cut(final$value, 
breaks = breaks, labels = labels), 
region = final$region) 
county_choropleth(newFinal, num_colors = 5) 

該解決方案是有點劈,但它會給你五個區間五種顏色。調整cut(現在定義爲均勻間隔序列)的間隔將爲您提供更多定製功能。 HTH

+0

謝謝。我在哪裏可以插入代碼中?你能告訴我在哪裏包括在我的代碼上面? – user3408139

+0

您可以使用此鏈接下載我在代碼中使用的數據(最終)。 https://bft.usu.edu/p38jv – user3408139

+0

好的。我按照你的建議做了,但輸出仍然是一樣的。 – user3408139