Choosing colours for data visualisation: colour-blind safe palettes and contrast

TUREFF• •0
Colour is often the first thing people notice in a chart, and the easiest thing to get wrong. Good colour makes a chart quicker to read. Poor colour makes it confusing, and for many readers impossible to read at all. Colour vision deficiency is common, most often affecting the ability to tell reds from greens, and it is estimated to affect around 1 in 12 men and 1 in 200 women of northern European descent. Any chart for the public will have readers who see colour differently.

Start with the type of data

The right palette depends on what your colours represent.
  • Categorical data: distinct groups with no order, such as countries, products or parties. Use clearly different hues. Keep the number small, ideally no more than about six to eight.
  • Sequential data: values that run from low to high, such as income or temperature. Use one hue, or a smooth blend, running from light to dark.
  • Diverging data: values with a meaningful middle point, such as change from zero, or above and below average. Use two contrasting hues that meet at a neutral light colour in the middle.
Using a rainbow palette for sequential data is a common mistake. Rainbow scales have uneven jumps in brightness, so some steps look like sharp boundaries and others vanish.

Colour-blind safe choices

  • Avoid relying on red against green. That is the most common confusion. Blue and orange is a much safer contrasting pair.
  • Vary lightness, not just hue. Colours that differ in brightness remain distinguishable for colour-blind readers, and in greyscale print.
  • Use a tested palette. The Okabe-Ito palette was designed for colour-blind readers and is widely used for categorical data. The viridis family of colour maps was designed to be perceptually uniform and readable with the most common forms of colour blindness, which makes it a strong default for sequential data such as heat maps.
  • Many charting tools now include colour-blind friendly palettes as options. Check your tool's settings before building your own.

Do not rely on colour alone

  • Label lines and bars directly rather than making readers match colours to a legend.
  • Use shape, pattern or line style as well, such as solid and dashed lines, or circles and triangles.
  • Add values or annotations to the key points.
  • Check your chart in greyscale. If the meaning disappears, it is relying too much on colour.

Contrast and readability

  • Text needs enough contrast against its background. Accessibility guidance for text uses a contrast ratio of at least 4.5 to 1 for normal text. Light grey labels on white often fail.
  • Graphical elements need contrast too. Thin lines in pale colours disappear on a projector or a phone in sunlight.
  • Do not put text on busy or heavily coloured areas. If you must, use a contrasting outline or a solid label background.
  • Think about dark mode. A palette that works on white can fail on a dark background. Test both if your chart will appear in both.

Use colour with purpose

  • Grey out what does not matter. Show most series in grey and highlight the one or two you are talking about in a strong colour. This is often the most effective use of colour in a chart.
  • Be consistent. If a country is blue in one chart, keep it blue in the next.
  • Use familiar associations carefully. Party colours or red for losses help readers, but do not assume every reader shares the same conventions.
  • Fewer colours is usually better. If you need more than eight categories, consider grouping small ones into Other, splitting into small multiple charts, or labelling directly instead.

Test before you publish

  • Use a colour-blindness simulator. Several free browser tools and design apps show your chart as seen with common types of colour vision deficiency.
  • Print it in black and white or switch your screen to greyscale.
  • Show it to someone else and ask what they think the chart says without explaining it.
What palettes do you rely on for your charts? Share your favourites in the comments.

Comments (0)