The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
library(khroma)
Tol (2021) offers carefully chosen schemes, ready for each type of data, with colors that are:
All the scales presented in Paul Tol’s technical note (issue 3.2, 2021-08-18) are implemented here, for use with base R graphics, ggplot2 or ggraph.
According to Paul Tol’s technical note, the bright, contrast, vibrant and muted color schemes are color-blind safe.
The light color scheme is reasonably distinct for both normal or color-blind vision and is intended to fill labelled cells.
The pale and dark schemes are not very distinct in either normal or color-blind vision and should be used as a text background or to highlight a cell in a table.
The qualitative color schemes must be used as given (no interpolation): colors are picked up to the maximum number of supported values. Refer to the original document for details about the recommended uses (see references).
Scheme | Max. colors |
---|---|
bright |
7 |
high contrast |
3 |
vibrant |
7 |
muted |
9 |
medium contrast |
3 |
pale |
6 |
dark |
6 |
light |
9 |
bright <- color("bright")
plot_scheme(bright(7), colours = TRUE, names = TRUE, size = 0.9)
highcontrast <- color("high contrast")
plot_scheme(highcontrast(3), colours = TRUE, names = TRUE, size = 0.9)
vibrant <- color("vibrant")
plot_scheme(vibrant(7), colours = TRUE, names = TRUE, size = 0.9)
muted <- color("muted")
plot_scheme(muted(9), colours = TRUE, names = TRUE, size = 0.9)
mediumcontrast <- color("medium contrast")
plot_scheme(mediumcontrast(6), colours = TRUE, names = TRUE, size = 0.9)
pale <- color("pale")
plot_scheme(pale(6), colours = TRUE, names = TRUE, size = 0.9)
dark <- color("dark")
plot_scheme(dark(6), colours = TRUE, names = TRUE, size = 0.9)
light <- color("light")
plot_scheme(light(9), colours = TRUE, names = TRUE, size = 0.9)
If more colors than defined are needed from a given scheme, the color coordinates are linearly interpolated to provide a continuous version of the scheme.
Scheme | Num. of colors | Bad data |
---|---|---|
sunset |
11 | #FFFFFF |
nightfall |
17 | #FFFFFF |
BuRd |
9 | #FFEE99 |
PRGn |
9 | #FFEE99 |
sunset <- color("sunset")
plot_scheme(sunset(11), colours = TRUE, size = 0.9)
nightfall <- color("nightfall")
plot_scheme(nightfall(17), colours = TRUE, size = 0.9)
BuRd <- color("BuRd")
plot_scheme(BuRd(9), colours = TRUE, size = 0.9)
PRGn <- color("PRGn")
plot_scheme(PRGn(9), colours = TRUE, size = 0.9)
If more colors than defined are needed from a given scheme, the color coordinates are linearly interpolated to provide a continuous version of the scheme, with the exception of the discrete rainbow scheme (see below).
Scheme | Num. of colors | Bad data |
---|---|---|
YlOrBr |
9 | #888888 |
iridescent |
23 | #999999 |
incandescent |
11 | #888888 |
discrete rainbow |
23 | #777777 |
smooth rainbow |
34 | #666666 |
YlOrBr <- color("YlOrBr")
plot_scheme(YlOrBr(9), colours = TRUE, size = 0.9)
iridescent <- color("iridescent")
plot_scheme(iridescent(23), colours = TRUE, size = 0.5)
incandescent <- color("incandescent")
plot_scheme(incandescent(11), colours = TRUE, size = 0.5)
As a general rule, ordered data should not be represented using a rainbow scheme. There are three main arguments against such use (Tol 2021):
If such use cannot be avoided, Paul Tol’s technical note provides two color schemes that are reasonably clear in color-blind vision. To remain color-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 (2021) suggests starting at purple.
discrete_rainbow <- color("discrete rainbow")
plot_scheme(discrete_rainbow(14), colours = TRUE, size = 0.7)
When using the smooth rainbow scheme:
smooth_rainbow <- color("smooth rainbow")
## Start at purple instead of off-white
plot(smooth_rainbow(256, range = c(0.25, 1)))
## End at red instead of brown
plot(smooth_rainbow(256, range = c(0, 0.9)))
Tol, P. 2021. “Colour Schemes.” Technical note SRON/EPS/TN/09-002 3.2. SRON. URL: https://personal.sron.nl/~pault/data/colourschemes.pdf.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.