An interesting article from IBM Research about color schemes for science visualizations. The obvious recommendations are: if the zero-crossing (or crossing of any level) is important in the data, the color gradient should highlight this; low saturation colors can be better; and the rainbow color gradient is always the wrong choice.
The color article made me rethink one of the standard displays for microarray data: a heatmap with a green to red color gradient, green as low expression and red as high expression, rows as genes and columns as samples.

This is a problem for the ~5% people that are color blind, especially since red-green is one of the more common types of color blindness. I’ve seen purple to yellow color gradients, but I’m trying cyan to yellow now, since it has comparable lightness on both ends:

R code:
cyan.yellow.cols <- rgb(c(rep(0,11),1:10/10),c(10:1/10,0,1:10/10),c(10:1/10,rep(0,11)),1)
green.red.cols <- rgb(c(rep(0,11),1:10/10),c(10:1/10,rep(0,11)),0,1)
exprs <- matrix(rnorm(100),ncol=10)
library(Heatplus)
heatmap_2(exprs,col=green.red.cols,scale="none",legend=1)
heatmap_2(exprs,col=cyan.yellow.cols,scale="none",legend=1)
