簡體   English   中英

手動色標不起作用

[英]Manual colour scale not working

我正在使用RBrewer手動為ggplot條形圖上色,但是我沒有運氣。

我創建了藍色調色板,然后將其分配給函數以使其漸變。

blues <- brewer.pal(9, "Blues")
blue_range <- colorRamp(blues)

然后,我繪制了堆積的條形圖,我知道我有20組。

ggplot(Month.Summary, aes(x=Calendar.Month, y = Measure, fill = Groups)) + geom_bar(stat="Identity", position = "fill") +scale_fill_manual(values = blue_range(20))

不幸的是我得到以下錯誤:

錯誤:手動刻度值不足。 需要20個,但僅提供3個。

我使用Groups作為填充,我知道有2個實例。 我正在將20傳遞給blue_range函數,所以我不確定為什么要說我只傳遞了3種顏色。

blue_range()函數的期望值在0到1之間。要獲取離散調色板,請將一個序列傳遞給此函數:

> blue_range(seq(0, 1, length.out = 20))
           [,1]      [,2]     [,3]
 [1,] 247.00000 251.00000 255.0000
 [2,] 236.47368 244.26316 251.6316
 [3,] 225.94737 237.52632 248.2632
 [4,] 215.68421 230.78947 244.8947
 [5,] 205.57895 224.05263 241.5263
 [6,] 193.78947 217.21053 237.5263
 [7,] 176.94737 210.05263 231.6316
 [8,] 160.10526 202.89474 225.7368
 [9,] 139.21053 191.68421 220.9474
[10,] 117.73684 179.89474 216.3158
[11,]  98.36842 168.10526 210.6316
[12,]  81.10526 156.31579 203.8947
[13,]  64.26316 144.26316 197.1053
[14,]  50.36842 130.36842 189.9474
[15,]  36.47368 116.47368 182.7895
[16,]  25.10526 102.89474 173.1053
[17,]  14.57895  89.42105 162.5789
[18,]   8.00000  75.78947 148.2632
[19,]   8.00000  61.89474 127.6316
[20,]   8.00000  48.00000 107.0000

這應該在ggplot()調用中ggplot() -未測試,因為您沒有提供可復制的示例。

請注意,最近的ggplot2具有scale_fill_distiller() ,它通過更方便的界面提供了類似的功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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