# Boxplots with ggplot2¶

Boxplots are convenient way of graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram. Outliers may be plotted as individual points.

Let's see how we can create them with qplot and ggplot!

In [3]:

    library(ggplot2)
    df <- mtcars

In [4]:

    head(df)

Out[4]:

| mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Mazda RX4 | 21 | 6 | 160 | 110 | 3.9 | 2.62 | 16.46 | 0 | 1 | 4 | 4
Mazda RX4 Wag | 21 | 6 | 160 | 110 | 3.9 | 2.875 | 17.02 | 0 | 1 | 4 | 4
Datsun 710 | 22.8 | 4 | 108 | 93 | 3.85 | 2.32 | 18.61 | 1 | 1 | 4 | 1
Hornet 4 Drive | 21.4 | 6 | 258 | 110 | 3.08 | 3.215 | 19.44 | 1 | 0 | 3 | 1
Hornet Sportabout | 18.7 | 8 | 360 | 175 | 3.15 | 3.44 | 17.02 | 0 | 0 | 3 | 2
Valiant | 18.1 | 6 | 225 | 105 | 2.76 | 3.46 | 20.22 | 1 | 0 | 3 | 1

## qplot¶

In [10]:

    qplot(factor(cyl), mpg, data = mtcars, geom = "boxplot")

## ggplot¶

In [11]:

    pl <- ggplot(mtcars, aes(factor(cyl), mpg))

    pl + geom_boxplot()

In [13]:

    pl + geom_boxplot() + coord_flip()

In [14]:

    pl + geom_boxplot(aes(fill = factor(cyl)))

In [16]:

    pl + geom_boxplot(fill = "grey", color = "blue")

That's it for the basics of creating boxplots in ggplot2!