Skip to main content
Learning Center
Spreadsheets for Decisions

Communicate an honest result

Choose and label a chart

Match the chart to the question, keep the axis truthful, measure how much a truncated one exaggerates, and ship a data table with every chart.

Lesson 14 of 18 in the recommended order · About 30 min (estimate)

On this page

Outcome

Choose a chart type from the question being asked, measure how much a truncated axis exaggerates a difference, and recognise why two series in different units cannot share an axis.

Why it matters

A chart is the part of the work that most people will see and the only part most will remember, and it is the easiest place in a spreadsheet to mislead without writing down anything false.

The five months in this lesson vary by six percent. Drawn from zero, that is five bars of almost the same height, and a reader takes away that attendance has been steady, which is true. Drawn from an axis starting at 500 — every number correct, every label accurate — the tallest bar is nearly four times the shortest, and a reader takes away that December was far busier than September, which is not.

Nobody lied. There is no wrong number anywhere on the second chart. The difference between the two is a single number in the axis settings, and its effect is measurable, which is the useful thing about it: whether to truncate an axis does not have to be an argument about taste when the exaggeration can be put in a cell.

Concept

Choose the type from the question.

  • How do these categories compare? A bar or column chart. Bars when the labels are long or there are many of them; columns when there are few and the axis is time.
  • How has this changed over an ordered sequence? A line chart. The line asserts that the points are in order and that the space between them means something, so never use one for categories that have no order.
  • Do these two measurements move together? A scatter chart, with one measurement on each axis. This is the only chart in the set where both axes are data.
  • Is this one number the whole point? Then it is not a chart. Write the number, large, with the comparison it needs beside it.

The axis. Start it at zero for anything where the height of the bar is meant to represent the quantity — which is every bar and column chart. A truncated axis makes the difference visible at the cost of making the proportion wrong, and readers read bars as proportions whatever the axis says.

There are defensible truncations. A line chart of a stock index, a temperature series, a measure whose interesting variation is genuinely a fraction of a percent — in those, starting at zero hides everything and the differences are the whole point. What makes them defensible is that the reader is told, prominently, and that the audience is one that reads axes.

What is never defensible is truncating silently to make a change look bigger. And there is a test for which one you are doing: compute the exaggeration.

=(highest - axis start) / (lowest - axis start)

With months of 545 and 512 and an axis starting at 500, that is 45 over 12, or 3.75. A six percent difference drawn as a three-and-three-quarter-fold one. Once that number is in the sheet, the conversation about which chart to publish is a short one.

Two units cannot share an axis. Attendance in the hundreds and a fill rate around 0.72 on one scale means the fill rate is a flat line at the bottom, indistinguishable from zero. The chart claims to show two things and shows one.

The standard response is a second axis on the right, and it is worth understanding exactly what that does. It makes both series visible, and it makes every apparent relationship between them meaningless, because the two scales are chosen independently: you can slide one until the lines cross wherever you like, and readers interpret a crossing as an event. A dual-axis chart is a picture whose most salient feature is an artefact of two arbitrary decisions.

Two units means two charts. They can sit side by side, and each one can be read.

Every chart needs an equivalent data table. Not as an accessibility afterthought — although it is that, and a chart with no table is unusable to a screen-reader user — but because a table is the only way a reader can check the chart. Every chart in this course carries one, built from the same cells as the bars, so the two cannot disagree.

Label so the chart survives being separated from its page. A title that names the measure and the period, an axis label with its unit, and a caption saying what the chart does not establish. Charts get screenshotted into other documents, and the caption is what travels with it.

Worked example

Read the code

Five months at one site:

September   512      October   528      November  534
December    545      January   521

The spread is 33 people, which is 6.4% of the smallest month. Attendance has been steady.

Two charts of those five numbers appear under the grid in the exercise below. The first starts its axis at zero: five bars of nearly equal height, and the reader's takeaway is "steady", which matches the data.

The second starts at 500. September's bar is 12 units tall and December's is 45. The reader's takeaway is "December was much busier", which does not.

Both charts are labelled accurately. Both have correct numbers. One of them is a picture of the data and the other is a picture of the axis choice.

The third chart puts attendance and fill rate on the same axis, and it is worth looking at because it fails in a different way: the fill rate series is around 0.72 against numbers around 520, so it does not appear at all. A reader sees a chart with a legend naming two things and bars showing one.

Predict the output

November had 534 people attend across 25 sessions. October had 528 across 24. Places per session is 30.

Predict these three, then say which month a chart of attendance alone would suggest was better, and which month a chart of fill rate alone would suggest.

October fill rate   =528/(24*30)
November fill rate  =534/(25*30)
Show the answers and what they mean for the chart

October is 528 over 720, or 73.3%. November is 534 over 750, or 71.2%.

A chart of attendance shows November higher than October, and it is: six more people came.

A chart of fill rate shows November lower than October, and it is: the extra session added thirty places and only six people.

Neither chart is wrong. They answer different questions — "how many came?" and "how full were the sessions?" — and a reader shown only one of them will take away a definite impression about which month went better, which the other chart contradicts.

This is the case for picking the chart from the question rather than from the data. If the question is whether to keep running the extra session, fill rate is the chart. If the question is how many people the programme reached, attendance is. Publishing whichever one supports the answer you already have is the thing this whole module is about.

Modify the code

Three edits turn an unreadable chart into a readable one, in order of how much they matter.

Start the axis at zero. In this grid a chart declares baselineAtZero, and when it is turned off the chart is required to state where its axis starts, in a banner above it. In Excel and Google Sheets the equivalent is the axis minimum, which is set to Auto by default — and Auto will truncate on its own, without asking, whenever the data is clustered. Checking it is part of making a chart rather than an optional refinement.

Split the units. Instead of:

one chart:  Attended (hundreds) and Fill rate (around 0.7)

two charts, each with its own axis and its own label. The second one is a line chart because fill rate over ordered months is a change-over-time question.

Say what it does not show. A caption on the fill-rate chart that reads "November is slightly lower than October despite more people attending, because November ran more sessions" is worth more than the chart, and it is the sentence a reader would otherwise have to work out or, more likely, not.

One thing not to do: adding a data table is not one of the three edits, because it is not optional. Every chart gets one.

Debug the bug

A slide says attendance is "up sharply". The chart supports it. The underlying numbers are the five months above, which vary by six percent.

  1. Read the axis before the bars. Every time. If it does not start at zero, note where it does start, and treat the visual difference as uninformative until you have computed the real one.
  2. Compute the real difference as a share. Highest minus lowest, over lowest. Six percent. That number goes in the sheet, not in your head.
  3. Compute the drawn difference. Highest minus axis start, over lowest minus axis start. 3.75. Now you have both numbers and the conversation is about a factual gap rather than about design preference.
  4. Check whether the axis was chosen or defaulted. This matters for how to raise it. Most truncated axes are not deceit; they are the default setting on clustered data, and the person who made the chart did not look. Saying "the axis defaulted to 500 and that overstates it fourfold" gets a chart fixed. Saying "this chart is misleading" gets an argument.
  5. Ask what claim the chart invites. Not what it says — what a reader who spends four seconds on it will believe afterwards. That is the thing to be accountable for.

The general shape: a chart's honesty is a property of the impression it leaves, not of the accuracy of its numbers. Both charts in this lesson have perfectly accurate numbers.

Try it yourself

Work out the fill rates, measure how much the figures actually vary, and measure how much a truncated axis would make them appear to vary.

Four charts are drawn under the grid from the cells you fill. Two of them are marked as examples of what not to do; look at all four and at the tables beneath them.

Draw the same five numbers twice, and measure the difference

Five months of attendance at one site. Work out the fill rate for each month, then measure how much the figures actually vary and how much they would appear to vary on a chart whose axis starts at 500 instead of zero. Four charts are drawn below the grid from the same cells: two of them are honest and two of them are examples of what not to do, marked as such.

  1. In D2 to D6, work out each month's fill rate: attendance against the places available, using the places per session in B9.
  2. In F2 to F4, find the highest month, the lowest month, and the range between them.
  3. In F5, express that range as a share of the lowest month.
  4. In F6, work out how many times taller the tallest bar would look than the shortest on an axis starting at the value in B11.
  5. In F7, say which of the two attendance charts belongs in a paper for the board.

This is a practice grid built for this course. It is not Excel and not Google Sheets, nothing you do here changes a file on your computer, and no spreadsheet application is involved.

Charts!A1This cell is supplied; it is not editable.
Practice grid, sheet Charts. Move with the arrow keys. Press Enter to edit a cell, Escape to cancel.
Row numberABCDEFGH
1MonthAttendedSessionsFill rateFindings
2September51224Highest month
3October52824Lowest month
4November53425Range between them
5December54525Range as a share of the lowest month
6January52124Times taller the tallest bar looks on the truncated axis
7Which attendance chart belongs in the board paper
8
9Places per session30
10
11Truncated axis would start at500
12
13
14
15
16
17
18
19
20
Attendance by month, axis from zero

column chart of Learners attending by Month. The same numbers are in the data table below the chart.

0136.25272.5408.75545SeptemberOctoberNovemberDecemberJanuaryMonthLearners attending
Data table for this chart
The numbers drawn in the chart “Attendance by month, axis from zero”.
MonthAttended (learners)
September512
October528
November534
December545
January521

Five bars of almost the same height, because the five months are within six percent of each other. That is what the data says. A reader takes away that attendance has been steady, which is true and is the finding.

Attendance by month, axis from 500

This chart is an example of what not to do. The same five numbers as the chart above. Every figure on it is correct and every label is accurate. Starting the axis at 500 draws the six percent spread as a difference of nearly four times, so a reader takes away that December was far busier than September. Nothing here is a lie and the impression is false.

The value axis starts at 500, not at zero. Differences between the bars look larger than the numbers are.

column chart of Learners attending by Month. The same numbers are in the data table below the chart.

500511.25522.5533.75545SeptemberOctoberNovemberDecemberJanuaryMonthLearners attending
Data table for this chart
The numbers drawn in the chart “Attendance by month, axis from 500”.
MonthAttended (learners)
September512
October528
November534
December545
January521

Compare this with the chart above and with cell F6, which measures the exaggeration: 3.75 times. A truncated axis is occasionally justified, when small differences genuinely matter and the reader is told; it is never justified silently.

Attendance and fill rate on one axis

This chart is an example of what not to do. Two quantities in different units drawn against one scale. Attendance is in the hundreds and the fill rate is a share around 0.72, so the fill rate bars are invisible and the chart says nothing about the measure it claims to show.

These series are measured in different units (learners and share of places) but share one axis, so their heights are not comparable. This grid draws one axis and only one; a second axis would hide the mismatch instead of showing it.

column chart of Learners attending by Month. The same numbers are in the data table below the chart.

0136.25272.5408.75545SeptemberOctoberNovemberDecemberJanuaryMonthLearners attending
  • Attended (learners)
  • Fill rate (share of places)
Data table for this chart
The numbers drawn in the chart “Attendance and fill rate on one axis”.
MonthAttended (learners)Fill rate (share of places)
September512no number
October528no number
November534no number
December545no number
January521no number

The usual response to this is a second axis on the right. That makes both series visible and makes the crossing points meaningless, because the two scales can be chosen to make the lines cross wherever you like. Two units means two charts, which is the chart below.

Fill rate by month

line chart of Share of places filled by Month. The same numbers are in the data table below the chart.

00.250.50.751SeptemberOctoberNovemberDecemberJanuaryMonthShare of places filled
Data table for this chart
The numbers drawn in the chart “Fill rate by month”.
MonthFill rate (share of places)
Septemberno number
Octoberno number
Novemberno number
Decemberno number
Januaryno number

The fill rate on its own axis, where it can be read. It is close to flat between 71 and 73 percent, and November is slightly lower than October despite more people attending, because November ran more sessions. That is the finding the mixed chart above could not show at all.

Sign in with your learning-center account to record attempts on this exercise. The grid works either way, and your work stays on this device.

Functions this grid understands

Anything else gives a #NAME? error. Arguments are separated by commas here; some regional settings in Excel and Google Sheets use semicolons instead.

  • ABS
  • AND
  • AVERAGE
  • AVERAGEIF
  • AVERAGEIFS
  • CONCAT
  • COUNT
  • COUNTA
  • COUNTBLANK
  • COUNTIF
  • COUNTIFS
  • DATE
  • DATEVALUE
  • DAY
  • EOMONTH
  • EXACT
  • FIND
  • IF
  • IFERROR
  • IFNA
  • INDEX
  • ISBLANK
  • ISERROR
  • ISNA
  • ISNUMBER
  • ISTEXT
  • LEFT
  • LEN
  • LOWER
  • MATCH
  • MAX
  • MID
  • MIN
  • MOD
  • MONTH
  • NA
  • NOT
  • OR
  • PROPER
  • RIGHT
  • ROUND
  • ROUNDDOWN
  • ROUNDUP
  • SEARCH
  • SQRT
  • SUBSTITUTE
  • SUM
  • SUMIF
  • SUMIFS
  • TEXT
  • TEXTJOIN
  • TODAY
  • TRIM
  • UPPER
  • VALUE
  • VLOOKUP
  • XLOOKUP
  • YEAR
What this practice grid does not do
  • This grid draws one value axis and offers no way to add a second. That is deliberate: a second axis makes two incomparable series look comparable, and the crossing point can be placed anywhere by choosing the two scales.
  • Chart types here are column, bar, line and scatter. There is no pie chart, which is the type most often used for categories that are not exclusive shares of one whole.
  • Every chart in this course ships a data table carrying the same numbers, read from the same cells as the bars, so the two cannot disagree.

Practical challenge (optional)

Collect three charts from the last week — a news site, a report at work, a product dashboard, a social post.

For each, in two sentences:

  1. Where does the value axis start, and if it is not zero, roughly how much does that multiply the apparent difference?
  2. What claim would a reader who spends four seconds on it come away with?
  3. Is that claim supported by the numbers on the chart?

Then find one where the answer to 3 is no, and rewrite the chart's title so that it says what the data supports. A chart's title does more work than its axis, and it is the part most often written last and least.

Sign in to track your progress on this exercise.

Checkpoint

Move on when you can do these.

  • Match each of four questions — comparison, change over time, relationship, single headline — to what it should be drawn as, including the one that should not be a chart.
  • Write the formula for how much a truncated axis exaggerates a difference, and compute it for an axis at 500 with values of 512 and 545.
  • Give a case where a truncated axis is defensible, and say what has to accompany it.
  • Explain what a second axis does to a chart of two units, and what to do instead.
  • Say why every chart needs a data table, giving two separate reasons.
  • Say what a chart's honesty is a property of.

Sign in to track your progress on this exercise.

Summary and next step

A chart is honest when its type answers the question that was asked, its axis starts at zero unless the reader is told otherwise and the exaggeration has been measured, its units are not mixed on one scale, and it carries a table of its own numbers and a caption saying what it does not establish.

Next: A compact decision dashboard. One chart answers one question. The last lesson of this module puts several measures on one screen, where the hardest part is not the measures but saying what they cannot establish.

learning.goultergroup.com

The interactive parts of this page have not loaded. Reading and links still work; reload the page to try again.