我正在使用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种颜色。
答案 0 :(得分:1)
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()
调用中有效 - 未经测试,因为您没有提供可重现的示例。
请注意,最近的ggplot2
有scale_fill_distiller()
,它提供了类似的功能和更方便的界面。