缩放颜色渐变和超出限制的AND

时间:2018-02-28 11:19:34

标签: r ggplot2

我使用了这个问题(ggplot scale color gradient to range outside of data range)来创建特定范围内的渐变,但现在我遇到了问题,超出这些限制的所有颜色都是灰色的。我的意思是,这对我来说是逻辑,但我想让那些颜色与最接近的点相同。

ggplot(data.frame(a=1:10), aes(1, a, color=a)) + 
  geom_point(size=6) + 
  scale_colour_gradientn(colours=c('red','yellow','green'), limits=c(2,8))

所以最高点应该是绿色,低点也应该是红色。 所以我要找的是像limits=c(<2,>8)这样的范围,但我知道这不起作用

1 个答案:

答案 0 :(得分:6)

您可以通过参数oob指定如何处理越界值;例如,scales::squish&#34; squishes&#34;值在limits

指定的范围内
ggplot(data.frame(a=1:10), aes(1, a, color = a)) +
    geom_point(size = 6) +
    scale_colour_gradientn(
        colours=c('red','yellow','green'), 
        limits=c(2,8), 
        oob = scales::squish);

enter image description here

相关问题