
Size & scale
The rainbow colour map
One degree buys seventeen units of colour here and half a unit over there.
a.k.a. jet · the rainbow palette · the spectrum scale · hsv · cmap="jet" · the stoplight gradient · non-perceptual colour scale · rainbow considered harmful
A colour ramp is an axis: it converts a quantity into an appearance, and the reader converts it back. Lightness is the one channel with an order everybody already agrees on — hue has none until a convention supplies one — and a rainbow ramp does not spend its lightness in order. Jet climbs from dark blue through cyan to a peak in the yellow, then falls away into dark red, so the brightest thing on the chart is a value from the middle of the range and both ends of the scale arrive drawn dark. The rate is wrong too: equal steps of data buy wildly unequal steps of colour, fast where two hues meet and slow where one hue runs on, so the ramp invents hard edges in smooth data and flattens real gradients elsewhere. None of it shows up in the usual audit, because the scale is linear, the legend is printed, no bin edge was chosen and no value was touched.
How to spot it
- Find the brightest patch and read its value off the legend. On a well-behaved ramp that patch is at one end of the scale; on a rainbow it is usually somewhere in the middle.
- Ask which channel is carrying the order. Hue has no order — nothing tells a reader whether cyan outranks green — so if lightness is not climbing from end to end, the ranking is being supplied by convention or by nothing.
- Convert it to greyscale, or just print it. If the picture stops making sense, the colours were doing work the lightness was not.
- Look for a boundary that is too sharp for the quantity. Rainbows accelerate where hues meet, so a smooth field grows a crisp contour there — and a reader will name it, schedule around it, and ask what happened at that value.
- Look for the flat stretch too: a broad region of one hue where the data is still moving. Detail lost to it never announces itself.
- Red–green ramps at all. Around one man in twelve — more among readers of northern European descent, fewer elsewhere — reads the two ends as much the same hue, and a simulation takes ten seconds.
- The names: jet, rainbow, hsv, turbo, spectral, or a hand-rolled red-amber-green gradient. Rarely a default any more, but still the setting in GIS packages, older ParaView, thermal-camera firmware, Excel’s three-colour scale and every chart inherited from a colleague who typed it years ago.
The fix
Choose the ramp for the job and let lightness carry the order. For magnitude that means one hue running light to dark, or a multi-hue ramp built so that lightness only ever climbs — viridis, cividis, magma, or the Scientific colour maps Crameri publishes and which he, Shephard and Heron argue for in their 2020 paper on the misuse of colour. Keep a diverging pair with a neutral middle for data that has a real zero to diverge about, and never put a hue at that midpoint. Then run two checks rather than trusting one, because they catch different things: desaturate the finished picture and see whether it still reads, then simulate colour-vision deficiency and look again. They are not the same test — a dichromat is not a monochromat, and keeps a full blue–yellow axis — and both take about ten seconds. Give the ramp the things an axis gets: a legend with numbers on it, its two ends labelled, and the name of the map in the caption the way you would print a unit. Where a specific level genuinely matters, draw a labelled contour rather than hoping a colour boundary lands on it. None of this makes rainbows useless. Where a rainbow accelerates it separates values a single-hue ramp would flatten, and readers are accurate at looking a single value up against a rainbow key; Ware, Stone and Szafir make that case in IEEE CG&A in 2023. What a rainbow is poor at is ranking a whole field at a glance, which is what most heat maps are for — so know which task you have, and do not assume a smoother rainbow settles it, because turbo is smoother than jet and its lightness still turns over in the middle.
In the gallery

