5.3 Colour Theory in Cartography
Choosing colour schemes that communicate accurately and include every reader.
Key takeaways
- Colour choices encode meaning — use sequential, diverging, or qualitative palettes to match the data's structure.
- Perceptually uniform palettes (viridis, ColorBrewer) prevent misleading the reader.
- Accessible palettes (colour-blind safe, sufficient contrast) include everyone.
Introduction
Colour is the cartographer's loudest tool. It communicates quantity, category, emphasis, and mood — and, when chosen badly, misleads. This lesson covers the three palette types, the perceptual math behind good palettes, and how to ensure your maps work for colour-blind readers.
The three palette types
Match palette type to data structure:
Sequential
For ordered data from low to high — population density, elevation, NDVI, concentration. Uses a single hue (or two closely related hues) with varying lightness.
Examples: Blues, Viridis, YlOrRd, Purples.
Diverging
For data with a meaningful centre — temperature anomalies around zero, gains vs losses, above vs below average. Uses two contrasting hues that meet at a neutral midpoint.
Examples: RdBu (red–blue), BrBG (brown–green), PuOr (purple–orange).
Qualitative
For categorical data with no implicit order — land cover classes, political parties, neighbourhood names. Uses distinct hues of similar lightness.
Examples: Set1, Dark2, Paired.
The perceptual uniformity problem
Common colour ramps like the classic rainbow (Jet, HSV) are not perceptually uniform. Equal steps in data don't correspond to equal steps in perception; sharp luminance jumps create bands that look like meaningful thresholds but are artefacts of the palette.
Modern solutions:
- Viridis family (viridis, plasma, magma, inferno) — designed to be perceptually uniform and colour-blind safe.
- Cividis — optimised for colour-blind viewers specifically.
- ColorBrewer schemes — developed by Cynthia Brewer from empirical testing.
Default to one of these unless you have a specific reason not to.
Colour-blind accessibility
Roughly 8 % of men and 0.5 % of women have some form of colour vision deficiency — most often red/green confusion. Tools:
- Simulators — Coblis (colorfilter.wickline.org) shows what your map looks like to colour-blind readers.
- Palette chooser — ColorBrewer flags palettes as "colour-blind safe".
- Avoid red/green as the primary contrast for diverging data — use red/blue, or brown/green (both of which remain distinguishable under deuteranopia).
- Add redundant encoding — shape, label, texture — so the map is still usable in grayscale.
Hue, saturation, and lightness (HSL)
Understanding HSL helps you adjust palettes:
- Hue — the colour itself (red, blue, etc.).
- Saturation — how pure the colour is (grey to vivid).
- Lightness — how bright (black to white).
For sequential palettes, vary primarily lightness with a consistent hue. For qualitative palettes, vary primarily hue with similar lightness.
Number of classes
How many classes a sequential ramp can handle:
- 3–5 classes — comfortable for most readers.
- 7 classes — maximum before boundaries blur.
- 9+ classes — typically too many; use a continuous ramp instead or simplify.
ColorBrewer palettes come in pre-designed 3-, 5-, 7-, and 9-class versions precisely for this reason.
Classification schemes
How to break a continuous variable into classes:
- Equal interval — equal data ranges per class. Simple; hides distribution skew.
- Quantile — equal numbers of features per class. Evens out the map but can group very different values.
- Natural breaks (Jenks) — finds class breaks minimising within-class variance. Data-driven; useful default.
- Standard deviation — classes relative to the mean; emphasises outliers.
- Manual — the cartographer picks breaks based on meaningful thresholds.
Module 16.2 covers classification methods in depth.
Opacity and transparency
Transparency lets layers coexist. Guidelines:
- Base layers at 100 % opacity; overlays at 60–80 %.
- Avoid nesting more than three transparent layers — colours mix unpredictably.
- Transparency can't replace choice; a muddy semi-transparent map is still a muddy map.
Print vs screen
Colours behave differently on paper and on screens:
- RGB (additive) on screen.
- CMYK (subtractive) in print.
- Convert RGB → CMYK and preview before printing — vivid blues and greens often dull.
- Paper white is not pure white; account for the paper's colour.
For publication, request a proof before committing to a print run.
Colour and meaning (cultural connotations)
Colours carry connotations:
- Red = danger, heat, warnings (West); celebration, fortune (China).
- Green = nature, "go", environment; money (US).
- Blue = water, cold, calm; mourning (Iran).
- White = purity (West); mourning (East Asia).
Audience awareness matters. Red for "bad" and green for "good" is often appropriate but not universal.
A worked palette choice
Question: map county-level median income for a US state. Thousand dollars per year, right-skewed.
- Data is ordered → sequential palette.
- 5 classes via quantile (or Jenks — experiment).
- Viridis or YlGnBu from ColorBrewer — perceptually uniform, colour-blind safe.
- Manual break candidates: $40k, $55k, $70k, $95k to align with round numbers.
- Legend: "Median household income, 2022 US $".
Test in greyscale. Test for deuteranopia. Ship.
In Atlas, this is a fast iteration loop: change the classification method, swap the colour ramp, adjust opacity, and look at the same map at several zoom levels. Treat it as a visual lab, not just a publishing step.
Self-check exercises
1. Your dataset is "change in population, −10 % to +20 %". Which palette type?
Diverging — the zero point is meaningful (growth vs loss). Use a palette like RdBu or BrBG with the neutral colour at 0 %. If you chose sequential instead, readers could not visually distinguish gain from loss at a glance.
2. Why avoid the classic rainbow ramp for ordered data?
It's not perceptually uniform — equal steps in the data don't map to equal steps in perceived colour. Sharp luminance jumps create artefactual banding that readers mistake for meaningful thresholds. Viridis, magma, plasma, and ColorBrewer sequential palettes are perceptually uniform alternatives.
3. A colour-blind reader can't distinguish two categories in your qualitative map. What are two remedies?
(1) Pick a colour-blind-safe palette (ColorBrewer flags these) — common swaps are red→orange, green→teal. (2) Add redundant encoding — shape, pattern, labels — so category identity isn't colour-only. Test with Coblis or similar simulators before publishing.
Summary
- Sequential, diverging, and qualitative palettes match ordered, centred, and unordered data.
- Viridis and ColorBrewer are perceptually uniform; rainbow / jet is not.
- Design for colour-blind readers by default; test with simulators.
- Classification schemes and class counts interact with colour choices.
Further reading
- ColorBrewer 2.0 —
colorbrewer2.org. - Viridis documentation and design rationale (Stéfan van der Walt, Nathaniel Smith).
- Brewer, C. — Designing Better Maps, colour chapter.
- Moreland, K. — Diverging Color Maps for Scientific Visualization.