Lie Factor: Tufte's Formula and How to Calculate It
The lie factor is Edward Tufte's measure of how much a chart distorts its data: the size of the effect shown in the graphic divided by the size of the effect in the data. A lie factor of 1.0 means the marks on the page change in exact proportion to the numbers; Tufte treats anything above 1.05 or below 0.95 as substantial distortion.
Quick answer: Lie factor = (size of effect shown in graphic) ÷ (size of effect in data), where each size of effect is the relative change (second value − first value) ÷ first value. Measure the physical marks (bar length, bubble area) for the graphic and use the raw numbers for the data. In The Visual Display of Quantitative Information (1983), Tufte treats 0.95 to 1.05 as acceptable. His best-known example, a 1978 New York Times fuel-economy chart, has a lie factor of 14.8.
What is the lie factor in data visualization?
The lie factor is a ratio Edward Tufte introduced in the "Graphical Integrity" chapter of The Visual Display of Quantitative Information, the same book that introduced the data-ink ratio and the term chartjunk. It puts a number on his first principle of graphical integrity: the size of the marks, as physically measured on the graphic, should be directly proportional to the quantities they represent. If the data grows by 10% but the bar grows by 50%, the graphic overstates the change fivefold, and the lie factor is 5.0.
Lie Factor = size of effect shown in graphic / size of effect in data
size of effect = (second value - first value) / first value
Both effects are relative changes, so units cancel. You can measure the graphic in pixels, millimeters, or axis units and get the same answer. For a decrease, both effects are negative and the ratio is still positive. If the two effects have opposite signs, the graphic isn't just exaggerating. It shows the change going the wrong way.
How do you calculate the lie factor step by step?
Pick the two values the chart invites the reader to compare, compute their relative change in the data, measure the relative change in the marks that represent them, and divide the second by the first. The key is measuring what the reader actually sees: the visible length of a bar from where it starts on the chart, or the area of a bubble. The number printed in the label doesn't count.
- Choose the base value and the comparison value: first and last period, or smallest and largest bar.
- Size of effect in data = (comparison − base) ÷ base.
- Measure the two marks: bar length from its visible baseline, or circle or icon area.
- Size of effect in graphic = (comparison mark − base mark) ÷ base mark.
- Lie factor = step 4 ÷ step 3.
Worked example: a quarterly revenue column chart whose y-axis starts at $3.8M instead of zero.
Data
Q1 revenue = $4.0M, Q2 revenue = $4.4M
Effect in data = (4.4 - 4.0) / 4.0 = 0.10 -> +10%
Graphic (y-axis starts at $3.8M)
Q1 column = 4.0 - 3.8 = 0.2 units tall (40 px on screen)
Q2 column = 4.4 - 3.8 = 0.6 units tall (120 px on screen)
Effect shown = (0.6 - 0.2) / 0.2 = 2.00 -> +200%
= (120 - 40) / 40 = 2.00 (same in pixels)
Lie factor = 2.00 / 0.10 = 20.0
Revenue grew 10%, but the Q2 column looks three times as tall as Q1. With the axis starting at zero, the columns are 4.0 and 4.4 units tall, a +10% change in both the data and the graphic, and the lie factor is 1.0. Truncated axes are the most common cause of high lie factors on bar charts. See axis truncation ethics for when a non-zero baseline is defensible.
To do this in a spreadsheet, put the two data values in A2 and B2 and the two measured mark sizes in C2 and D2:
=((D2-C2)/C2)/((B2-A2)/A2)
What is an acceptable lie factor?
Tufte's rule of thumb is that a lie factor between 0.95 and 1.05 is acceptable. Values above 1.05 or below 0.95 indicate substantial distortion, well beyond minor plotting inaccuracies. Above 1, the graphic exaggerates the change; below 1, it understates it.
| Lie factor | Meaning | Typical cause |
|---|---|---|
| 1.0 | Marks change in exact proportion to the data | Zero-baseline bars, area-scaled bubbles |
| 0.95 to 1.05 | Acceptable (Tufte's tolerance) | Rounding, pixel snapping, stroke widths |
| Above 1.05 | Exaggerates the change | Truncated bar axis, radius-scaled circles, icons scaled in two dimensions, 3D perspective |
| Below 0.95 | Understates the change | Bars drawn from a baseline below zero, a minimum bubble size added to every mark |
A lie factor outside the band usually traces back to one construction choice: an axis minimum set by hand or by auto-scaling, a size mapping, or a 3D effect. Fix that choice and the ratio returns to about 1.0.
What is the lie factor in Tufte's New York Times fuel economy example?
Tufte's best-known example is a 1978 New York Times graphic of the federal fuel-economy standards for new cars, which rose from 18 miles per gallon in 1978 to 27.5 mpg in 1985. The chart drew each year's standard as a horizontal line across a road receding in perspective. The 1978 line was 0.6 inches long and the 1985 line was 5.3 inches long. Tufte calculated a lie factor of 14.8.
Effect in data = (27.5 - 18.0) / 18.0 = 0.53 -> +53%
Effect in graphic = (5.3 - 0.6) / 0.6 = 7.83 -> +783%
Lie factor = 7.83 / 0.53 = 14.8
The perspective drawing does the damage. Later years sit closer to the viewer, so their lines are drawn longer, and the drawn increase comes out 14.8 times the real one. A plain line or bar chart with a zero baseline shows the same data honestly. The example makes the core case against chartjunk: decoration is not neutral when it changes the size of the marks.
How should bubbles, circles, and icons be scaled?
Scale area, not radius or height, in proportion to the value. Readers compare circles and icons by their area, and area grows with the square of the radius. Doubling a circle's radius to show a doubled value quadruples its area, which gives a lie factor of 3.0. To make area proportional to the value, set the radius proportional to the square root of the value.
radius = max_radius * sqrt(value / max_value)
Largest value 400 drawn at 40 px radius:
value 400 -> 40 * sqrt(1.00) = 40.0 px
value 100 -> 40 * sqrt(0.25) = 20.0 px (area is 1/4 of the largest, matching 100/400)
Here is how common encodings compare when a value doubles from 10 to 20 (+100%):
| Encoding | What the mark does | Effect shown | Lie factor |
|---|---|---|---|
| Bar length ∝ value | Length ×2 | +100% | 1.0 |
| Circle area ∝ value (radius ∝ √value) | Area ×2 | +100% | 1.0 |
| Circle radius ∝ value | Area ×4 | +300% | 3.0 |
| Icon height and width ∝ value | Area ×4 | +300% | 3.0 |
| 3D cube edge ∝ value | Volume ×8 | +700% | 7.0 if read as volume |
Check your tool's default before trusting it:
- D3: use
d3.scaleSqrt()for radius, with both the domain and the range starting at 0. - Matplotlib: the
sargument toscatteris already marker area in points², so pass a value proportional to the data. Don't square it. - Plotly:
px.scatter(size=...)sizes by area, but in graph objectsmarker.sizemodedefaults to"diameter", so set it to"area". - Excel bubble charts: in Format Data Series, keep "Size represents" set to "Area of bubbles", not "Width of bubbles".
Correct scaling doesn't make area a precise encoding. Cleveland and McGill's (1984) ranking of elementary perceptual tasks places area judgments below position and length. Use bubbles when size is a secondary variable, and label the values that matter.
What are Tufte's six principles of graphical integrity?
The lie factor tests the first of six principles Tufte sets out in the same chapter. The other five cover labeling, design variation, inflation, dimensionality, and context. A ratio of two lengths can't catch any of those distortions.
| # | Principle (paraphrased from Tufte) | In practice |
|---|---|---|
| 1 | Numbers, as physically measured on the graphic, should be directly proportional to the quantities represented. | Keep the lie factor near 1: zero-baseline bars, area-scaled bubbles. |
| 2 | Use clear, detailed, thorough labeling to defeat distortion and ambiguity. Write explanations on the graphic and label important events. | Annotate axis breaks, unit changes, and events behind spikes. |
| 3 | Show data variation, not design variation. | Keep scales, colors, and sizing consistent across panels and over time. |
| 4 | In time series of money, deflated and standardized units are nearly always better than nominal units. | Adjust for inflation (and per capita where relevant) before charting dollars over years. |
| 5 | The number of information-carrying dimensions shown should not exceed the number of dimensions in the data. | Don't encode a single number with a 2D icon or a 3D shape. |
| 6 | Graphics must not quote data out of context. | Show enough history or comparison to judge whether a change is unusual. |
What are the limits of the lie factor?
The lie factor measures one thing: whether one visual encoding stays proportional to the data between two values. It says nothing about a cherry-picked time window, unadjusted dollars, or how accurately readers perceive the encoding. A chart can score 1.0 and still mislead.
- It fits magnitude encodings read from zero. Use it on bars, columns, filled areas, bubbles, and icons. On a line chart with a clearly labeled non-zero axis, readers are meant to judge change against the tick labels and the slope, not against the distance to the bottom of the plot.
- It checks one scale at a time. On dual-axis charts, each series can score 1.0 against its own axis while the visual relationship between the two series is set entirely by the designer's choice of ranges.
- It compares two values. With many marks, check the pairs the chart emphasizes, such as first versus last or smallest versus largest.
What are the common mistakes with the lie factor?
Most errors come from measuring the wrong thing in the graphic or trusting a tool default without checking it.
- Measuring the labels instead of the marks. On a truncated bar chart, the data labels are correct. The bar lengths are what distort.
- Using absolute differences instead of relative change. Each effect is divided by its own first value. Skip that step and you are dividing dollars by pixels.
- Measuring height on an icon readers judge by area. If an icon grows in both width and height, its area is the effect shown.
- Adding a minimum bubble radius. A square-root scale with a range of 5 to 40 px instead of 0 to 40 px inflates small values, which pushes the lie factor below 1 for comparisons involving them.
- Using 3D effects and perspective. Tilted pies and 3D columns draw near marks larger than far ones, which is the fuel-economy chart's problem.
- Treating 1.0 as a clean bill of health. Proportional marks can still show nominal dollars, a hand-picked date range, or unlabeled context. Check the other five principles too.
Pro Tip: Before you publish, measure the two marks the headline talks about and do the division. An on-screen ruler or the element sizes in your browser's dev tools is enough. If the lie factor won't stay between 0.95 and 1.05, the chart type is wrong for the comparison. Switch to a zero-baseline bar chart, a labeled line chart, or a small table of the actual numbers.
← Back to Visualization Tips