↑ ↓ to move · enter to open

D01 · Statistics · Lie factor, scales, cherry-picking

misleading charts

A chart can use true numbers and still tell a false story. The tricks are geometric: where the axis starts, how big a picture is drawn, which slice of time is shown, which two lines share a frame. Each trick has a number that measures it, starting with the lie factor. All data on this page is made up and generated in your browser.

LAB 1

the same numbers, two stories

Here are six years of sales for a made-up Company A. A bar chart shows each number as a length, so the eye compares lengths. If the vertical axis (the y-axis) starts at 96 instead of 0, every bar loses the same 96 units of length, and the small differences on top suddenly look huge. The lie factor measures that: how much bigger the change looks in the picture than it is in the data. A value of 1 means honest. Move the baseline, then stretch the chart's shape.

bars
96
0.60

How to read this: the gold bars are Year 1 and Year 6, the two years the lie factor compares. The lie factor turns green when the picture is honest (about 1), amber when it exaggerates, and red when it exaggerates two times or more.

—
Real change, Year 1 → 6
—
Drawn change (bar length)
—
Lie factor
—
On-screen slope, Year 1 → 6

Tufte's lie factor

effect = (second − first) / first
lie factor = effect drawn / effect in data
bars from baseline b: LF = first / (first − b)

Edward Tufte defined the lie factor in The Visual Display of Quantitative Information (1983). He treated values outside about 0.95 to 1.05 as a real distortion. For bars drawn from a baseline b, the subtraction cancels and the lie factor depends only on how close b is to the first value.

Now

Why bars must start at zero

A bar's length is its message, so cutting the bottom off changes the message. A line chart shows each value as a position, and readers judge the line's slope. A line chart whose axis starts above zero is common and can be fair when the axis is labeled and the change is what matters. It still looks steeper.

Shape changes slope too. Squash the chart flat and growth looks calm; stretch it tall and the same growth looks like a rocket. The statistician William Cleveland suggested choosing the shape so typical slopes sit near 45°, a rule called banking to 45°.

CodePython · matplotlib

LAB 2

tricks with area, scale and time

Four more ways to bend a true number. A pictogram draws a picture whose size stands for a value; doubling both its width and height makes it four times the area. A log scale spaces the axis by multiplication (1k, 10k, 100k) instead of addition. A time window is the stretch of dates a chart chooses to show. Dual axes put two unrelated scales on the left and right of one chart. Pick a trick.

pictogram
2.0×
—
—
—
—
—
—
—
—

The math

Now

When it's honest

CodePython · matplotlib

LAB 3

be the fact-checker

Each chart below comes with a headline and hides one flaw. Two new ones join the four you have seen. Totals versus per-capita: a big place has more of everything, so compare rates per person. Percent versus percentage points: going from 4% to 6% is a rise of 2 percentage points, which is a 50% increase. Pick the flaw, then compare the published chart with the honest one and the measured distortion. The numbers change every round.

published
0 / 0
Score
1
Chart
—
Distortion
—
What the data says

Verdict

The measure

distortion = what the picture says / what the numbers say

Every flaw on this page can be checked with arithmetic on the chart's own numbers. Correlation is covered in D03 · Correlation vs causation, and comparing groups of different sizes in D02 · Simpson's paradox.

CodePython · matplotlib

Pick a flaw first. The code for the honest and misleading versions appears with the verdict.