How to change the alpha value of colours in R

Often I like to reduce the alpha value (level of transparency) of colours to identify patterns of over-plotting when displaying lots of data points with R. So, here is a tiny function that allows me to add an alpha value to a given vector of colours, e.g. a RColorBrewer palette, using col2rgb and rgb, which has an argument for alpha, in combination with the wonderful apply and sapply functions.

The example below illustrates how this function can be used with colours provided in different formats, thanks to the col2rgb function.

Session Info

R version 3.0.0 (2013-04-03)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] RCurl_1.95-4.1 bitops_1.0-5


For attribution, please cite this work as:

Markus Gesmann (Apr 30, 2013) How to change the alpha value of colours in R. Retrieved from

BibTeX citation:

@misc{ 2013-how-to-change-the-alpha-value-of-colours-in-r,
 author = { Markus Gesmann },
 title = { How to change the alpha value of colours in R },
 url = { },
 year = { 2013 }
 updated = { Apr 30, 2013 }