Rich Color Palettes

Share:

Description

Create a vector of n colors that are perceptually equidistant and in an order that is easy to interpret.

Usage

1
rich.colors(n, palette="temperature", alpha=1.0, rgb=FALSE, plot=FALSE)

Arguments

n

number of colors to generate.

palette

palette to use: "temperature" contains blue-green-yellow-red, and "blues" contains black-blue-white.

alpha

alpha transparency, from 0 (fully transparent) to 1 (opaque).

rgb

if TRUE then a matrix of RGBA values is included as an attribute.

plot

whether to plot a descriptive color diagram.

Value

A character vector of color codes.

Author(s)

Arni Magnusson.

See Also

rgb, rainbow, heat.colors.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
m <- abs(matrix(1:120+rnorm(120), nrow=15, ncol=8))
opar <- par(bg="gray", mfrow=c(1,2))
matplot(m, type="l", lty=1, lwd=3, col=rich.colors(8))
matplot(m, type="l", lty=1, lwd=3, col=rich.colors(8,"blues"))
par(opar)

barplot(rep(1,100), col=rich.colors(100), space=0, border=0, axes=FALSE)
barplot(rep(1,20), col=rich.colors(40)[11:30]) # choose subset

plot(m, rev(m), ylim=c(120,0), pch=16, cex=2,
     col=rich.colors(200,"blues",alpha=0.6)[1:120]) # semitransparent

rich.colors(100, plot=TRUE)  # describe rgb recipe

par(mfrow=c(2,2))
barplot(m, col=heat.colors(15), main="\nheat.colors")
barplot(m, col=1:15, main="\ndefault palette")
barplot(m, col=rich.colors(15), main="\nrich.colors")
barplot(m, col=rainbow(15), main="\nrainbow")
par(opar)