rainbow_hcl(4)
"#E495A5" "#ABB065" "#39BEB1" "#ACA4E2“
However, all palettes are fully customizable:
diverge_hcl(7, h = c(246, 40), c = 96, l = c(65, 90))
Choosing the values would be daunting. But
there are some recommended palettes in the
colorspace documentation. There is also an
interactive tool that can be used to obtain a
customized palette. To start the tool:
pal <- choose_palette()
R has 657 built in color names
To see a list of names:
colors()
These colors are displayed on P. 3.
R color cheatsheet
Finding a good color scheme for presenting data
can be challenging. This color cheatsheet will help!
R uses hexadecimal to represent colors
Hexadecimal is a base-16 number system used to describe
color. Red, green, and blue are each represented by two
characters (#rrggbb). Each character has 16 possible
symbols: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F:
“00” can be interpreted as 0.0 and “FF” as 1.0
i.e., red= #FF0000 , black=#000000, white = #FFFFFF
Two additional characters (with the same scale) can be
added to the end to describe transparency (#rrggbbaa)
A few notes on HSV/HLC
HSV is a better model for how humans perceive color.
HCL can be thought of as a perceptually based version of
the HSV model….blah blah blah…
Without delving into color theory: color schemes based
on HSV/HLC models generally just look good.
R translates various color models to hex, e.g.:
• RGB (red, green, blue): The default intensity scale in R
ranges from 0-1; but another commonly used scale is 0-
255. This is obtained in R using maxColorValue=255.
alpha is an optional argument for transparency, with the
same intensity scale.
rgb(r, g, b, maxColorValue=255, alpha=255)
• HSV (hue, saturation, value): values range from 0-1, with
optional alpha argument
hsv(h, s, v, alpha)
• HCL (hue, chroma, luminance): hue describes the color and
ranges from 0-360; 0 = red, 120 = green, blue = 240, etc.
Range of chroma and luminance depend on hue and each
other
hcl(h, c, l, alpha)
peachpuff4
TIP: When it comes to selecting a color palette,
DO NOT try to handpick individual colors! You will
waste a lot of time and the result will probably not
be all that great. R has some good packages for
color palettes. Here are some of the options
Packages: grDevices and
colorRamps
grDevices comes with the base
installation and colorRamps
must be installed. Each palette’s
function has an argument for
the number of colors and
transparency (alpha):
Package: RcolorBrewer
This function has an argument for the number of
colors and the color palette (see P. 4 for options).
brewer.pal(4, “Set3”)
> "#8DD3C7" "#FFFFB3" "#BEBADA" "#FB8072“
For the rainbow palette you can also select start/end color
(red = 0, yellow = 1/6, green = 2/6, cyan = 3/6, blue
= 4/6 and magenta = 5/6) and saturation (s) and value (v):
rainbow(n, s = 1, v = 1, start = 0, end = max(1, n - 1)/n, alpha = 1)
To view colorbrewer palettes in R: display.brewer.all(5)
There is also a very nice interactive viewer:
http://colorbrewer2.org/
Package: colorspace
These color palettes are based
on HCL and HSV color models.
The results can be very
aesthetically pleasing. There
are some default palettes:
## My Recommendation ##
R Color Palettes
This is for all of you who don’t know anything
about color theory, and don’t care but want
some nice colors on your map or figure….NOW!
grDevices
palettes
cm.colors
topo.colors
terrain.colors
heat.colors
rainbow
see P. 4 for
options
heat.colors(4, alpha=1)
> #FF0000FF" "#FF8000FF" "#FFFF00FF" "#FFFF80FF“
colorspace
default palettes
diverge_hcl
diverge_hsl
terrain_hcl
sequential_hcl
rainbow_hcl
R can translate colors to rgb (this is handy for
matching colors in other programs)
col2rgb(c(“#FF0000”, “blue”))
Page 1, Melanie Frazier
Example: