Creating compelling pie chart alternatives | by John Naujoks | Towards Data Science

I recently finished Storytelling with Data, a really great look at improving how we visualize data. One of it’s more blunt points is no pie charts. I have heard this before, and know this topic is somewhat divisive. The case against pie charts is fairly simple: they are not as clearly interpretable as people think. People can’t with ease visually tell the difference between values in pie chart. Angles aren’t particularly a human eye strong suite (ex. how much time do you spend leveling a picture frame without a level?). You may be able to visually tell the difference between 15 degrees and 90, but 20 and 30 can be tricky, and that difference may be important. Especially when you get into using 3D elements on pie charts, it becomes even more confusing with the angles skewed further.
Let’s take this quick example, take a look at the chart below, aside from the largest proportion, how confidently could you determine what percentage each represents?
It feels easy to say “never pie charts!”, but the important thing is how you can replace it. There are still situations where we want to convey proportions of a whole to tell a story with data. You may be compelled to go back to this dessert-shaped beauty, but let’s look at a few different alternatives.
Here’s a case to work with: You want to create a visualization of the current market share of major motion picture studios. You grab the data from Box Office Mojo, pull it into a Jupyter notebook, and here you go:
Egh. It is all there, but it is obviously not super interpretable or compelling, especially if you want to say something other than “Buena Vista has a big share”.
Yes, the bar chart! This is the kind of chart that looks you in the eye when it shakes your hand. It has been a mainstay in data visualization, and though it might not feel the shiniest, its reliable and more straight forward to interpret. To make it even more clear, you can put it horizontally, which makes for easy differentiation of values:
Just in immediate comparison, you can tell it is much clearer on a quick glance to tell the difference between each studio, not just the largest. Those chunks of studios that may look the same size in a pie chart (like Warner, Universal, and Sony) have much clearer proportions. You can try a stacked bar as well if that is more your speed, but a basic bar chart done right goes a long way.
Another way of dealing with the angle reading problem of a pie chart is to break up the data into squares that can be a little clearer to understand. Primarily meant for displaying hierarchical breakdown of data, treemaps have come more recently into favor as a pie chart alternative. You do have to be mindful with these in terms of how many segments your data has, as the labeling can be tricky. Our data has 11 values, which you can tell is right at the edge, and I would typically try to stick below that, but here the example:
Waffle charts are essentially a variation on the treemap. Instead of large blocks, it breaks it down into even segments of a delicious waffle shape. An overall example based on our data could be this:
What I find more visually helpful to do with waffle charts is call outs of certain values. Here is an example of calling out three different studios for comparrison:
Small versions like these can be a good quick showcase for comparison, and in my opinion sometimes more helpful than one large waffle.
Sometimes the data you have just isn’t going to look ridiculous displayed proportionality, even if that is the point you are trying to make. Imagine you run a movie theater and had data that looked like this:
------------Proportion of snack purchase sales at the movie theaterPopcorn: 98%Fountain drinks: 1%Candy: .5%The super combo pack: .25%Bottled water: .25%------------
Not something you’d particularly want to compare proportionately, because it doesn’t tell a great story. Step back and think about if there are other ways you could convey what this data tells you. For this example, maybe just pointing out the overwhelming amount of popcorn sales:
What you use will depend ultimately on your audience and the story you are trying to tell. Try things out, and also try them out on other people. Think through questions someone could answer by looking at the visualizations you create. If you would like a place to play around and start here is a Jupyter notebook with all the examples used in this post.