> Hmm, I would have recommended > > colorRampPalette(c('dark red','white','dark blue'), > space = "Lab") > > where the 'space = "Lab"' part also makes sure that a > "perceptually-based" space rather than RGB is used. > > I think the functions colorRamp() and (even more) > colorRampPalette() are very nice, part of "standard R" and > still not known and used enough.
Well I use them in ggplot2 :) Unfortunately I've noticed that space = "Lab" is much slower than space = "RGB" which is why I don't use Lab space as a default. And it also ignores alpha values, which is a bit of a pain. > Note that they are based on 'convertColor()' and other color > space functionality in R all of which deserve more usage > in my oppinion and also in my own code ! ;-) I find colour manipulation generally painful - all the really hard stuff is there (i.e. conversion between colour spaces), but convenient functions are lacking. For example, I have this alpha function in ggplot: alpha <- function(colour, alpha) { col <- col2rgb(colour, TRUE) / 255 col[4, ] <- rep(alpha, length(colour)) new_col <- rgb(col[1,], col[2,], col[3,], col[4,]) new_col[is.na(colour)] <- NA new_col } which seems like a lot of work for a simple task. The fact that col2rgb and rgb aren't symmetric is frustrating, especially since one outputs values between 0 and 255 and the other (by default) accepts inputs between 0 and 1. > Package 'vcd' (and others) use package 'colorspace', > and I have wondered in the past if these color space computations > should not be merged into to standard R (package 'grDevices'). > But that's really a topic for another thread, on R-devel, not R-help.. It would definitely be nice if all colour space manipulations were merged into a single package, with a consistent interface. I would happily contribute to such a project, since I do a lot of colour manipulation in ggplot. Hadley -- http://had.co.nz/ ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.