Trying to find a good color palette in R is difficult. I think most people search google for ggplot colors
and end up looking at some funky image of all the color names that work in R. These colors are from the X11 colors that were developed in the 1980s. Unfortunately, they have inconsistent names and the lightness/saturation are all over the place. Using simplecolors
gies you access to a smaller, consistent set of colors. It is similar to the palette tool you might be used to with Microsoft Word or Tableau.
sc()
functionThis function stands for simplecolors. You can specify base colors
or add modifiers
And you can use it just like you’d use "red"
or "blue"
You could also simplify this further as sc_blue(2:4)
To get started there are 8 hues, 4 types of saturation, and 5 levels of lightness plus a greyscale. To use a color, just combine the 3 parts:
For example, the following code will return the corresponding colors
sc("blue")
= #4479E4
sc("blue5")
= #0D2659
sc("dullblue3")
= #7489B4
There are multiple ways to access palettes
sc_across()
- holding light and saturation constant (at your choosing), a palette will be built across hues in the order you specify. The palette order is created using the first letter (uppercase) of each color, or “Gy” for “grey”.sc_[color]()
there is a shortcut of sc_within()
for each of the hues, for example sc_teal()
, sc_red()
, etc.#> [1] "#29FFFF" "#00B3B3" "#006666"
#> [1] "#86682D" "#2D8686" "#592D86" "#595959"
There are 3 main outputs for these palettes that can be specified via return =
sc_within()
#> [1] "#9DB9F1" "#4479E4" "#16439C" "#0D2659"
color_name | hex |
---|---|
blue2 | #9DB9F1 |
blue3 | #4479E4 |
blue4 | #16439C |
blue5 | #0D2659 |
sc_across()
#> [1] "#E44444" "#E4AF44" "#E4E444"
color_name | hex |
---|---|
red3 | #E44444 |
orange3 | #E4AF44 |
yellow3 | #E4E444 |
blue | green | grey | orange | pink | red | teal | violet | yellow |
---|---|---|---|---|---|---|---|---|
B | G | Gy | O | P | R | T | V | Y |
sc_red()
, sc_blue()
, etc…There is also a sc_within()
palette defaulted for each color
#> [1] "#FFCCCC" "#FF8F8F" "#FF2929" "#B30000"
color_name | hex |
---|---|
blue5 | #0D2659 |
blue4 | #16439C |
blue3 | #4479E4 |
blue2 | #9DB9F1 |
And here’s an example where you might use it in a ggplot