我想在R和ggplot2中创建一个直方图,其中根据连续的x值填充二进制位。大多数教程仅使用离散值或密度/计数进行着色。
以下this example能够用彩虹刻度为这些垃圾箱着色:
df <- data.frame(x = runif(100))
ggplot(df) +
geom_histogram(aes(x), fill = rainbow(30))
我想使用颜色渐变,其中容器从蓝色(最低)到黄色(最高)。 scale_fill_gradient()
函数似乎达到了这个目的,但当我为rainbow()
参数插入fill
时,我收到错误:
> ggplot(df) +
+ geom_histogram(aes(x), fill = scale_fill_gradient(low='blue', high='yellow'))
Error: Aesthetics must be either length 1 or the same as the data (30): fill
我尝试了几种方法为秤提供30的长度,但每次都会得到相同的错误。所以我的问题是:
scale_color_gradient
是fill
参数的正确函数还是我必须使用另一个参数?