col2rgb {grDevices} | R Documentation |
R color to RGB (red/green/blue) conversion.
col2rgb(col, alpha = FALSE)
col |
vector of any of the three kind of R colors, i.e., either
a color name (an element of |
alpha |
logical value indicating whether alpha channel (opacity) values should be returned. |
For integer colors, 0
is shorthand for the current
par("bg")
(and hence is only relevant to base graphics
and not grid graphics, and is an error if graphics is not
loaded), and NA
means transparent.
For character colors, "NA"
is equivalent to NA
, transparent.
an integer matrix with three or four rows and number of columns the length
(and names if any) as col
.
Martin Maechler
col2rgb("peachpuff") col2rgb(c(blu = "royalblue", reddish = "tomato")) # names kept col2rgb(1:8)# the ones from the palette() : col2rgb(paste("gold", 1:4, sep="")) col2rgb("#08a0ff") ## all three kind of colors mixed : col2rgb(c(red="red", palette= 1:3, hex="#abcdef")) ##-- NON-INTRODUCTORY examples -- grC <- col2rgb(paste("gray",0:100,sep="")) 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)