ggplot2: facet_wrap tira cor com base na variável no conjunto de dados
Existe uma maneira de preencher as tiras de facetas criadas com facet_wrap com base em uma variável fornecida com o quadro de dados?
Exemplo de dados:
MYdata <- data.frame(fruit = rep(c("apple", "orange", "plum", "banana", "pear", "grape")), farm = rep(c(0,1,3,6,9,12), each=6), weight = rnorm(36, 10000, 2500), size=rep(c("small", "large")))
Exemplo de plotagem:
p1 = ggplot(data = MYdata, aes(x = farm, y = weight)) + geom_jitter(position = position_jitter(width = 0.3), aes(color = factor(farm)), size = 2.5, alpha = 1) + facet_wrap(~fruit)
Eu sei como alterar a cor de fundo das tiras (por exemplo, para laranja):
p1 + theme(strip.background = element_rect(fill="orange"))
Existe uma maneira de passar os valores na variávelsize
emMYdata
para o parâmetrofill
emelement_rect
?
Basicamente, em vez de 1 cor para todas as tiras eu gostaria que a cor de fundo das pequenas frutas (maçã, ameixa, pêra) fosse verde e a cor de fundo das frutas grandes (laranja, banana, uva) fosse vermelha.