Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ggplot2: How to adjust fill colour in a boxplot (and change legend text)?

Tags:

r

ggplot2

How can I:

  1. Set the fill colors in the boxplot below? I tried the argument "colour" but that failed.
  2. Change the legend text from "0", "1" to something else?

    require(ggplot2)
    ggplot(mtcars, aes(factor(cyl), mpg)) +
        geom_boxplot(aes(fill=factor(vs), colour=c("grey50", "white")))
    
like image 945
Marius Hofert Avatar asked Nov 30 '11 02:11

Marius Hofert


1 Answers

Instead of the colour aesthetic, you want to adjust the fill aesthetic. You can handle both of your questions (and much more) by adjusting the scale:

ggplot(mtcars, aes(factor(cyl), mpg, fill = factor(vs))) + 
  geom_boxplot() +
  scale_fill_manual(name = "This is my title", values = c("pink", "green")
                    , labels = c("0" = "Foo", "1" = "Bar"))

The ggplot2 website help page for scale_manual is full of good examples.

like image 107
Chase Avatar answered Sep 28 '22 20:09

Chase