`var colorScale = d3.scale.linear() .domain(d3.extent(points, ƒ('value'))) .range([purples[0], _.last(purples)])`
`var colorScale = d3.scale.quantize() .domain(d3.extent(points, ƒ('value'))) .range(purples)`
`var colorScale = d3.scale.quantile() .domain(_.sortBy(points, ƒ('value'))) .range(purples)`
`var colorScale = d3.scale.quantile() .domain(_.sortBy(points, ƒ('value'))) .range(purples)`
intro about maps?

Linear Scale

Coloring maps can be tricky! Here is some advice on it. We start with an array of places, coloring them based on their locations: `placePaths.style('fill', function(d){ return color(x.value) })` `d3.scale.linear` uses linear interpolation to transform a value the domain into the range. This isn't a method

Quantize

some text about the top right

Doesn't work great with outliers

some text about the top right

Quantile

some text about the top right

Might distort underlying date

some text about the top right

Janx natural breaks

some text about the top right