do_ColorPalette() | Color palette generation

This utility function generates harmonious color palettes based on color theory principles. Provide a base color and get complementary, triadic, tetradic, or other color schemes.


Color wheel

Generate n colors evenly spaced around the color wheel:

colors <- SCpubr::do_ColorPalette(colors.use = "#E63946",
                                  n = 8)
colors
#> [1] "#E63946" "#E6AE39" "#9DE639" "#39E657" "#39E6D9"
#> [6] "#3971E6" "#8239E6" "#E639C8"

Opposite (complementary)

colors <- SCpubr::do_ColorPalette(colors.use = "#E63946",
                                  opposite = TRUE)
colors
#> [1] "#E63946" "#39E6D9"

Adjacent colors

colors <- SCpubr::do_ColorPalette(colors.use = "#E63946",
                                  adjacent = TRUE)
colors
#> [1] "#E63946" "#E68239" "#E6399C"

Triadic scheme

colors <- SCpubr::do_ColorPalette(colors.use = "#E63946",
                                  triadic = TRUE)
colors
#> [1] "#E63946" "#46E639" "#3946E6"

Tetradic scheme

colors <- SCpubr::do_ColorPalette(colors.use = "#E63946",
                                  tetradic = TRUE)
colors
#> [1] "#E63946" "#E6D939" "#39E6D9" "#3946E6"

Square scheme

colors <- SCpubr::do_ColorPalette(colors.use = "#E63946",
                                  square = TRUE)
colors
#> [1] "#E63946" "#9DE639" "#39E6D9" "#8239E6"

Split complementary

colors <- SCpubr::do_ColorPalette(colors.use = "#E63946",
                                  split_complementary = TRUE)
colors
#> [1] "#E63946" "#39E683" "#399DE6"

Generate plot

p <- SCpubr::do_ColorPalette(colors.use = "#E63946",
                             triadic = TRUE,
                             plot = TRUE)
p


Parameter reference

Parameter Description Default
colors.use Base color (name or HEX)
n Colors in wheel 12
opposite Complementary color FALSE
adjacent Adjacent colors FALSE
triadic Triadic scheme FALSE
split_complementary Split complementary FALSE
tetradic Tetradic scheme FALSE
square Square scheme FALSE
plot Return plot FALSE

See also