The Legend That Lies
A city planning analyst builds a map of 220 census tracts showing median household income using graduated colors with 5 classes (Natural Breaks). The map is destined for a public PDF and a web map. Reviewers report: (1) on the web map, two adjacent tracts that are visibly different shades of green in ArcGIS Pro appear identical; (2) the printed PDF legend lists class breaks as $18,000–$41,200, $41,200–$63,900, etc., but a reader cannot tell which shade maps to which break because the swatches are ordered lightest-to-darkest while the labels are sorted by value descending; (3) a colleague says the map 'hides' the fact that one tract has a median income of $410,000, an extreme outlier. The analyst used a single-hue green ramp with 5 steps.
1. Explain why the web map shows two different classes as the same shade, and what property of the color ramp is responsible.
Read the worked answer
The cause is insufficient perceptual separation between adjacent steps in a single-hue ramp. With 5 steps of one hue, adjacent classes differ mainly in lightness, and the steps between mid-tones are close enough that (a) a compressed web renderer/display, (b) JPEG-ish compression or browser color management, and (c) the human eye's limited discrimination in mid-greens all collapse them. The property at fault is the lightness delta between adjacent ramp stops - it is too small in the middle of the ramp.
Fixes:
- Reduce to 4 classes, or switch to a multihue sequential ramp (e.g., yellow→green→blue) that varies hue as well as lightness, giving adjacent classes more separation.
- Choose a perceptually uniform color scheme (e.g., a ColorBrewer sequential scheme validated for the number of classes) rather than an arbitrary single-hue ramp.
- Explicitly set the class breaks to values that produce visible step changes, and test the exported web tiles at actual zoom, not just in Pro.
The key judgment: color choice is not cosmetic; it must survive the delivery medium.
2. Diagnose the legend problem and describe how to fix the legend so the mapping between shade and class is unambiguous.
Read the worked answer
Diagnosis: The legend is internally inconsistent. The swatch order and the label order were generated from different sort directions - swatches lightest→darkest, labels high→low value. A reader matching by position will pair the lightest swatch with the highest break, which is backwards. This is a legend construction error, not a data error, but it produces a map that actively misinforms.
Fix:
- In the legend properties, set the label sort order to match the swatch order (or vice versa) so the lightest swatch is labeled with the lowest class and the darkest with the highest - the convention readers expect for a sequential ramp.
- Use explicit class labels (e.g., '$18,000 – <$41,200') rather than ambiguous en-dash ranges that repeat the boundary value, so a reader knows whether $41,200 falls in the lower or upper class.
- Add a title and units ('Median household income, USD') so the numbers are interpretable without the surrounding report.
- Verify in the actual PDF export - legend layout can reflow on export.
The principle: a legend must be self-consistent and unambiguous; if a reader can misread it, it is wrong.
3. Address the outlier concern: how should the analyst handle the $410,000 tract without letting one value dictate the whole map?
Read the worked answer
The concern is valid. Natural Breaks with an extreme outlier will often push the top break far above the rest of the distribution, compressing the other 219 tracts into a few low classes and flattening the visual story. The single $410,000 tract also becomes a visual 'hot spot' that dominates attention.
Options, with trade-offs:
- Keep it, but use a classification that resists outliers - e.g., Quantile (equal counts per class) or a manual break set based on the 5th–95th percentile, with the outlier shown in an explicit '>$X' top class. This preserves the outlier's presence without letting it set the top break.
- Cap and annotate - set the top class to, say, '$150,000+' and add a note or callout for the $410,000 tract. The reader sees the extreme value but the ramp is not stretched.
- Do not silently clip or delete it - hiding a real value misrepresents the data and is a serious cartographic error.
Recommendation: Use percentile-based manual breaks with an open-ended top class, keep the outlier visible, and annotate it. The judgment call is to communicate the extreme value honestly while preventing it from distorting the classification of the other 219 tracts.