Haz que el fondo de un gráfico sea diferente en diferentes regiones

Estoy haciendo un gráfico de barras directo en R usando el paquete ggplot2. En lugar del predeterminado gris, me gustaría dividir el fondo en cinco regiones, cada una con un color diferente (pero igualmente subestimado). ¿Cómo hago esto?

Más específicamente, me gustaría que las cinco regiones coloreadas corrieran de 0-25, 25-45, 45-65, 65-85 y 85-100, donde los colores representan peores que bronce, bronce, plata, oro y platino respectivamente. Sugerencias para un esquema de color muy bienvenido también.

Aquí hay un ejemplo para comenzar:

 #Fake data dat <- data.frame(x = 1:100, y = cumsum(rnorm(100))) #Breaks for background rectangles rects <- data.frame(xstart = seq(0,80,20), xend = seq(20,100,20), col = letters[1:5]) #As Baptiste points out, the order of the geom's matters, so putting your data as last will #make sure that it is plotted "on top" of the background rectangles. Updated code, but #did not update the JPEG...I think you'll get the point. ggplot() + geom_rect(data = rects, aes(xmin = xstart, xmax = xend, ymin = -Inf, ymax = Inf, fill = col), alpha = 0.4) + geom_line(data = dat, aes(x,y)) 

enter image description here

Quería mover la línea, o las barras del histogtwig, al primer plano, como lo sugirió + theme(panel.background = element_rect(), panel.grid.major = element_line( colour = "white") ) y fijar el fondo con el + theme(panel.background = element_rect(), panel.grid.major = element_line( colour = "white") ) , lamentablemente solo pude hacerlo enviando el geom_bar dos veces, con suerte alguien puede mejorar el código y completar la respuesta.

 background <- data.frame(lower = seq( 0 , 3 , 1.5 ), upper = seq( 1.5, 4.5, 1.5 ), col = letters[1:3]) ggplot() + geom_bar( data = mtcars , aes( factor(cyl) ) ) + geom_rect( data = background , mapping = aes( xmin = lower , xmax = upper , ymin = 0 , ymax = 14 , fill = col ) , alpha = .5 ) + geom_bar(data = mtcars, aes(factor(cyl))) + theme(panel.background = element_rect(), panel.grid.major = element_line( colour = "white")) 

Produce esto, geom_bar y geom_rect

Echa un vistazo a este sitio para ver sugerencias de combinaciones de colores.