The stacked bar chart is a tricky little devil. It stacks several segments on top of each other, asking the reader to make part-to-whole comparisons while comparing total amounts. So when we create stacked bar charts, we ask a lot of our readers: make several comparisons simultaneously, with many of those comparisons sitting across different baselines.

A recent debate on LinkedIn explored some alternatives to the standard stacked bar chart. But maintaining all the stacked bar charts’ functionality while making it simpler to read proved easier said than done. Consider that in a classic stacked bar chart, we want readers to see the varying totals in the chart and compare the sizes of each of the segments.

While we could simply break the chart up into small multiple bar charts instead, this solution still compromises on functionality because breaking the chart up makes comparing the total values across groups harder. One remedy to that situation—shown below—is to include the chart and an additional chart showing the total.

Another variation on this approach is when the data are percentages and all groups sum to 100 percent. In this case, we don’t need to show the set of total bars because the length of the bars are all the same.

But what if there’s a better way to preserve all of a stacked bar chart’s functionality? Kevin Flerlage initially kicked off the conversation on LinkedIn and (building on some old work by XXX) suggested a paired bar chart of the segments and add a separate bar representing the totals spanning the pairs—kind of behind them in a way.

I don’t think I immediately object to this approach. On the one hand, it does enable the reader to compare the segments more accurately and clearly. But on the other, I wonder if readers will view the gray total bar as the actual total? Maybe they’ll view it as some other amount? Also, having the total bar extend further horizontally than the individual segments felt like it was a separate series rather than directly connected to the existing bars.

In this recreation, I trimmed the total bar to sit just behind (or on top, however you want to say it) of the segments.

I was intrigued by the approach, however, and tried a few of my own versions.

I added a thick line to the top of the total bar to accentuate the value, but it still feels unclear.

I also got rid of the total bar completely, leaving just the horizontal line. I thought I would like this more, but there’s now a disconnect between the segments and the line that represents the total.

A few others on LinkedIn suggested this version—dubbed the “umbrella chart”—as an in-between version. Here, we have the horizontal line representing the total, but the vertical line connects the total to the segments.

Finally, Maarten Boers suggested another alternative, though this one applies only to time series data. In Maarten’s version (book, podcast interview), you convert the stacked bar chart that shows change over time to a joint line-bar chart. With some smart labeling annotation, this has some potential as well.

In the end, I’m not sure if any of these really work. For all its flaws, people know how to read the stacked bar chart and can focus on the total or segment in which they are most interested in exploring. These other approaches seem to disconnect the total from the part-to-whole comparison too much, and I worry that they will ultimately confuse people.


What do you think? Do you like one of these alternatives?