Generates a palette by rotating base's own hue around the colour
wheel, at fixed saturation and value, following standard colour-theory
harmonies.
Usage
palette_harmony(
base,
scheme = c("complementary", "analogous", "triadic", "tetradic", "split_complementary"),
n = 5L,
spread = 30
)Arguments
- base
A single colour, used as the palette's starting hue (saturation and value are held fixed and shared by every returned colour).
- scheme
One of
"complementary"(baseplus its hue rotated 180 degrees; always 2 colours),"triadic"(baseplus hues rotated 120/240 degrees; always 3 colours),"tetradic"(baseplus hues rotated 90/180/270 degrees; always 4 colours),"split_complementary"(baseplus two hues either side of its complement, offset byspread; always 3 colours), or"analogous"(nhues centred onbase, evenly spacedspreaddegrees apart).- n
A single positive whole number: the number of colours to return. Only used when
scheme = "analogous"– every other scheme returns its own fixed colour count regardless ofn.- spread
A single number (degrees): for
scheme = "analogous", the spacing between adjacent hues; forscheme = "split_complementary", the offset of each returned hue from the exact complement. Unused (and silently ignored) for every other scheme.
See also
Other palette helpers:
palette_cosine(),
palette_gradient(),
palette_manual(),
palette_tonal(),
palette_walk()
Examples
palette_harmony("steelblue", scheme = "triadic")
#> [1] "#4682B4" "#B44682" "#82B446"
palette_harmony("steelblue", scheme = "analogous", n = 5, spread = 20)
#> [1] "#46B49D" "#46A7B4" "#4682B4" "#465DB4" "#5346B4"
draw(effect_swatch(color = palette_harmony("steelblue", scheme = "triadic")))