Peltier Goes Bar Hopping
by Jon Peltier
Monday, July 14th, 2008
Peltier Technical Services, Inc., Copyright © 2010.
Licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
There has been a lot of discussion about pie charts and bar charts lately. I and many other know-it-alls have clearly stated that pie charts are the red-headed stepchildren in the family of chart types. In Peltier Loves Pie I provided some guidelines to follow if you still insist on using pie charts.
In this post I am giving bar charts equal time.
Bar Charts
Bar charts are widely used, and in most cases they present an improvement over pie charts. According to William Cleveland, the effectiveness of different human visualization skills are ranked as follows:
- Position along a common scale
- Position along identical unaligned scales
- Length
- Angle or slope
- Area
- Volumn
- Color
A bar chart relies on the lengths of its bars to convey information. Length is found higher than a pie chart’s angles or areas in Cleveland’s hierarchy of human perception, so bar charts are better than pie charts for presenting data. A bar chart also uses the same color for each point, so there should not be any unintended weighting of values by color.
Guidelines for Bar Charts
- Use horizontal bar charts so there is room for horizontal category labels.
- It usually helps to sort data so longer bars are at the top (or taller bars are to the left, if you use a vertical column chart).
- Use 2D bar charts only.
- Don’t use shadows, fill gradients, glows, or other distracting effects.
- Use zero as the baseline for the value axis, so the total lengths of the bars are visible.
- Avoid stacked bar charts, because bars which are not in the first layer do not have a common baseline.
- Avoid clustering more than about three or four series of bars.
- Don’t use bar charts for time series data.
Example Bar Charts
Here is the bar chart corresponding to the first pie chart in Peltier Loves Pie. Note that in a horizontal bar chart the value (Y) axis is the horizontal axis, and the category (X) axis is the vertical axis.

The bars are sorted smallest to largest, so format the category (X) axis scale so the categories are plotted in reverse order.

The value (Y) axis moved to the top, since it is still at the minimum (i.e., first) category. Format the category (X) axis scale again, so the value (Y) axis crosses at the maximum (i.e., last) category. (With experience you’ll remember to change both scale parameters at once.)

At first, the order of the bars may seem counterintuitive. They are listed in the sheet from largest to smallest, right? Well, the first item listed in the sheet becomes the first category, so it is closest to the origin (where the two axes cross). The second item becomes the second category, so it is plotted one slot further from the origin, which is higher on the vertical category axis.
When points are added, the new bars are lined up parallel to the existing bars, and there is no impingement of adjacent labels as in the pie chart. Even if the data were not sorted, you could tell their relative values by their lengths. This would have been more difficult, even impossible, in the pie chart.

I recommended a horizontal bar chart, because a vertical column chart will have overlapping labels.

You could rotate the labels, which prevents overlapping, but requires more space for the label, and forces the reader to rotate his head to read the text.

Rotating to 45° seems like a good alternative, but it is not really much better than the vertical labels.

The best option is to stick to horizontal bars. This chart has all eleven points that the last pie chart had. The chart is not as large as the pie chart, and its labels are aligned with its points (the bars) without any interference between adjacent labels.

What about adding a series? Easy enough in a clustered bar (or column) chart.

Two or three clustered bars would be fine, but more than that would be too cluttered to be legible. You could rearrange the data to produce an alternate arrangement, but that may not be as useful for this particular data.

An alternative to a clustered bar chart for this display is a dot plot.

Related Posts:
- New Series: You Asked For It
- Clustered-Stacked Bar Charts
- Funnel (Tornado) Chart
- Stacked vs. Clustered
- Tornado Charts and Dot Plots
- Conditional Stacked Clustered Column Chart with Targets
- Callout Labels with Error Bars
- Overlapped Bar Chart – Longer Bars in Back
- Pareto Charts
- Clustered-Stacked Column Charts with Vertical Separators
Posted: Monday, July 14th, 2008 under Chart Types.
Comments: 6
Comments
Comment from Hadley
Time: Monday, July 14, 2008, 7:50 pm
Cleveland and McGills’ hierarchy is a little bit more complicated than you make out. It’s important to note that they defines performance in terms of the “accuracy of quantitative extraction” – i.e. how accurately can we reproduce numerical values encoded on the plot – and this is just one facet of what makes a good graphic. You’ve also split up some of the attributes that Cleveland does not find to be different. The original hierarchy is:
1. Position along a common scale
2. Position along non-aligned scales
3. Length, direction, angle
4. Area
5. Volume, curvature
6. Shading, colour saturation
And in bar charts the primary visual attribute is position along a common scale, not length (which is no better than angle at encoding values)
Comment from Sandi Mays
Time: Monday, July 14, 2008, 7:55 pm
My vote for best chart goes to the combo line and column chart. The bars are the data you are viewing … we use bars for forecasts and actuals. The line is used for the budget. This makes for an easy comparison.
You can also use this chart on 2 axis for Pareto Charts, where the bars show the Pareto data and the line shows the cumulative %.
Comment from Jon Peltier
Time: Monday, July 14, 2008, 8:50 pm
Hadley –
Thanks for the clarification. I’ve seen the attributes presented in the order I posted. and I imagine like any good methodology, there is some variation in its implementation.
It’s been a while since I’ve read the articles. I’m glad you cleared up the bar chart’s effectiveness in terms of position along an axis. That actually makes more sense.
Comment from Jon Peltier
Time: Monday, July 14, 2008, 8:54 pm
Sandi -
I frequently use combination charts in a similar way. Often I use an area chart for target values, or typical values, or some other kind of comparative measure, and a line chart for actual values. I don’t mix bars/columns with lines very much, unless it’s a construction like a box and whisker chart, or where I can use a floating bar to indicate a range of values and XY markers for individual measurements.
Comment from PragmaticCynic
Time: Wednesday, July 16, 2008, 1:30 pm
Jon:
You said “Two or three clustered bars would be fine, but more than that would be too cluttered to be legible. You could rearrange the data to produce an alternate arrangement, but that may not be as useful for this particular data.”
What’s your opinion of using a variant of a panel chart ? I have done it was a small set of X access points on the horizontal comparing 4 different years using in-cell graphs. Seems to work well with my audience.
Comment from Jon Peltier
Time: Wednesday, July 16, 2008, 3:33 pm
The split bar chart I show here (the last bar chart in the post), and the three-fold bar chart I showed in Bar graphs vs. Pie charts, are both panel charts of a sort. I haven’t drawn all the boxes, but I still have recreated sets of small multiples.
Generally this approach is pretty effective. See the dashboard by Professor Hichert in Nice Dashboard Examples.



















Write a comment
I welcome comments from my readers. If you have an opinion on this post, if you have a question or if there is anything to add, I want to hear from you. Whether you agree or disagree, please join the discussion.
If you want to include an image in your comment, post it on your own site or on one of the many free image sharing sites, and include a link in your comment. I'll download your image and insert the necessary html to display the image inline.
Read the PTS Blog Comment Policy.