ggplot2: kolor paska facet_wrap na podstawie zmiennej w zestawie danych

Czy istnieje sposób na wypełnienie pasków aspektów utworzonych za pomocą facet_wrap na podstawie zmiennej dostarczonej z ramką danych?

Przykładowe dane:

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")))

Przykładowy dział:

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)

Wiem, jak zmienić kolor tła pasków (np. Na pomarańczowy):

p1 + theme(strip.background = element_rect(fill="orange"))

Czy istnieje sposób na przekazanie wartości w zmiennejsize wMYdata do parametrufill welement_rect?

Zasadniczo zamiast 1 koloru dla wszystkich pasków chciałbym, aby kolor tła paska małych owoców (jabłko, śliwka, gruszka) był zielony, a kolor tła dużych owoców (pomarańczy, banana, winogron) był czerwony.

questionAnswers(2)

yourAnswerToTheQuestion