Use interpolateHsl.
Use d3.quantile to set range of output.