33 Designing for a Reader Who Will Not Ask
Chapter 27 was about not misleading anybody. This one is about the other half of the job, which is actually reaching them.
The two are not the same, and the second is the one more charts fail. A chart can be scrupulously honest, correctly scaled, properly labelled and still useless, because the reader cannot tell which line is theirs, cannot find the branch they run, or never works out what they were supposed to conclude.
The governing fact is in the title. The reader gets one look and no opportunity to ask what you meant. They see it on a slide for forty seconds, or in an email on a phone, or printed in black and white in a board pack. You are not in the room. Whatever the chart does not say, it does not say.
Everything in this chapter follows from taking that seriously.
33.1 The Legend Is a Lookup
A legend asks the reader to memorise a colour, carry it across the page, and match it against a line. Do that for five series and it is five round trips, repeated every time anybody looks at the chart.
Put the name at the end of its own line instead. The eye lands on the line and the name is already there, and Chapter 25 explains why this is not merely tidier: it replaces a colour match, the last channel on the ranking, with position, the first.
Direct labelling has one real cost, which is worth stating rather than glossing. Where two series finish close together the labels collide, and something has to give: nudge them apart with a little leader space, label those two at a different point along the line where they separate, or accept that two minor series can share a single label such as “the other three regions”. The code below does the nudging, because the alternative is pretending the problem does not arise.
A legend is still right when the series are genuinely many and individually unimportant, such as forty light grey background lines with one highlighted. There the legend is labelling the highlight, and there is only one thing in it.
33.2 Order Is an Argument
Categories come out of a database in whatever order the database felt like, and most tools then sort them alphabetically. Alphabetical order is a property of the labels. It has nothing to do with the data.
Sort by the value, and the chart stops being a lookup table and becomes a ranking. The largest is at one end, the smallest at the other, the near ties are adjacent and visible as near ties, and the reader answers “who is biggest” without doing any work at all.
The exceptions are real but narrow. Keep the natural order when the categories have one: months, quarters, age bands, small to large, strongly disagree to strongly agree. Keep a fixed order when the same chart is published repeatedly and readers navigate by position. Otherwise, sort.
Example
Eight branches and their revenue, drawn alphabetically and then by value.
| Alphabetical | Sorted | |
|---|---|---|
| Rank correlation between position and value | +0.14 | +1.00 |
| Position of the three largest branches | 5th, 2nd, 8th | 1st, 2nd, 3rd |
In the alphabetical version the top three branches are scattered at positions five, two and eight, and a reader wanting the ranking has to compare bar lengths across the whole chart. In the sorted version the order of the bars is the answer.
The rank correlation of +0.14 is the measure of how much work the chart is refusing to do. It would be +1.00 for free.
33.3 The Title Is the Finding
Most chart titles name the subject: “Revenue by region”, “Monthly complaints”, “Spend against sales”. That is a label for a filing cabinet, not a sentence, and it leaves the reader to work out the point.
Write the conclusion instead. “Central and North are within one per cent of each other” says more in ten words than “Revenue by region” does, and it survives being read badly. The axis labels still name the subject, so nothing is lost.
Two objections come up and both have answers.
“It is editorialising.” It is, and so is every other choice on the chart: which variable, which range, which grouping. Writing the finding in the title makes the interpretation visible and therefore arguable, which is the opposite of hiding it.
“The chart should speak for itself.” Charts do not speak for themselves. A reader who takes the wrong message away has been failed by the chart, not by their own carelessness, and a sentence at the top is the cheapest insurance available.
The same logic applies to annotation. If one point matters, say why on the chart, next to the point: “strike closed the depot for three weeks”. A reader is far more likely to read four words beside a dip than a footnote below the figure.
33.4 Where Is the Uncertainty
Six modules of this book established that an estimate is not a value. Then it is drawn as a bar, and all of that disappears, because a bar has an edge and an edge looks like a fact.
Two bars of visibly different height read as two different numbers. Whether the difference would survive another sample is not on the chart at all.
Example
Two interface designs, twenty-five users each, scored on a task.
| Design A | Design B | |
|---|---|---|
| Mean score | 55.0 | 40.3 |
| Standard deviation | 30.4 | 36.0 |
The difference of means is 14.7, which on a bar chart from zero is an obvious and substantial gap. Design A wins.
Except that Welch’s \(t\) is 1.561 on 46.7 degrees of freedom, \(p = 0.125\), and the 95 per cent interval for the difference runs from \(-4.2\) to \(33.6\), which contains zero. Chapter 17 would not call this a difference at all, and the plot of the fifty observations shows two clouds that overlap almost completely.
The bar chart is the version that gets shown in the meeting.
Adding error bars is necessary and not sufficient, because three different quantities are drawn identically and the reader cannot tell which they are looking at.
| The bar shows | On Design A | Meaning |
|---|---|---|
| Standard deviation | 30.4 | The spread of the users |
| Standard error | 6.1 | The spread of the mean |
| 95% confidence interval | 12.5 | The plausible range for the true mean |
The standard deviation bar is five times the standard error bar over the same data. An error bar with no caption saying which of the three it is conveys nothing at all, and a reader is entitled to assume the flattering one was chosen.
Three rules, and the third matters most.
Say what the bars are, in the caption, every time.
Prefer the interval to the standard error, because a confidence interval is the quantity a reader is actually trying to reason about.
At small \(n\), draw the observations. Fifty points with two mean lines carry everything the bar chart had, plus the spread, plus the overlap, plus any outlier or bimodality, and they take no more space.
33.5 Colour That Survives the Reader
Chapter 25 put colour hue last among the channels and gave the perceptual reason. This section gives the arithmetic, and the arithmetic is worse than the usual advice admits.
Roughly one man in twelve and one woman in two hundred has some form of colour vision deficiency. The two common kinds, deuteranomaly and protanomaly, compress the red to green axis, so colours that are far apart for most readers move close together for those readers.
This can be simulated and measured. Convert each colour to the LMS cone space, collapse the missing cone, convert back, and measure the smallest gap between any two colours of the palette in CIE Lab units, where a gap under about 10 is hard to call apart at a glance.
Example
Six-colour palettes, measured for normal vision and for the two common deficiencies, plus the smallest lightness gap, which is what survives a black and white printer.
| Palette | Normal | Deuteranopia | Protanopia | Worst case | Greyscale |
|---|---|---|---|---|---|
| R’s default | 56.0 | 18.8 | 19.7 | 18.8 | 0.0 |
R’s rainbow()
|
58.4 | 20.4 | 5.8 | 5.8 | 3.4 |
| matplotlib’s default | 38.2 | 8.1 | 5.6 | 5.6 | 1.1 |
| Okabe-Ito | 26.4 | 17.2 | 22.3 | 17.2 | 0.9 |
Read the “worst case” column first. R’s default loses 66 per cent of its separation once colour vision varies, rainbow() loses 90 per cent, matplotlib’s default loses 85 per cent, and Okabe-Ito, which was designed for this, loses 35 per cent.
Now read the last column, which is the uncomfortable one. Every palette here fails in greyscale, Okabe-Ito included, with lightness gaps under 4 and in one case exactly 0.0. That is not a flaw in the palettes. It is what a categorical palette is: it varies hue, and hue carries no lightness.
The conclusion does not follow the usual script. Choosing a colourblind-safe palette is worth doing and it reduces the damage by roughly half. It does not remove it, and no palette choice ever will, because the problem is the channel and not the colours.
So the real rule is the one Chapter 25 arrived at from a different direction:
Do not let colour carry the message on its own.
In practice that means the same three habits as before. Label directly, so that identity does not depend on hue. Vary a second channel as well, shape for points or dash pattern for lines, so the distinction survives. And where a quantity is being shown, use a ramp that varies in lightness, which works in greyscale and under every form of colour vision because lightness is what all of them have in common.
A simple test costs nothing: print the chart in black and white. If you cannot read it, a substantial minority of your audience could not read it in colour either.
33.6 One Chart, One Message
The commonest way a well-made chart fails is that it is three charts.
A reader looking at a figure is trying to answer one question. If the figure supports four, they will answer the easiest one, which is usually not the one that mattered. Putting a second series, a second axis, a breakdown and an annotation on one panel does not convey four findings; it conveys none, because the reader has no way to know which to attend to.
Decide the sentence first. If the chart is meant to establish that the Central region has overtaken the North, then everything on it either supports that sentence or comes off. The other three findings get their own panels, which is cheap, or their own place in the text.
This is also the discipline that makes the rest of this chapter easy. Once there is one message, the title writes itself because it is the message. The ordering is obvious because it is the ordering that makes the message visible. The highlight colour is obvious because there is exactly one thing to highlight, and everything else can be grey.
Grey is the most underused colour in analysis. Context does not need to compete with the subject. Forty light grey lines with one in a strong colour, labelled, is a better chart than forty coloured lines with a legend, and it is also an honest one: the grey lines are still there, still readable, and the reader can check the claim against them.
The same applies inside a single series. Grey out the periods that are not in question. Grey the gridlines until they are barely present. Put the ink where the argument is.
33.7 What to Cut
Tufte’s advice to maximise the ratio of data ink to total ink is widely quoted and sometimes taken too far, to the point of removing things readers need. The useful version is narrower and harder to argue with.
Remove anything that carries no information and competes for attention. Heavy chart borders, dark gridlines, background fills, drop shadows, three-dimensional effects on two-dimensional data, redundant legends when the labels are already on the chart, and decimal places nobody can act on.
Keep anything that carries information, even if it is not data. Axis labels with units. A note saying the vertical axis is logarithmic. A caption saying what the error bars are. The sample size. A source line. These are not clutter; they are the difference between a chart that can be checked and one that has to be trusted.
The test is not “does it look clean”. It is: if I delete this, does the reader lose the ability to interpret the chart correctly? If no, cut it. If yes, it stays however untidy it is.
One special case deserves naming. Three-dimensional effects on flat data fail on every count in this module at once: they encode a quantity in volume, which is the sixth channel; they introduce perspective, so identical values are drawn at different sizes depending on position; and they occlude, so some data is literally hidden behind other data. There is no situation in which a three-dimensional bar chart of one-dimensional data is the right answer.
Three outputs, three habits. A rank correlation of +0.14 between where a bar sits and how big it is, which sorting would raise to +1.00 for nothing. A difference of 14.7 that a bar chart presents as settled and a \(p\) of 0.125 that says it is not, with the standard deviation bar five times the standard error bar over the same numbers. And a default palette losing two thirds of its colour separation the moment the reader is one of the one in twelve, with every palette tested failing outright in black and white.
Recap
Module VII set out to treat visualization as a technical subject rather than a matter of taste, and it turns out to be one. Chapter 25 established the grammar: a chart maps variables onto visual channels, those channels are read with measurably different accuracy, and position beats length beats angle beats area beats colour. From that one ranking, several arguments usually settled by preference settle themselves, including why bars need a zero and dot plots do not. Chapter 26 asked which form a question deserves, and found that the default answer to each of the four questions conceals the most: a bin width decides how many customer segments exist, a box plot draws five numbers so four different distributions share one picture, a scatter saturates and hides three quarters of itself, and a line chart holds about five series. It also collected a debt from Module II, showing two datasets that agree to two decimal places on the mean, the standard deviation, the skewness and the kurtosis while one is a bell and the other is two segments with a hole where its own mean sits. Chapter 27 turned to charts that are accurate and still untrue: a second axis that makes a strongly negative correlation look like two lines rising together, a panel height that hides a 1.9 to 1 asymmetry, a pooling that reverses the sign of a relationship, a colour ramp that puts rings into a smooth field. Almost every one came from accepting a default rather than choosing it. And this chapter was about the reader, who gets one look and cannot ask what you meant: label the lines instead of keying them, sort by value because alphabetical order is a property of the labels, write the finding in the title, show the uncertainty and say what it is, and do not let colour carry the message alone, because every palette tested loses a third to nine tenths of its separation once colour vision varies and all of them fail in black and white. What the module has not done is teach anybody to use the tools. Every example in it has been base R graphics and matplotlib, chosen deliberately so that each encoding decision stays visible rather than hiding inside a library’s defaults, and that is the right way to learn the ideas and the wrong way to do the work. The syllabus still promises hands-on work in R and Python: importing and tidying real data, the pipeline from raw file to finished figure, and the reproducibility that lets somebody else rerun what you did. That is where this book goes next, and it is where the subject stops being something you read about.
Summary
| Concept | Description |
|---|---|
| The Reader | |
| One Look, No Questions | The reader sees it once, on a slide or a phone, and you are not there |
| Honest Is Not the Same as Clear | A correct chart can still fail to reach anybody |
| Labels | |
| A Legend Is a Lookup | Memorise a colour, cross the page, match it, and repeat per series |
| Label at the End of the Line | Replaces a colour match, the last channel, with position, the first |
| The Cost of Direct Labels | Labels collide where lines finish together and must be nudged apart |
| When a Legend Still Wins | Many unimportant series in grey with one highlighted and named |
| Order | |
| Alphabetical Is a Property of the Labels | It has nothing to do with the data and is the default in most tools |
| Sort by Value | The chart stops being a lookup table and becomes a ranking |
| Rank Correlation of Position and Value | +0.14 alphabetically, +1.00 sorted, for no extra work |
| When to Keep the Natural Order | Months, quarters, sizes, and any scale with an order of its own |
| The Title | |
| The Title Is the Finding | Write the conclusion, not the subject; the axes name the subject |
| Editorialising | Every other choice on the chart is too; stating it makes it arguable |
| Charts Do Not Speak for Themselves | A reader who takes the wrong message was failed by the chart |
| Annotate on the Chart | Four words beside a dip beat a footnote under the figure |
| Uncertainty | |
| A Bar Has an Edge | And an edge looks like a fact, whatever the standard error |
| Visible but Not Defensible | A difference of 14.7 with p of 0.125 and an interval covering zero |
| Three Kinds of Error Bar | Standard deviation, standard error and confidence interval, drawn alike |
| Five Times the Length | The SD bar is five times the SE bar over the same twenty-five users |
| Say What the Bars Are | In the caption, every time, or the bar conveys nothing |
| Prefer the Interval | It is the quantity the reader is actually trying to reason about |
| Draw the Observations | At small n, fifty points and two mean lines beat any bar chart |
| Colour | |
| Simulating Colour Vision Deficiency | Collapse the missing cone in LMS space and convert back |
| Lab Units | A gap under about 10 is hard to call apart at a glance |
| What Default Palettes Lose | R's default loses 66 per cent, rainbow 90, matplotlib's 85 |
| Okabe-Ito | Designed for this, and still loses 35 per cent |
| Every Palette Fails in Greyscale | Lightness gaps under 4, because a categorical palette varies hue |
| The Channel, Not the Colours | No palette choice removes the problem, because the channel is the problem |
| The Black and White Test | If you cannot read the print-out, a minority could not read the colour |
| One Message | |
| One Chart, One Message | A figure supporting four questions answers none of them |
| Decide the Sentence First | Everything on the chart supports that sentence or comes off |
| Grey Is Underused | Context does not need to compete with the subject |
| Highlight One Thing | Forty grey lines and one strong colour, labelled, with no legend |
| What to Cut | |
| Remove What Carries Nothing | Heavy borders, dark gridlines, shadows, decimals nobody can act on |
| Keep What Carries Meaning | Units, a note on a log axis, what the error bars are, n, the source |
| The Test for Cutting | If I delete this, does the reader lose the ability to interpret it? |
| Three Dimensions on Flat Data | Volume encoding, perspective distortion and occlusion, all at once |