A campaign to save the stacked bar chart
Stacked bars are a common first choice when presenting multiple series along a timeline.
And I sob whenever I see one.
Analysts love them because they squeeze a lot of information into a small space and BI tools make them ridiculously easy to create. One click of the mouse gives you a big chart in a rainbow of colours.
Eeeuwww! Worst chart ever
My beef is that stacked bars get a poor audience reaction, and almost always bring a pacy insight presentation to a crashing halt:
- "What's the yellow bit again?"
- "Which is the hottest topic?"
- "Is open discussion going up or down?"
- "The legend includes Spanish, but I can't see it on the chart"
If you must use one, here are some tactics that will prevent your early death at the hands of an angry audience...
1. Use grouping to reduce colour
If you have a ton of series that show up in the legend but are barely visible on the chart, group them to an "Other" category.
Audiences have a hard time unpicking more than a few colours. This strategy simplifies the chart.
(Remember to order the legend the same way as the stacks to help associate the bars.)
Grouping series reduces colours and makes the chart easier to digest
2. Befriend the baseline
You only get one zero baseline in a stacked bar, which makes it hard to sense rises and falls in individual series.
Pull the most important series to the baseline, or sort the stacks by volume - largest at the bottom.
This helps your audience place a relative value on each, and sense rises and falls in the most important ones.
Pulling the largest series to the baseline helps us see the most important ones
3. Highlight the story
If you're planning to make a point about an individual series, create a version that uses colour to highlight the insight.
In this version I've highlighted the "Location Specific" topic, and can focus on it in my story, while keeping it in context of the overall picture.
Use colour to focus attention on a single part of the story
4. Try faceting
The single baseline is major problem for detecting growth and relative size in stacked bars. Here I've used faceting to makes a larger chart, but it's easier to read and tells more stories.
In my experience, these charts inspire more audience chatter than a traditional stacked bar - and always more positively. You'll hear people talk about the insight, but not the viz - which is the reaction we want. Good viz gets out of the way.
Faceting gives us back a baseline and allows us to focus on the rises and falls of each series
5. Add sparklines
Thanks to my colleague Matt W for finding this one. Detecting growth in a stacked bar can be very difficult, or even impossible.
Adding sparklines that double up as a legend can transform the story.
Sparklines are a neat way to expose rises and falls (and create a better legend)
6. Try a sequential palette
If you're plotting series that fit together as a range e.g. peoples ages, switch to a sequential colour palette. It's a whole lot less to digest visually.
Detail gives way to pattern.
Sequential palettes work nicely with a continuous series e.g. age ranges
All of the above have been battle tested with real audiences. If anyone has more, please let me know - I'd love to add them and due dibs will be given.
Or you could just not use a stacked bar?
Thank you DVS...
Also a big thanks to the Data Visualisation Society who have made me feel part of a much larger community in the short time since their launch. The second DVS challenge dataset was what I used to build the sample charts here.
This group has offers me daily inspiration and I strongly recommend data people of any skill level get involved. Viz can make or break insight if not approached with thoughtfulness, fun and empathy.
This community is a huge inspiration - thank you ♥