← All Kits · Excel Kit

Should the Axis Start at Zero? The Rule Is About the Mark, Not the Chart

Michael Nocito · Updated August 2026 · Every number on this page was worked before it was published

The argument comes back every quarter. One person says an axis must always start at zero. Another says that makes half their charts useless. Both are describing real situations, and the rule that settles it is not about the chart type as a name. It is about what the ink encodes.

What you do: if the mark's length carries the value, the axis starts at zero. If the mark's position carries the value, it does not have to.

The short version. Bars from zero, always. Lines and dots, from wherever the data lives, clearly labelled.

Why bars are different

A bar is a rectangle whose length is the number. Two regions, 1,750 and 3,150. West is 1.8 times East, and on a zero-based axis a reader gets that ratio for free by looking.

Start the axis at 1,600 and the drawn bars become 150 and 1,550 units long. The reader's eye now reports a ratio above ten to one. Nobody misread the chart: the chart said ten to one, in the only language a bar has. That is why truncating a bar axis is not a matter of taste. The encoding is length, and the length is now wrong.

Why lines are different

A line encodes value as vertical position, and what the reader takes from it is the shape: the rises, the falls, the turning points. Nobody measures the distance from a line down to the axis.

Take an on-time delivery rate that runs 96.2, 96.8, 97.1, 95.4, 94.9, 95.2 percent over six months. That is a real fall of more than two points and worth a conversation. On a zero-based axis it is a flat line near the top of an empty chart, and the empty 94 percent below it is telling the reader nothing they did not already know.

Plot the same series from 94 to 98 and the drop in month four is visible, which is the entire reason for drawing it. The obligation that comes with the non-zero axis is labelling: real tick values, no hiding, and a subtitle that says what the range is if the audience is not close to the data.

The test to apply. Cover the axis with your thumb. If the chart still communicates the same thing, you are reading position and a non-zero start is fine. If covering the axis destroys the meaning, the mark was encoding length and it needs zero.

The cases, in one table

ChartWhat encodes the valueZero?Note
Bar, columnLengthAlwaysNo exceptions worth the argument
Stacked barLength, twice overAlwaysThe stack is meaningless otherwise
Line, time seriesPositionNot requiredLabel the range, keep ticks real
Dot plot, lollipopPosition of the dotNot requiredThe stick makes it length again, so beware
Area chartArea, which is lengthAlwaysOtherwise the fill is a lie
ScatterPosition on both axesNot requiredZero often wastes the plot
Percent changePosition, with a real zeroKeep zero visibleZero means no change, so it matters
Index, base 100PositionShow 100100 is the reference line, not 0

Where the argument actually comes from

Both camps are defending something real. The zero camp is defending the reader who will glance at a chart for two seconds and take a ratio from it. The non-zero camp is defending the analyst who has a two-point move in a rate and no way to show it. Neither is being dishonest, and the way through is not a compromise; it is picking a mark whose encoding suits the data.

Small variation on a high base? Use a line or a dot, not a bar, and set the range to the data. Comparing magnitudes across categories? Use a bar, from zero. If you genuinely need both, draw two charts: the levels as bars from zero, and the change as its own chart. That is nearly always clearer than one chart trying to do both.

Doing it in Excel

  1. Click the vertical axis, then Format Axis, then Bounds. Minimum and Maximum are the two boxes.
  2. Type a round number, not the value Excel proposes. 94 reads as a decision; 94.37 reads as an accident.
  3. Set Major unit so the gridlines land on readable values.
  4. Leave the axis labels on. The single most common failure is a truncated axis with the numbers switched off for a cleaner look.
  5. Put the range in the subtitle for anyone seeing the chart in a screenshot, out of context, six weeks later. That is how most charts are eventually read.

How to apply this to your own work

  1. Find every bar chart in your standard pack and check the axis minimum. Any that is not zero is misstating a ratio right now.
  2. Find every line chart forced to zero and ask what it is hiding. Flat lines near the top of an empty chart are the tell.
  3. Where you truncate, write the range into the subtitle rather than relying on the axis labels alone.
  4. Convert any bar chart of small variation on a big base into a dot plot, and see how much easier it is to read.
  5. Screenshot one chart, crop the axis off, and show it to a colleague. What they say is what your chart says.

The one habit to keep

Say the sentence the chart makes a reader believe, then check the numbers support that exact sentence. "West is about ten times East" is a sentence a truncated bar chart makes people believe about a 1.8 times difference.

Where does the axis start on the chart at the front of your last deck?

Every number here was worked before it was published. 3,150 over 1,750 is 1.8. With the axis at 1,600 the drawn lengths are 1,550 and 150, a ratio of 10.3.
The axis is not a style choice. It is part of the claim the chart is making.

Charts and Visualization is the chart-choosing book: what each shape can carry, what it quietly distorts, and how to label it so the reader reaches your finding without being told.

Charts and Visualization, $19 →
Get the axis right and half the chart arguments disappear.

How charts mislead works this and seven other distortions on one table, and chart design basics covers the rest of the formatting. Build steps are in the Excel Kit.

Read How Charts Mislead →