Skip to main content

The Pie Chart Challenge

I contend that the pie chart should never be used. I've blogged about this before and I think the main contender for a replacement is the sausage. But there are still doubters :-) (Not everyone agrees)

The main problems with pie charts are:

1. It is difficult for humans to compare areas. So the area of the pie slices is hard to compare.

2. It is difficult for humans to compare angles. So the angle of the pie slices is similarly hard to compare.

3. Humans are much better at comparing lengths.

Amusingly, 1 and 2 above were exploited by Steve Jobs in a presentation:

On Hacker News yesterday I was challenged thusly:
Re: the claim that groups of pie charts are especially awful, I have a counterexample. How would you express this more clearly without a series of pie charts?
The charts in question look like this:

I responded with:

Which I contend is better because: it's easy to make a visual comparison between support across the different parties, and it's easy to see which parties are closest to the 50% majority threshold (or even the 66% super-majority threshold).

And, so, I give you the Pie Chart Challenge. If you truly believe that a pie chart is best then send me the chart (and its underlying data) and I will attempt to recraft it as a different, more descriptive and easier to comprehend, chart of my choosing.

If I fail (i.e. I believe that the sent pie chart is the best way to show the data), then I'll... eat humble pie.


G said…
I do not believe there is a better representation than a pie chart for this:
@Gabe Touché. I shall eat humble Pacman pie for lunch.
Damien said…
Pie charts have an application showing a part to whole ratio on a map where the ratio relates to a specific geolocation at the central point of the pie(s)
@Damien. Do you have an example of that?
Jeff said…
Hi John. I agree that pie charts are over-used and often the wrong choice but I believe they do have advantages in a few situations. A post of mine from a few years ago might be interesting to you and your readers:
Unknown said…
Here's an example of a map with pie charts. The data isn't labelled, but you could imagine the size of the pie relates to size of population, and the slices might refer to a breakdown by age or some other categories.
JD said…
Easily the best use of a pie chart ever is in this article.
Frank said…
Along the lines of Gabe's example:
VanL said…
I don't have the chart, but my daughter's schoolwork included a series of pie charts showing the relationship of various fractions the equivalent percentage.

It had the unit circle (1), which was then divided into a half, one fourth, and two eigths, each with their accompanying percentage. This made it easy to see how these percentages related to each other and to the fractional representation.
ross said…
Generally, I agree that pie charts are overused and rarely appropriate. However, I can think of one good use: parliamentary elections.

Often, it is the case that all parties can be represented as a spectrum, with some parties having a choice between allying with parties to one side or the other, or both.

Moreover, parliamentary systems require obtaining the one proportion that pie charts are better at representing than anything else: more than half. The difference between 49% and 51% is much easier to see in a pie chart than any other. Seeing which possible coalitions can reach this is easier in a pie chart than with any other graph.

I agree that it is a rare case.
Blazej Czapp said…
In the above bar chart, it is much harder to see which party has 50% or more. On a pie-chart, it's just a question of the slice having 180 degree angle or more, which is very easy. On a bar chart, on the other hand, one has to estimate if a strip is more than half the length of the total. This is difficult enough when it's the first/last slice, but one in the middle? Impossible.
mrahfa said…
Easily you cant represent a pie chart better for this problem:
Anonymous said…
I humbly present
Anonymous said…
I humbly submit
Rob said…
I found your bar chart instantly confusing and had to really think about it for a moment to dissect the information it was showing.

In contrast, I immediately understood the pie chart.

I disagree that pie charts are bad.
bryan kennedy said…
Sometimes pie charts are great because they fit. Bar charts with their linear aspect ratio are not always possible in constrained spaces like maps. Multiple pie charts can also show relative values in comparison, while still showing the breakdown. While bar charts can do this as well, I think comparing two circles sizes is easier than comparing to bar lengths in some complicated situations.

Minard's map of cattle in France (which maybe was the example Ian was mentioning) is a great example of the points I'm making:

I humbly welcome a reinterpretation.
I think Minard's chart could be better done in the following ways (depending on what you want to show).

1. There doesn't seem to be any strong pattern to where the meat was coming. If the key item is to show which departments in France are sending the most meat then I'd suggest that a simple table would be more beneficial.

2. This map falls into the multiple pie chart problem and the pie charts here have different radii so it's really hard to compare. For example, try comparing two regions and work out the ratio of the total meat. It's hard. A linear scale would be easier.

Overall I think there's an attempt to put too much information in one place and he'd have done better to separate out the relative ranking of the different departments (table or horizontal bar chart showing percentages), from the location (some sort of shaded map or simply map with numbers on it), from the break down per region (use 100% bar charts like in my example).
@Blazej In the case you mention I would still use my bar chart but order the parties so that the largest came first. If it's close to 50% it will be totally clear.
@edlea I realize your submission was jokey, but those aren't pie charts. The slices are all the same so they are simply a sort of round progress bar.
It is true that pie charts send an important cultural signal: "This represents portion of a whole". But I'm assuming that could be unlearnt.
Rashiem Mims said…
I agree, in your example its easier to cross references all three parties, and I think that some of the comments are forcing their points by just disagreeing with you. But I think there are situations where pie charts do have full reign.
Muxxa said…
I believe the only possible sane use is if there are only 2 categories in the pie chart.

One problem that still exists in your reworking of the democrats/republicans/independents pie charts is that the 'oppose' categories cannot be compared visually with eachother, as they are in limbo in the middle of the sausages.

In this case for both graphs, the 'other' category should go in between the other 2 categories (in the case of the pie chart, 'in between' means not flush with 12 o'clock)
dwh said…
While in general I agree, my exception is where you have many classes, don't need much detail, and just want a space-constrained overview. Example:

My monthly finances. I have, say, 30 different bills I pay in a month. Having a smallish chart in the corner gives me the very broad-brush overview that most of my money goes on rent, then food, then …, but I really don't care that 65% goes on rent in this context. If I want more detail, I click on the chart, and am taken to detailed charts. But the space saved by using angles not length gives me a greater skimability without sacrificing too much screenspace.
radosveta said…
Let's see how will you visualize this dataset better than with a piechart:
"What I do during the day"
-8h sleep
-2h 30min eat
-2h walk the dog
-8h work
-3h 30min daydream

I have to agree, as a lot of people before me noted, that piecharts are often overused and not suited for the data they are trying to convey. But if people should not try to extract some particular numbers, and just relatively understand what portion of the whole is a category, they seem intuitive to me.

I am not convinced areas are harder to compare than lines. If the lines aren't properly aligned, or, even worse, put next to each other, it can create more confusion. For example, I had a hard time reading your iTunes sausage at first, if I ignore the numbers below: Aren't photos half a sector more than the audio? Or are they just half a sector of the available space, and the audio 8 sectors? I think for a lot of categories with small variations that add up to 100% a sausage would indeed be a more clear representation, but like Blazej Czapp mentioned, if we have just two categories with 50,5% and 49,5% a pie will be more convincing.
Except maybe for this one.
Jon Peltier said…
An alternative depiction of the direct vote support by party is here:

It was inspired by Naomi Robbins' article in Amstat News, "Visualizing Data: Challenges to Presentation of Quality Graphics—and Solutions"
@radosvesta I think when you are showing hours of a complete day then something a bit like a pie chart would be appropriate. There's such a close relationship between the 24 hours and a clock that a circular diagram would be appropriate. Especially since you could relate the start/end times of different activities to the slices.

In the case of just numbers where we want to see closeness to 50% I'd suggest no diagram at all. Just a number.

@Muxxa That does seem like a reasonable refinement of my bar chart for the parties. Also see the later comment by Peltier.

@dwh Fair points about skimability, although I still think a 100% bar chart is clearer.

@Jon Peltier Yes, that's another nice way of looking at it.
radosveta said…
Yessss, I think I was right to the point with my dataset! :) Do I get an honorary mention in the hall of know-it-alls? ;)

And you are right, 50,5%>49,5% written in big font size or bold will indeed be most convincing.
@radosveta: Honorary Award for data that would be best shown in a circular format. Also, I will eat a slice of humble pie in your honour!
I'm a little late but I just discovered this post. As Jon Peltier said, I believe that a diverging stacked bar chart is the best way to show this data; however, I'd suggest a modification to Jon's chart. His line at zero makes the no opinion group look like two groups. I'd prefer the line behind the bars.

Popular posts from this blog

Your last name contains invalid characters

My last name is "Graham-Cumming". But here's a typical form response when I enter it:

Does the web site have any idea how rude it is to claim that my last name contains invalid characters? Clearly not. What they actually meant is: our web site will not accept that hyphen in your last name. But do they say that? No, of course not. They decide to shove in my face the claim that there's something wrong with my name.

There's nothing wrong with my name, just as there's nothing wrong with someone whose first name is Jean-Marie, or someone whose last name is O'Reilly.

What is wrong is that way this is being handled. If the system can't cope with non-letters and spaces it needs to say that. How about the following error message:

Our system is unable to process last names that contain non-letters, please replace them with spaces.

Don't blame me for having a last name that your system doesn't like, whose fault is that? Saying "Your last name …

All the symmetrical watch faces (and code to generate them)

If you ever look at pictures of clocks and watches in advertising they are set to roughly 10:10 which is meant to be the most attractive (smiling!) position for the hands. They are actually set to 10:09.14 if the hands are truly symmetrical. CC BY 2.0image by Shinji
I wanted to know what all the possible symmetrical watch faces are and so I wrote some code using Processing. Here's the output (there's one watch face missing, 00:00 or 12:00, because it's very boring):

The key to writing this is to figure out the relationship between the hour and minute hands when the watch face is symmetrical. In an hour the minute hand moves through 360° and the hour hand moves through 30° (12 hours are shown on the watch face and 360/12 = 30).
The core loop inside the program is this:   for (int h = 0; h <= 12; h++) {
    float m = (360-30*float(h))*2/13;
    int s = round(60*(m-floor(m)));
    int col = h%6;
    int row = floor(h/6);
    draw_clock((r+f)*(2*col+1), (r+f)*(row*2+1), r, h, floor(m…

Importing an existing SSL key/certificate pair into a Java keystore

I'm writing this blog post in case anyone else has to Google that. In Java 6 keytool has been improved so that it now becomes possible to import an existing key and certificate (say one you generated outside of the Java world) into a keystore.

You need: Java 6 and openssl.

1. Suppose you have a certificate and key in PEM format. The key is named host.key and the certificate host.crt.

2. The first step is to convert them into a single PKCS12 file using the command: openssl pkcs12 -export -in host.crt -inkey host.key > host.p12. You will be asked for various passwords (the password to access the key (if set) and then the password for the PKCS12 file being created).

3. Then import the PKCS12 file into a keystore using the command: keytool -importkeystore -srckeystore host.p12 -destkeystore host.jks -srcstoretype pkcs12. You now have a keystore named host.jks containing the certificate/key you need.

For the sake of completeness here's the output of a full session I performe…