16.7 Cusomizing Look and Feel

Many visual aspects of your graph can be customized. Most of these are controlled within themes.

Themes

There are many built in themes, for example, minimal. If you start to type theme_ RStudio will prompt you with a list of built in themes to choose from.

dotPlot +
  theme_minimal()

Within a theme, we can start to customize other elements. Things that we can customize included axes elements, legend elements, panel elements, and plot elements. For example, we can build on the theme minimal and remove the panel grids above, we do this with a separate, additional call to theme():

dotPlot +
  theme_minimal() +
  theme(
    panel.grid = element_blank()
  )

A full list of theme options are available on the ggplot theme reference page.

Colours

There are several ways of customizing the colours used in our plots, including using a custom colour palette.

It’s critical to remember to use appropriate combinations of colour depending on if your data is divergent, continuous, or qualitative in nature.

Examples of each of these include:

Sequential - for ordered data

Diverging - for data with a central location from which other values diverge

Qualitative- for categorical data with not natural order

Instead of having to generate your own custom colour palettes, a good alternative are the palettes produced by ColourBrewer that already have due consideration to things like contrast, colour blind audiences, benig print friendly etc.

Install

install.packages("RColourBrewer")

Load

library(RColorBrewer)

View the palettes available to us, noting it’s grouped by sequential, qualitative, and diverging palettes.

display.brewer.all()

Use a palette, by making an additional call to either scale_color_brewer() or scale_fill_brewer() depending on you graph.

dotPlot +
  theme_minimal() +
  theme(
    panel.grid = element_blank()
  ) +
  scale_color_brewer(palette = "Dark2")

barGraph +
  theme_minimal() +
  theme(
    panel.grid = element_blank()
  ) +
  scale_fill_brewer(palette = "Set3")