From default to publication-ready ggplot2

2026-05-21

Description

In this hands-on workshop, you’ll learn how to transform standard ggplot2 outputs into clear, polished, publication-ready figures. Working through practical examples, we will cover:

  • building custom themes for a consistent look
  • choosing colour scales with intent (intuitive and colourblind-safe palettes)
  • composing multi-panel layouts with patchwork
  • exporting figures at the resolution and dimensions journals expect

Along the way I will show you a few useful extension packages from the ggplot2 ecosystem (ggtext, ggrepel, gghighlight, ggdist, ggridges) so you can pick up techniques you can apply directly to your own plots.

Slides in full screen     Download PDF slides

Resources

Workshop materials

The workshop repo contains all demo scripts, exercises, and solutions:

github.com/selinaZitrone/advanced-ggplot-workshop

1. Custom themes

2. Colour

3. Multi-panel layouts with patchwork

4. Exporting figures

Other handy packages

The official ggplot extension gallery lists ~120 community extension packages to browse

  • gghighlight — fade non-focal data with one line
  • ggrepel — non-overlapping text labels
  • ggtext — markdown / HTML in titles, axis text, and annotations
  • ggdist — distributions and uncertainty (raincloud, halfeye, interval plots)
  • ggridges — ridgeline / joy plots