¿Cómo puedo tener dos diferentes scale_fill_manual activos en un comando ggplot?

Esta pregunta sigue de miuno anterior sobre los colores de fondo en ggplot2.

De las respuestas allí, ahora puedo usargeom_rect Para darle un fondo a mi trama que tiene cinco colores diferentes. Además de eso, me gustaría trazar un gráfico de barras que utiliza dos colores diferentes. Puedo hacer cada una de estas tareas por separado, pero cuando intento combinarlasscale_fill_manual comandos de choque.

Esto es lo que estoy tratando:

<code>scores = data.frame(category = 1:4, percentage = c(34,62,41,44), type = c("a","a","a","b"))
rects <- data.frame(ystart = c(0,25,45,65,85), yend = c(25,45,65,85,100), col = letters[1:5])
labels = c("ER", "OP", "PAE", "Overall")
medals = c("navy","goldenrod4","darkgrey","gold","cadetblue1")

ggplot() + 
geom_rect(data = rects, aes(xmin = -Inf, xmax = Inf, ymin = ystart, ymax = yend, fill=col), alpha = 0.3) + 
scale_fill_manual(values=medals) +
opts(legend.position="none") + 
geom_bar(data=scores, aes(x=category, y=percentage, fill=type), stat="identity") +
#scale_fill_manual(values = c("indianred1", "indianred4")) +
scale_x_continuous(breaks = 1:4, labels = labels) 
</code>

Tal como está escrito, esto hace que los dos colores del cuadro de barras sean iguales a los dos primeros colores de fondo. La eliminación de la "#" en el segundoscale_fill_manual el comando (penúltima línea) anula los comandos de color de fondo para hacer las barras de los colores que quiero pero hace que el fondo tenga solo los dos colores que quiero en elbarchart.

Como puedo tener unoscale_fill_manual comando que se aplica a lageom_rect fondo y el otro a lageom_bar Barchart (o ¿cómo puedo lograr el mismo efecto por otros medios)?

Respuestas a la pregunta(1)

Su respuesta a la pregunta