ggplot2 Błąd: Niewystarczające wartości w skali ręcznej

Gdy masz mniej zdefiniowanych kolorówscale_fill_manual niż poziomy w czynniku,ggplot2 skarży się na ten komunikat o błędzie:

# Basic definition of the plot
plot <- ggplot(s4r, aes(x=DIM, y=nbexpress, fill=DIM))

# Printing plot and options
plot + geom_bar(stat="identity", show_guide=FALSE) + 
  scale_fill_manual(values=c("#CC0000", "#006600", "#669999", "#00CCCC", 
                             "#660099", "#CC0066", "#FF9999", "#FF9900")

Przedstawia:

Error: Insufficient values in manual scale. 10 needed but only 8 provided.

Jak uniknąć tego błędu? Jest to dla mnie szczególnie ważne, ponieważ pracuję na serwerze z dynamicznymi danymi i R wbudowanym w CMS strony internetowej i nie chcę, aby wykresy zawiodły, gdy są jakieś nieprawidłowe poziomy (może się tak zdarzyć, dopóki nie poprawimy bazy danych).

Do tej pory znalazłem obejście (zobacz moją odpowiedź), ale zastanawiam się, czy jest jakieś rozwiązanie bardziej eleganckie.

questionAnswers(2)

yourAnswerToTheQuestion