如何根据facet标签中的值更改ggplot2 facet_grid中的strip.background颜色?

时间:2014-05-13 13:22:17

标签: r ggplot2

这不是一个重复的问题。我知道有些答案可以解释如何在构面图中更改面板背景的颜色。这不是我之后的事情,请理解,我想根据该方面内标签的值更改小平面图中条形标签背景的颜色,而不是背景颜色小平面标签下方的情节。

原始问题:

我需要strip.background的颜色来依赖于背景中的值。我找到的最接近的解决方案是:Change text color for single facets in ggplot2

但是,解决方案指定哪种颜色在哪里,它不允许颜色根据值而改变。

#Using iris data

i <- iris
levels(i$Species)

#Lable function to pass to facet_grid

labels=function(variable, value){
  temp=lapply(value,function(v)
    as.character(max(i$Sepal.Length[which(i[,variable]==v)]))
  )
  unlist(temp)
}

ggplot(i, aes(Petal.Length)) + stat_bin()+
  facet_grid(Species ~ .,labeller=labels)

此案例中的标签为5.8,7,7.9。我如何实现类似的东西:如果标签值&lt; 6那么facet标签背景的颜色应该是绿色,如果6&lt;价值&lt; 7.5颜色应为蓝色,如果值为> 7.5颜色应该是红色的?

为了使它更复杂(我的实际数据集相当大),我需要这个函数来忽略第一个和最后一个方面。

0 个答案:

没有答案