Classification: the same data, four conclusions

One dataset, four classifications, four different maps. This is the most consequential choice in a choropleth and the one most often left to a default, so the breaks are always printed in the legend rather than hidden: a reader can see where the lines were drawn. The distribution here is deliberately skewed, which is what real data looks like and what pulls the methods apart. When you change the class count, fills tween to their new class (chart.animations sets the pace), so the areas that switched sides are the ones you see move.

quantile · equal counts per class
jenks · minimises within-class variance
equalInterval · equal value ranges
threshold · breaks you chose yourself

Which to use

Quantile is the default because every class is populated, so no part of the legend is decoration. It flatters skewed data by construction, which is a trade, not a free win. Jenks finds the breaks the data itself suggests and is the honest choice when clusters matter, at more compute. Equal interval is the only one whose legend is arithmetic a reader can do in their head, and on skewed data it leaves classes empty. Threshold is for when the breaks are the point: a statutory limit, a target, a zero crossing. A continuous linear, log or sqrt scale skips classing altogether and draws a gradient legend.

scale: { type: 'quantile', classes: 5 }
scale: { type: 'jenks', classes: 5 }
scale: { type: 'equalInterval', classes: 5 }
scale: { type: 'threshold', breaks: [5, 25, 100, 400], palette: 'reds' }
scale: { type: 'log' }                      // continuous, gradient legend