这不是一个重复的问题。我知道有些答案可以解释如何在构面图中更改面板背景的颜色。这不是我之后的事情,请理解,我想根据该方面内标签的值更改小平面图中条形标签背景的颜色,而不是背景颜色小平面标签下方的情节。
原始问题:
我需要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颜色应该是红色的?
为了使它更复杂(我的实际数据集相当大),我需要这个函数来忽略第一个和最后一个方面。