A bar chart's vertical axis starts at 92 rather than 0, and two bars whose values differ by 4% look three times apart — why?
answer
- what is the bar's length measuring
- the zero is doing the work
- value minus baseline, not value
- a point would only be zoomed
basics
~20 sA bar encodes value as length from the baseline, so a baseline of 92 makes each length proportional to value minus 92 rather than to the value: 94 and 98 become lengths of 2 and 6.
solid answer
~50 sA bar carries its value in **length**, measured from the baseline, so the length a reader sees is `value - baseline`, not the value. Move the baseline to 92 and a row worth 94 draws two units of bar while a row worth 98 draws six: the page asserts a threefold difference in a gap of about four percent, and the distortion grows without bound as the baseline creeps toward the data. The same limits under a point or a line are only a zoom: those marks are read against the ticks, so every value is still recoverable. The rule is about the channel, not about charts generally: a channel read from the baseline needs the baseline at zero. And you cannot infer intent from the picture, because tools differ in whether they extend a length mark's axis to zero on their own.
go deeper
Recall that a bar's length is measured from the baseline, so the length is the value minus the baseline. Read the lowest tick first, then the bars.
Explain why the same limits break a bar and merely zoom a point: one channel is length from the baseline, the other is position against ticks. Show the distortion growing as the baseline nears the data.
Show the judgment of changing what is drawn rather than where the axis starts — a shortfall or a period-on-period change has a meaningful zero and puts real variation across the frame.
Frame it as something a chart must state about itself before anyone acts on it. If the baseline is not visible in the caption, a reader cannot tell a deliberate choice from a tool default, and reviewers cannot catch either.
## What a bar's length is carrying A **mark** — the thing actually drawn for each row or each group, a point, a bar, a line, a tile — carries a column's values through a **visual channel**, a property of the mark such as position along an axis, length, area or colour. A bar's channel is **length**: the distance from the baseline to the bar's end. A reader recovers the number by seeing how long the bar is, and that length, measured in data units, is exactly `value - baseline`. Put the baseline at zero and the length equals the value, so the ratio of two lengths is the ratio of two values. Put it at 92 and the arithmetic changes with nothing on the page announcing it. A row worth 94 draws a bar two units long; a row worth 98 draws one six units long. The values differ by roughly four percent; the lengths differ by two hundred percent. The picture asserts the second thing, at a glance, and the tick labels reading 92, 94, 96, 98 are the only trace of the first. The distortion is not a fixed penalty either. It grows without bound as the baseline creeps toward the data: at a baseline of 93.9 the same two rows draw bars 0.1 and 4.1 units long, a forty-to-one picture of a four-percent gap. ## Which marks this breaks, and which it merely zooms | mark | channel carrying the value | what a non-zero baseline does | |---|---|---| | bar, or a filled area under a line | length measured from the baseline | breaks the encoding: every ratio read off the page is false, and the error grows as the baseline approaches the data | | point | vertical position | zooms the frame: every value is still recoverable by reading it against the ticks | | line joining points | position, with slope read as a rate | zooms, and inflates apparent steepness, so a reader over-reads how fast the quantity is moving | The rule worth carrying away is about the channel rather than about charts in general. **A channel read from the baseline needs the baseline at zero; a channel read against the ticks needs the ticks actually read.** Both popular slogans are wrong. "Every axis must start at zero" wastes the page on a series that lives between 94 and 98. "Truncation is fine if it is labelled" excuses the one case a label cannot repair, because a length is read at a glance and a tick label is read deliberately. ## The default is not something you can assume Designs genuinely differ here. Some extend the scale that maps values to length — the rule turning values into positions and lengths, together with the axis that lets a reader read them back — so that it includes zero whenever the mark is a length mark, unless the author overrides it. Others fit every axis to the values they were handed and will truncate a bar without comment. A third possibility is an author who set the limits deliberately and had a good reason. **The finished picture records none of this.** The same image comes out of all three paths. So "the tool would have started at zero if it mattered" is not an argument; it is a guess about which design produced the file. ## Reading one honestly, in three steps 1. Read the **lowest tick** before you read any bar. That is the baseline, and it is the whole story. 2. Convert two bars back to values by adding the baseline to each length, then form the ratio of the values. 3. Compare that ratio with the ratio the lengths suggested. The distance between those two numbers is the amount the chart is overstating. ## Drawing one honestly - Put the baseline at zero and accept that a four-percent difference looks like four percent. Very often that is the finding, and the chart is doing its job by saying so. - Where the interesting variation really is small against the level, change **what is drawn** rather than where the axis starts: draw the difference from a reference value, or the change from one period to the next. The length then encodes a quantity whose zero is meaningful, and the axis can start at zero honestly. - Where both the level and the fine resolution matter, move to a channel read against ticks — points, or points joined by a line — and state the limits plainly beside the chart. - A break drawn through the bars does not repair the encoding. The surviving lengths are still proportional to value minus baseline; the break warns only the fraction of readers who notice it. - Do not rely on a tick label to undo a length. ## What it does not fix The baseline is only one of the things an axis setting quietly decides. The same limits also govern which rows appear at all: a value outside them has no mark inside the drawn region, and the page says nothing about how many went missing. One line of configuration can therefore make a chart dishonest about proportion and about completeness at the same time, and neither shows up until someone compares the axis against the column it came from.
- The same numbers are drawn as points joined by a line on the same truncated axis. Is that dishonest too?Less so, and for a different reason. Position is read against the ticks, so every value is still recoverable and the narrowing is a zoom. What it does distort is slope: a narrow frame makes a gentle rate look violent. Label the limits, and do not let a reader conclude anything about size from steepness alone.
- The bars carry a completion rate that never falls below 90%. A zero baseline wastes the page — what now?Change the quantity rather than the axis. Draw the shortfall from 100, or the change against the previous period. Both have a meaningful zero, both keep the bar's length honest, and both put the variation across the full height of the frame instead of squeezing it into the top tenth.
- How would you tell, from a chart alone, whether the truncation was a choice?You cannot. Some designs extend a length mark's axis to zero unless overridden, others fit every axis to the data they received, and a deliberate author's chart is identical to both. That is the argument for stating the limits in the caption rather than leaving the reader to reconstruct intent.
saying these in an interview costs you the question
- Says truncating any axis is fine as long as it is labelled
- Says every chart's axis must start at zero whatever the mark
- Assumes the tool would have started at zero if it mattered
- Claims a break drawn in the bars restores the true proportion
- Reads bars three times apart as values three times apart