There's a lot of human judgment involved in creating choropleth maps. You can significantly change what you communicate to your readers by altering the number of classes, the type of breaks, and the color scheme.
There's some disagreement here, but in general, you should use no fewer than three classes and no more than eight. Any fewer will fail to show enough detail, and any more will no longer be discriminable. Here's a paper that argues you should use seven or eight.
- Equidistant Also called equal interval, this type ensures each break is numerically equal. It may make the most immediate sense to your readers, but it often fails to correspond to the distribution of your data.
- Quantile This type ensures each break contains the same number of data points. It corresponds to the distribution of your data, but it fails to highlight outliers and it might not make much sense to your readers.
- Logarithmic These are just like equidistant breaks, but on a logarithmic scale.
- K-means This uses the k-means clustering algorithm, which creates more "natural" breaks. Axismaps describes natural breaks as those that "minimize within-class variance and maximize between-class differences."
I used Gregor Aisch's awesome chroma.js library to implement these breaks.
This block lets you choose from 12 multi-hue schemes created by Cynthia Brewer. They can all be found on ColorBrewer2. Don't use rainbow color schemes, as people have trouble making pre-cognitive interpretations of the different colors.
Sex ration Sex ratio among people aged 0-4 by district. Lower sex ratios mean fewer females. Source: Census of India, 2011
Muslim pop. (%) Percentage of a district's population that is Muslim. Source: Census of India, 2011
Houseless / lakh pop. Number of homeless people per lakh people. No data for Dibang Valley, Arunanchal Pradesh; Lakshadweep, Lakshadweep; Kiphire, Nagaland; Upper Siang, Arunanchal Pradesh; Kolasib, Mizoram. Source: Census of India, 2011