Color Names"

In this vignette, we describe various tools for assigning color names to the hexadecimal representations of RGB colors.

Getting Started

As usual, we start by loading the package:

library(Polychrome)

Next, we can look at one of the color palettes it provides.

data(alphabet)
swatch(alphabet)

As you can see, the alphabet palette has assigned names to colors that begin with different letters of the English alphabet. Since the Polychrome pacakge includes three differnt sets of (more or less) standard color names, we can see what they do for these colors:

cn <- colorNames(alphabet) # from UNIX rgb.txt file
cc <- isccNames(alphabet) # standards from the Inter-Society Color Council
xk <- xkcdNames(alphabet) # from the  xkCd online color survey
df <- data.frame(UNIX = cn, ISCC = cc, XKCD = xk)
rownames(df) <- names(alphabet)
df

Careful examination of this table shows that several ISCC names are duplicated:

apply(df, 2, function(X) length(unique(X)))
dupn <- df$ISCC[duplicated(df$ISCC)]
tmp <- df[df$ISCC %in% dupn,]
tmp[order(tmp[,2]),]

Scatter Plots

Our standard way to think about colors is in the L*u*v* color space model defined by the CIE. The next plot shows how the points in various "color name spaces" are distributed in the u-v subspace.

data(xkcd)
data(iscc)
colMat <- col2rgb(colors())
opar <- par(mfrow = c(2,2))
unix <- rgb(red = colMat[1, ]/255, green = colMat[2, ]/255, blue = colMat[3, ]/255)
uvscatter(alphabet, xlim = c(-80, 160), ylim =c (-130, 125))
uvscatter(iscc$Hex, xlim = c(-80, 160), ylim =c (-130, 125), main = "ISCC")
uvscatter(unix, xlim = c(-80, 160), ylim =c (-130, 125), main = "UNIX")
uvscatter(xkcd$Hex, xlim = c(-80, 160), ylim =c (-130, 125), main = "XKCD")
par(opar)

As you can see, the alphabet colors are widely dispersed across the color spectrum, making them somewhat easier to distinguish. The 247 standard colors from the ISCC are clumped twoard the middle of the space, making it harder to name colors out on the fringes. The UNIX rgb.txt color names consist of 697 names, but some of these are duplicate names for the same 502 distinct hexadecimal color representations. Even so, there are clear gaps in the color space that are not given distinct names. The results fo teh XKCD survey have a much denser coverage of more of the available color space.



Try the Polychrome package in your browser

Any scripts or data that you put into this service are public.

Polychrome documentation built on May 23, 2026, 3:01 a.m.