Visualisation with ggplot2

This course will cover two libraries for creating visualisations with R:

  • {ggplot2} — static and dynamic visualisations
  • {plotly} — interactive visualisations.

Course Description

Day 1: {ggplot2}

The ggplot2 package has become the de facto standard for making plots in R. It’s possible to quickly put together a simple plot for exploratory purposes. However, with a bit of effort such a plot can be transformed into a work of art.

This course will introduce the basic components of ggplot2 and show how they can be combined to form sophisticated visualisations. We’ll then take a look at extensions for labelling points in congested scatterplots and producing animations.

  • Introduction
    • Grammar of Graphics
  • Components of a plot
    • Data
    • Aesthetics
    • Layers
    • Facets
    • Themes
  • Aesthetics
  • Layers
    • Points
    • Lines
    • Box and Violin plots
    • Histogram, Density and Bar plots
    • Smooth
    • Stats versus Geoms
    • Position
  • Facets
  • Scales, Legends and Coordinates
  • Themes
    • Builtin themes
    • Other themes
    • Customising
  • Extensions

Day 2: {plotly}

Plotly is an open source JavaScript library for creating interactive graphs and dashboards. In this course you’ll learn how to easily create sophisticated interactive visualisations from within R using Plotly.

  • Fundamentals
    • ggplot to plotly with ggplotly()
  • Plot types
    • Scatter and Line plots
    • Box plots
    • Histogram and Bar plots
    • Heat maps and Contour plots
    • Polar plots
  • Maps
  • Combining plots
    • Sub-plots
    • Inset plots
    • Multiple axes
  • Custom controls
  • Dashboards
  • Animation
  • Exporting static images

Prior Knowledge

We assume that participants have prior experience with R, ideally having completed both the the Introduction to R and Data Wrangling courses.

Book now!

Training Philosophy

Our training emphasises practical skills. So, although you'll be learning concepts and theory, you'll see how everything is applied in the real world. We will work through examples and exercises based on real datasets.


All you'll need is a computer with a browser and a decent internet connection. We'll be using an online development environment. This means that you can focus on learning and not on solving technical problems.

Of course, we are happy to help you get your local environment set up too! You can start by following these instructions.


The training package includes access to
  • our online development environment and
  • detailed course material (slides and scripts).

Return to our list of courses.