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 imMYdata zum Parameterfill 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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage