col2rgb {grDevices} | R Documentation |
R color to RGB (red/green/blue) conversion.
col2rgb(col, alpha = FALSE)
col |
vector of any of the three kinds of R color specifications,
i.e., either a color name (as listed by |
alpha |
logical value indicating whether the alpha channel (opacity) values should be returned. |
NA
(as integer or character) and "NA"
mean transparent.
Values of col
not of one of these types are coerced: real
vectors are coerced to integer and other types to character. (factors
are coerced to character: in all other cases the class is
ignored when doing the coercion.)
Zero and negative values of col
are an error.
An integer matrix with three or four (for alpha = TRUE
) rows
and number of columns the length of col
. If col
has
names these are used as the column names of the return value.
Martin Maechler and the R core team.
The newer, more flexible interface, convertColor()
.
col2rgb("peachpuff") col2rgb(c(blu = "royalblue", reddish = "tomato")) # note: colnames col2rgb(1:8) # the ones from the palette() (if the default) col2rgb(paste0("gold", 1:4)) col2rgb("#08a0ff") ## all three kinds of color specifications: col2rgb(c(red = "red", hex = "#abcdef")) col2rgb(c(palette = 1:3)) ##-- NON-INTRODUCTORY examples -- grC <- col2rgb(paste0("gray", 0:100)) table(print(diff(grC["red",]))) # '2' or '3': almost equidistant ## The 'named' grays are in between {"slate gray" is not gray, strictly} col2rgb(c(g66 = "gray66", darkg = "dark gray", g67 = "gray67", g74 = "gray74", gray = "gray", g75 = "gray75", g82 = "gray82", light = "light gray", g83 = "gray83")) crgb <- col2rgb(cc <- colors()) colnames(crgb) <- cc t(crgb) # The whole table ccodes <- c(256^(2:0) %*% crgb) # = internal codes ## How many names are 'aliases' of each other: table(tcc <- table(ccodes)) length(uc <- unique(sort(ccodes))) # 502 ## All the multiply named colors: mult <- uc[tcc >= 2] cl <- lapply(mult, function(m) cc[ccodes == m]) names(cl) <- apply(col2rgb(sapply(cl, function(x)x[1])), 2, function(n)paste(n, collapse = ",")) utils::str(cl) ## Not run: if(require(xgobi)) { ## Look at the color cube dynamically : tc <- t(crgb[, !duplicated(ccodes)]) table(is.gray <- tc[,1] == tc[,2] & tc[,2] == tc[,3]) # (397, 105) xgobi(tc, color = c("gold", "gray")[1 + is.gray]) } ## End(Not run)