ggplot2: Farbe des facet_wrap-Streifens basierend auf der Variablen im Datensatz

Gibt es eine Möglichkeit, die mit facet_wrap erstellten Facettenstreifen basierend auf einer mit dem Datenrahmen gelieferten Variablen zu füllen?

Beispieldaten:

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

Beispiel Handlung:

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)

Ich kann die Hintergrundfarbe der Streifen ändern (z. B. in orange):

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

Gibt es eine Möglichkeit, die Werte in der Variablen weiterzugebensize&nbsp;imMYdata&nbsp;zum Parameterfill&nbsp;imelement_rect?

Grundsätzlich möchte ich, dass anstelle von 1 Farbe für alle Streifen die Streifenhintergrundfarbe kleiner Früchte (Apfel, Pflaume, Birne) grün und die Hintergrundfarbe großer Früchte (Orange, Banane, Traube) rot ist.