rgb {grDevices}R Documentation

RGB Color Specification


This function creates “colors” corresponding to the given intensities (between 0 and max) of the red, green and blue primaries.

An alpha transparency value can also be specified (0 means fully transparent and max means opaque). If alpha is not specified, an opaque colour is generated.

The names argument may be used to provide names for the colors.

The values returned by these functions can be used with a col= specification in graphics functions or in par.


rgb(red, green, blue, alpha, names = NULL, maxColorValue = 1)


red, blue, green, alpha numeric vectors with values in [0, M] where M is maxColorValue. When this is 255, the red, blue, green, and alpha values are coerced to integers in 0:255 and the result is computed most efficiently.
names character. The names for the resulting vector.
maxColorValue number giving the maximum of the color values range, see above.


The colors may be specified by passing a matrix or dataframe as argument red, and leaving blue and green missing. In this case the first three columns of red are taken to be the red, green and blue values.

Semi-transparent colors (0 < alpha < 1) are supported only on a few devices: at the time of writing only on the pdf and (on MacOS X) quartz devices.


A character vector with elements of 7 or 9 characters, "#" followed by the red, blue, green and optionally alpha values in hexadecimal (after rescaling to 0 ... 255).

See Also

col2rgb the “inverse” for translating R colors to RGB vectors; rainbow, hsv, hcl, gray.


(u01 <- seq(0,1, length=11))
stopifnot(rgb(u01,u01,u01) == gray(u01))
reds <- rgb((0:15)/15, g=0,b=0, names=paste("red",0:15,sep="."))

rgb(0, 0:12, 0, max = 255)# integer input

ramp <- colorRamp(c("red", "white"))
rgb( ramp(seq(0, 1, length = 5)), max = 255)

[Package grDevices version 2.5.0 Index]