Sombra de fondo de un gráfico ggplot usando geom_rect con variables categóricas

Este es mi ejemplo de conjunto de datos:

df <- data.frame(group = rep(c("group1","group2","group3", "group4", "group5", "group6"), each=3),
                 X = paste(letters[1:18]),
                 Y = c(1:18))

omo puede ver, hay tres variables, dos de ellas categóricas group yX). He construido un gráfico de líneas usando ggplot2 donde el eje X esX y el eje Y esY.

Quiero sombrear el fondo usando lagroup variable, de modo que deben aparecer 6 colores diferentes.

Intenté este código:

ggplot(df, aes(x = X, y = Y)) +
  geom_rect(xmin = 0, xmax = 3, ymin = -0.5, ymax = Inf,
            fill = 'blue', alpha = 0.05) +
  geom_point(size = 2.5)

Perogeom_rect() solo colorea el área entre0 y3, en el eje X.

Supongo que puedo hacerlo manualmente replicando elgeom_rect() tantas veces como grupos tengo. Pero estoy seguro de que debe haber un código más hermoso usando la variable misma. ¿Alguna idea

Respuestas a la pregunta(3)

Su respuesta a la pregunta