代码之家  ›  专栏  ›  技术社区  ›  drmariod

缩放颜色渐变和超出限制[重复]

  •  4
  • drmariod  · 技术社区  · 7 年前

    我用了这个问题( 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 回复  |  直到 6 年前
        1
  •  12
  •   Maurits Evers    7 年前

    您可以通过参数指定如何处理越界值 oob ; 例如 scales::squish 将值“挤压”到 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