Bar charts are an incredibly popular and useful type of data visualisation. In this guide, we will cover the basics, main subtypes and best practices so you can become a bar chart hero and leverage all they can do.
Hi, I'm Mauricio. Connect with me on LinkedIn to share ideas and keep the conversation going!
This is a topic I’ve been meaning to discuss for a while: bar charts! 📊
It’s impossible to know for sure, but I’d be willing to bet they are the most-used type of data representation, if you don't count just writing down numbers. 🔢
As ubiquitous as they are, I don’t think people give bar charts enough attention or praise. Many times, people go straight for pie charts (please don’t do that) or much more complex visualisations because bar charts seem boring. 😪
Of course, I’m not advocating for everything to be a bar chart (there are cases in which they don’t fit, and cases where other charts, especially line charts 📈, work better). Variety is the spice of life and all that. However, I’m here to convince you that, in this instance, boring is good!
Boring means your audience can understand them easily. That the data is front and centre. Bar charts provide clarity exactly because they are predictable and consistent.
I'd encourage you to ask yourself: “Would a bar chart do the job?” whenever you need to plot data. You’d be surprised how many times that answer is “yes”. So, go for it. You'll be surprised how often they are, in fact, the best option. ✅
Let’s get into some practical details. 💪
Bar Charts: The Basics
Bar charts are fantastic for group comparison 📊. Their perfect use case is when you want to compare one (or more) metric(s) across groups (and perhaps even added subgroups). They can also be used to show changes in data across groups.
We’ve all seen them, so I'll keep this brief. Remember that the two main elements to create a bar chart are at least one categorical 📝 and one numerical variable 🔢. The categorical variable(s) will determine how many bars you use, and the numerical variable is the metric that is displayed as the bar length.
Here is a snapshot of the dataset. The headers are in the first row.
We have some categorical variables (e.g. Platform, Genre, Publisher) and some numerical variables (North America, Europe, Japan…). The “Year” is encoded as numerical here – that's a special case, as it indicates time, so it’s commonly used as a categorical variable too, to order the bars (I’ll explain more in a bit).
Here is a chart created with this dataset:
In this bar chart, Genre is the categorical variable: one bar per genre. Global (millions of units sold globally) is the numerical variable: the value that will be displayed as the length of the bar.
Bar charts are popular and powerful because they...
… are simple to read and understand.
… use only one dimension (bar length) to represent one number(e.g. 387.6 million units sold for the Action genre).
This is a huge advantage over pie charts. Pie charts create unnecessary confusion by using two dimensions (a circular area) to represent one number (a percentage).
A warning ⚠️: don’t add 3D effects. You’ll make the chart more difficult to understand (and in my opinion, uglier) for everyone.
… are very easy to create, and widely accessible in tooling. 🛠️
… are incredibly versatile, with many subtypes. More on that next.
The Main Subtypes of Bar Charts
- Standard bar charts
This is what comes to mind when we think “bar charts”. 📊 One categorical variable, and one numerical variable. The numerical variable is usually some kind of aggregation, like a sum, a count of occurrences or an average (i.e. the mean).
Standard bar charts are incredibly powerful and also the easiest type to create. They allow the viewer to quickly compare a value across many categories.
These charts can be vertical or horizontal, so we'll cover examples of both.
Vertical bar chart
Vertical bar charts (also known as “column charts”) have the categories on the horizontal axis, with numbers on the vertical axis. Use these when the categories have an intrinsic order to them (ordinal), such as t-shirt sizes, or dates.
Did you notice something interesting in the chart above? Although the Years are technically numbers, they are used as categories that we can aggregate: total units sold PER year. We want one bar per year, therefore we use them as categories. And because the years obviously have an order, having a vertical bar chart with years from left to right works perfectly. This is the same idea as a line chart (which would do a great job here as well!).
Vertical bar charts are also good to show negative numbers (with the columns going below the 0 line).
Horizontal bar chart
Horizontal bar charts have categories on the vertical axis and numbers on the horizontal axis. Use them when you want to have more freedom to sort your bars. In this case, I sorted the Genres based on the value of Global sales, in descending order.
Sometimes, either orientation would work, but if your categories have long names, the horizontal bar chart will make them easier to read because you don’t have to tilt or abbreviate the names of the categories… the genre names wouldn’t fit in the same space that was used for the year in the previous chart.
These same reflections on horizontal versus vertical also apply to the other subtypes, so keep them in mind. 🤔
- Stacked bar charts
(Horizontal) stacked bar chart
As the name implies, stacked bar charts mean you are putting one bar on top of another. Or next to another… for horizontal bars. For this to work, you need another categorical variable (also known as another “series”) to split each bar. Depending on the software (or dataset), you might need to build them by “stacking” multiple numerical variables on top of each other.
Stacked bar charts help you see the “segments” that complete the whole. The chart above is very similar to the previous one, but now we can see the subdivision for each platform (PS, PS2 and PS3). That can lead to further insights… it seems like shooters are disproportionately popular on PS3. Perhaps that is an overall trend that could be investigated by asking "are shooters becoming more popular on PS3 because PS3 is the most recent platform on this list?". 🔫
Also, consider if you want to display the subgroups as percentages of each group instead. You’ll have to label them clearly to make it work, though. 🔣
No visualisation type is free of caveats.
⚠️Stacking means that individual subgroups are hard to compare because whatever is lowest on the list will shift where they start. In this chart, you can see that the PS2 bar starts where the PS3 bar ends… so make sure to add labels to make it easier to read.
⚠️ If you have too many subgroups, stacked bar charts are not a good idea.Your chart will get cluttered, and you will need way too many colours. 😵 Filtering is a good solution for this: here I went with only the PlayStation platforms, although there are many other platforms in the dataset.
- 100% Stacked bar charts
(Horizontal) 100% stacked bar chart
When the most important thing to explore is the proportion of the subcategories for each category, 100% stacked bar charts are 100% the best choice.They are what pie charts wish they could be (yes… I don’t like pie charts). 🙃
The logic here is that each category goes all the way to 100%. We use the subcategories (the other categorical variable) to split each bar. A major advantage is that you can have many categories while keeping the chart very readable.
Of course, when dealing with percentages only, the absolute numbers are hidden. So even though PS has an astounding 85.47% of the share of strategy games across those three platforms (PS3 has 0 strategy games in this dataset), we have no idea if that translates to many games. It’s just the proportion. If the absolute numbers are needed, consider adding another chart, or a total label per category with the absolute number. 🔢
- Side-by-side bar charts aka Grouped bar charts
Side-by-side bar chart
To counteract the issue of “difficult to compare every segment across all the categories because the segments below change where the next segment starts” (what a mouthful! 😅) from the stacked bar charts, consider going with a side-by-side bar chart (also known as "grouped bar charts").
Side-by-side bar charts make it easier to compare the subcategories across all categories. In the chart above, I can easily see that Sports for PS3 and Sports for PS are very similar, but Sports are much more popular for the PS2.
Of course, it comes with a price:
⚠️ If you have too many categories and subcategories, the chart will become huge and very difficult to digest.This is because you need to (visually) jump a significant distance between each of the bars when comparing them. It's always worth mentioning that labels are your friends. Keep them around.
- Tornado charts
Tornado chart
Tornado chartsare a special case of the horizontal stacked bar chart. Use it when you have two numerical variables you want to compare across categories (or, conversely, when you have a categorical variable with only two possible values, and you want to compare their subcategories). Again, different ways to get the same result. 😄
The bars start from the middle and go in opposite directions. Then, you sort in descending order based on one of the sides (in this example, I sorted by Genre). After that, it becomes easy to see if there is a relationship between average global sales and average reviews across genres (in this level of analysis, there isn’t a relationship, because the average Reviews are somewhat close to each other, and are not descending as average Global sales).
Tornado charts are a bit trickier to create, but very worth it for these cases.🏆
Bar charts best practices
Unless you have an extraordinary reason not to (and I bet you don’t), always start the scale of your bars at 0: the power of bar charts comes from easily comparing the lengths of the bars. If you “cut the bars” by starting the scale at another point, you will change the proportion and interpretation, misleading your audience. ⚠️Warning! MISLEADING chart. Makes it seem that 153 is more than double 144 because the scale started at 140.
Same data. And sane scaling, starting at 0.
Label your data! Write out the numbers that the bars are representing.
Ensure colours are consistent to make comparisons easier. You can also use colours to highlight what is interesting. Don’t forget to add the colour legend. Refer to the Colouring Your Charts microlearning for more tips!
Be smart with your sorting: points of higher importance should appear first. For example, sort descending on sales if you want to draw attention to products that are performing well.
The distances and widths of bars should be consistent. Unless you want to use the width of the bars to plot another numerical variable (which is possible). Watch out for cognitive overload, though.
Keep the visuals simple! No 3Ds, or unnecessary decorations.
Don’t use vertical text! Consider flipping to a horizontal bar chart if there are too many categories and/or their names are long.
Let's Practise!
Time to plot your bar charts! Use your own data, or the Video Game dataset if you don't have data at hand. Open the dataset in your data visualisation tool of choice (I used Tableau for the charts in this piece).
Define what you want to see. What is the question you want to explore with the data?
What variables will you use to answer the question? List which are categorical and which are numerical.
Are you going with a horizontal or vertical bar chart?
What bar chart subtype will you use?
Plot it! Tweak the settings to get to a polished version. Feel free to swap things around as well (e.g. vertical to horizontal, or changing subtypes) while you do this to get to your amazing bar chart.
Dive Deeper into The Topic
Bar chart menu by Robert Rouse: good resource for inspiration. Shows many detailed variations of bar charts, including more niche types like the lollipop chart.
Bar charts are incredibly popular for many reasons: they are easy to understand and versatile.
Different subtypes: we explored a few subtypes that cover many use cases, each with its pros and cons.
Best practices: bringing your bar charts to the next level is simple if you follow the tips and heed the caveats in this article..
With all of this, I believe you might just have become a bar chart enthusiast and, with a bit of practice, a pro. Now, this incredible tool is sharp and ready for your future data challenges.