Re: But what about line charts?

This blog post is a reply to some of the points Chad Skelton has raised in his post Bar charts should always start at zero. But what about line charts?. [1]

While I want to encourage you to read all of Chads post, in this reply I will focus on just a few pretty radical statements he made (and that I found just impossible to ignore). So let’s dive right into it:

“The more I look at this issue, the more convinced I become that most line charts should start at zero. But if it’s true that line charts have as much potential to mislead as bar charts, that raises another intriguing question: Why shouldn’t there be exceptions to the zero-baseline rule for bar charts, too?

# Should “most” line charts start at zero?

First of all, I find this question is pretty meaningless. It doesn’t matter if “most” line charts should start at zero or just “some” line charts. To answer this (quantitative) question you’d have to know all the line charts ever published and what y axis ranges they are showing.

But let’s say someone did that analysis and found out that 51% of all line charts ever published are short-term stock charts where – as Chad seems to agree on – a non-zero y-axis makes perfect sense. His “conviction” would be worthless light of this.

Of course we don’t know this because nobody is analyzing all the line charts, so it’s irrelevant. Let’s just stick to what we actually know, and that is that (1) there are many perfectly fine line charts that do not start at zero and (2) that it would be absolutely wrong to force all line charts into a zero baseline.

Now to the second part of Chads “outragious” statement 😉

# Why shouldn’t there be exceptions to the zero-baseline rule for bar charts, too?

The answer is: because it is absolutely wrong to publish bar charts that do not start at zero. Bar charts are area charts, which means the values are both perceived through the and/or the length of the bars. If a bar/column chart doesn’t start at zero this area/length would be misleading for the same reason that a log scale bar chart would be. The plotted areas would not correspond to the absolute values anymore, so we couldn’t compare them.

A line chart, in contrast, is not an area chart because there is no area or “length” to see. There are just points connected by lines, and we’re interpreting the line segments slopes and relative positions to each other (and other lines). There are no absolute values to be read because they just aren’t plotted. All what’s plotted is the relative position the points/slopes have to each other. That’s why it’s ok to “truncate” the y axis and it’s also sometimes useful to use a logarithmic scale in a line charts y axis.

I’m sure Chad and I agree that both truncating and log scale come at a cost of making it a little harder to read the chart. But in many cases the increased ability to compare the slopes and relative positions make up for the cost.

# The sacred law of zero baselines in bar/column/area charts

And there was another statement that got me deeply worried:

“(For what it’s worth, I’ll continue to advise my students to make all bar charts zero baseline, if only because it’s such a convention in the field that doing otherwise would make them look like they don’t know what they’re doing.)”

Dear Chad, please don’t just tell your students to use zero baselines because it’s a “convention in the field”. Tell them that they shouldn’t do it because it is absolutely and objectively wrong to make non zero based bar/column/area charts. It’s way more than a convention, it’s a sacred law.

That’s why a good charting tool would never allow users to make bar/column charts with truncated bar lengths, but give them the free choice not to include zero in a line chart if think it’s better without[2]. Even better if the tool picks a smart default.

1. I originally tried to post this as a comment but I think the comments are broken so I decided to post it here instead. Chad, feel free to copy or link this into your comment section. ↩︎

2. unless they decide to turn a line chart into an area chart by filling the area below the line ↩︎