# Paul Tol's Diverging Colour Schemes for ggplot2 and ggraph

Source:`R/scale_colour_tol.R`

`scale_tol_diverging.Rd`

Provides diverging colour scales from Paul Tol's *Colour Schemes*.

## Usage

```
scale_colour_sunset(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "colour"
)
scale_color_sunset(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "colour"
)
scale_fill_sunset(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "fill"
)
scale_edge_colour_sunset(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "edge_colour"
)
scale_edge_color_sunset(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "edge_colour"
)
scale_edge_fill_sunset(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "edge_fill"
)
scale_colour_BuRd(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "colour"
)
scale_color_BuRd(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "colour"
)
scale_fill_BuRd(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "fill"
)
scale_edge_colour_BuRd(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "edge_colour"
)
scale_edge_color_BuRd(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "edge_colour"
)
scale_edge_fill_BuRd(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "edge_fill"
)
scale_colour_PRGn(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "colour"
)
scale_color_PRGn(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "colour"
)
scale_fill_PRGn(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "fill"
)
scale_edge_colour_PRGn(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "edge_colour"
)
scale_edge_color_PRGn(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "edge_colour"
)
scale_edge_fill_PRGn(
...,
reverse = FALSE,
range = c(0, 1),
midpoint = 0,
discrete = FALSE,
aesthetics = "edge_fill"
)
scale_edge_colour_YlOrBr(
...,
reverse = FALSE,
range = c(0, 1),
discrete = FALSE,
aesthetics = "edge_colour"
)
scale_edge_color_YlOrBr(
...,
reverse = FALSE,
range = c(0, 1),
discrete = FALSE,
aesthetics = "edge_colour"
)
scale_edge_fill_YlOrBr(
...,
reverse = FALSE,
range = c(0, 1),
discrete = FALSE,
aesthetics = "edge_fill"
)
scale_edge_colour_iridescent(
...,
reverse = FALSE,
range = c(0, 1),
discrete = FALSE,
aesthetics = "edge_colour"
)
scale_edge_color_iridescent(
...,
reverse = FALSE,
range = c(0, 1),
discrete = FALSE,
aesthetics = "edge_colour"
)
scale_edge_fill_iridescent(
...,
reverse = FALSE,
range = c(0, 1),
discrete = FALSE,
aesthetics = "edge_fill"
)
scale_edge_colour_smoothrainbow(
...,
reverse = FALSE,
range = c(0, 1),
discrete = FALSE,
aesthetics = "edge_colour"
)
scale_edge_color_smoothrainbow(
...,
reverse = FALSE,
range = c(0, 1),
discrete = FALSE,
aesthetics = "edge_colour"
)
scale_edge_fill_smoothrainbow(
...,
reverse = FALSE,
range = c(0, 1),
discrete = FALSE,
aesthetics = "edge_fill"
)
```

## Arguments

- ...
Arguments passed to

`ggplot2::continuous_scale()`

.- reverse
A

`logical`

scalar. Should the resulting vector of colors be reversed?- range
A length-two

`numeric`

vector specifying the fraction of the scheme's colour domain to keep.- midpoint
A length-one

`numeric`

vector giving the midpoint (in data value) of the diverging scale. Defaults to`0`

.- discrete
A

`logical`

scalar: should the colour scheme be used as a discrete scale? If`TRUE`

, it is a departure from Paul Tol's recommendations and likely a very poor use of colour.- aesthetics
A

`character`

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

## Value

A continuous scale.

## Details

If more colors than defined are needed from a given scheme, the colour
coordinates are linearly interpolated to provide a continuous version of the
scheme.
Note that the default colour for `NA`

can be overridden by passing
a value to `ggplot2::continuous_scale()`

.

Palette | Max. colours | NA value |

`sunset` | 11 | #FFFFFF |

`BuRd` | 9 | #FFEE99 |

`PRGn` | 9 | #FFEE99 |

## References

Tol, P. (2018). *Colour Schemes*. SRON. Technical Note No.
SRON/EPS/TN/09-002, issue 3.1.
URL: https://personal.sron.nl/~pault/data/colourschemes.pdf

## See also

Other colour-blind safe colour schemes:
`scale_crameri_cyclic`

,
`scale_crameri_diverging`

,
`scale_crameri_mutlisequential`

,
`scale_crameri_sequential`

,
`scale_edge_colour_okabeito()`

,
`scale_okabeito_discrete`

,
`scale_tol_sequential`

Other diverging colour schemes:
`scale_crameri_diverging`

Other Paul Tol's colour schemes:
`scale_edge_colour_okabeito()`

,
`scale_tol_sequential`

## Examples

```
data(economics, package = "ggplot2")
ggplot2::ggplot(economics, ggplot2::aes(psavert, pce, colour = unemploy)) +
ggplot2::geom_point() +
scale_color_sunset(reverse = TRUE, midpoint = 12000)
ggplot2::ggplot(economics, ggplot2::aes(psavert, pce, colour = unemploy)) +
ggplot2::geom_point() +
scale_color_BuRd(midpoint = 9000)
ggplot2::ggplot(economics, ggplot2::aes(psavert, pce, colour = unemploy)) +
ggplot2::geom_point() +
scale_color_PRGn(midpoint = 9000, range = c(0.25, 1))
```