ggplot2 — scale_tol_sequential" />

Provides sequential colour scales from Paul Tol's Colour Schemes.

scale_colour_YlOrBr(..., reverse = FALSE, aesthetics = "colour")

scale_color_YlOrBr(..., reverse = FALSE, aesthetics = "colour")

scale_fill_YlOrBr(..., reverse = FALSE, aesthetics = "fill")

scale_colour_iridescent(..., reverse = FALSE, aesthetics = "colour")

scale_color_iridescent(..., reverse = FALSE, aesthetics = "colour")

scale_fill_iridescent(..., reverse = FALSE, aesthetics = "fill")

scale_colour_discreterainbow(..., reverse = FALSE,
  aesthetics = "colour")

scale_color_discreterainbow(..., reverse = FALSE,
  aesthetics = "colour")

scale_fill_discreterainbow(..., reverse = FALSE, aesthetics = "fill")

scale_colour_smoothrainbow(..., reverse = FALSE, aesthetics = "colour")

scale_color_smoothrainbow(..., reverse = FALSE, aesthetics = "colour")

scale_fill_smoothrainbow(..., reverse = FALSE, aesthetics = "fill")



Arguments passed to continuous_scale.


A logical scalar. Should the resulting vector of colours be reversed?


A character string or vector of character strings listing the name(s) of the aesthetic(s) that this scale works with.


A continuous scale.


If more colours than defined are needed from a given scheme, the colour coordinates are linearly interpolated to provide a continuous version of the scheme, with the exception of the discrete rainbow scheme (see below). Note that the default colour for NA can be overridden by passing a value to continuous_scale.

PaletteMax. coloursNA value
discrete rainbow23#777777
smooth rainbow34#666666

Rainbow colour scheme

As a general rule, ordered data should not be represented using a rainbow scheme. There are three main arguments against such use (Tol 2018):

  • The spectral order of visible light carries no inherent magnitude message.

  • Some bands of almost constant hue with sharp transitions between them, can be perceived as jumps in the data.

  • Colour-blind people have difficulty distinguishing some colours of the rainbow.

If such use cannot be avoided, Paul Tol's technical note provides two colour schemes that are reasonably clear in colour-blind vision. To remain colour-blind safe, these two schemes must comply with the following conditions:

discrete rainbow

This scheme must not be interpolated.

smooth rainbow

This scheme does not have to be used over the full range.


Tol, P. (2018). Colour Schemes. SRON. Technical Note No. SRON/EPS/TN/09-002, issue 3.1. URL:

See also

Other Paul Tol's colour schemes: scale_tol_discrete, scale_tol_diverging


library(ggplot2) ggplot2::ggplot(faithfuld, ggplot2::aes(waiting, eruptions, fill = density)) + ggplot2::geom_raster() + scale_fill_YlOrBr()
ggplot2::ggplot(faithfuld, ggplot2::aes(waiting, eruptions, fill = density)) + ggplot2::geom_raster() + scale_fill_iridescent()
ggplot2::ggplot(faithfuld, ggplot2::aes(waiting, eruptions, fill = density)) + geom_raster() + scale_fill_smoothrainbow(reverse = TRUE)