# Scott Hanselman

## Life Beyond Pie Charts: The right visualization for the right job

March 29, '07 Comments [14] Posted in ASP.NET | Musings | Programming | Speaking

I deal with a lot of data in my day job. We're always trying to figure out the right way to visualize some chunk of data. Being able to think about the visualization of quantitative information start with thinking beyond basic bar and line charts.

We're looking into schools for Z, and we have some specific categories that we're using to rank the schools, like for example:

• Cost
• Spanish
• Sign Language
• Teachers
• Recommended
• Location
• Curriculum
• Vibe
• Schedule

We're going to look at many schools, so we're looking at a grid here, with each category ranked, say, 1 to 10, where 10 is awesome, and 0 sucks.

We could make a bunch of line/bar charts...

...and it kind of works if force ourselves to remember that a straight line all the way across the top means "good."

We could view the data as a pie chart if we introduce a gap in the pie that indicates that missing "goodness." The fuller the pie, the better the daycare:

If we didn't like the pie because it doesn't really characterize the information enough where we could actually make a decision, we could try a closed donut that includes all the choice:

The donut really doesn't work because there's an implication that the ordering of the rings indicates a qualitative (actually quantitative) judgement. The order in this case is meaningless.

This particular dataset lends itself to being a Radar Graph. You can think of a Radar Graph as just a Line Chart wrapped around a single point so that left-right presentation of data on the horizontal of the x-axis (as is in a Line Chart) doesn't get misinterpreted as being meaningful.

We can present the data into two ways, either all mushed together...

...but the Z-ordering again has the same problem as the donut - it implies that the one on top is better. If the data is solid, then one covers the next, but if it's transparent, the color turns to brown. This data really wants to have each series next to each other.

There we go. Now it becomes clear that "Babies babies babies" is the most balanced of the four.

If you're a UI programmer, or a UX designer, you should be a connoisseur of this kind of stuff. Don't fall into the trap of throwing your data into a simple grid. The data "wants" to be presented in a certain way. It's your job to find that appropriate visualization.

Be sure to remember that axes lie. If you're using logarithmic or adjusted axes, you should know what the psychological ramifications are of these changes. You can inadvertently bias the data and lead you viewer to non-objective conclusions. The US Today "info-graphic" is notorious for this kind of things.

Above all, remember there's more available to you than just Pie Charts and Bar Charts.

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

Hosting By
Thursday, March 29, 2007 8:01:10 AM UTC
hey scott,
about that last line 'Pie Charts and Bar Charts'; for most people there are not. Your target audience makes a *huge* difference on what sort of graphs you can use. Though that doesn't mean you can't try and show them the way ;)

Thursday, March 29, 2007 10:32:31 AM UTC
The approach here however assumes that each category is equally as important as all others which is unlikely the case.

You need to put a weighting next to each category and multiply the score by that weighting before turning it into a graph ;-)

Unless of course not having a recommendation really is as important as being far away or expensive.

[)amien
Thursday, March 29, 2007 10:55:58 AM UTC
Great post, although I'm not sure what's more disturbing. The fact that you went through all this to produce graphs to select a school, or that there's a school out there called "Babies babies babies". Just doesn't sing does it? Maybe one of your axes should have been "Sillyness of name" ;)
Thursday, March 29, 2007 11:50:13 AM UTC
I agree with Damien, most factors don't carry the same importance or weight. I use Excel to create a grid of weighted factors and then score each alternative. That gives each alternative a score. Coming from an operations research background, I like to play with the weights and see just how much I can change a weight before it alters the ranking. There used to be a site online called provenclarity.com that had a nice Flash UI that would allow you to do the same thing but it's been taken down.
Thursday, March 29, 2007 12:30:00 PM UTC
To be honest, I'm a bit disappointed that none of these graphs represent causation as to where all of these babies are coming from, isn't that the real elephant in the room?

Hmmm.. I am going to call my mom and see if she knows where my little brother came from.
Thursday, March 29, 2007 12:31:52 PM UTC
+1 for the Spanish (or any foreign language) and +1 for the Sign Language (ASL I presume?)

I think more schools should be teaching multiple languages starting in kindergarten. Kids learn it faster, and it makes them more competitive in the business world in the long run.
Thursday, March 29, 2007 12:32:48 PM UTC
I always thought this chart of Napoleon's march was a great example of showing a lot of data on a single chart.

http://www.edwardtufte.com/tufte/minard

John
John
Thursday, March 29, 2007 1:09:56 PM UTC
John, it's often cited as possibly the best graph representation thingy (sorry the brain is a little fried/jet lagged or I'd describe what it is a little better). Anyway, the point is that it's supposed to be the best example of one.
Ian
Thursday, March 29, 2007 3:13:36 PM UTC
If you need some inspiration, check out this "Periodic Table" of visualization:

http://www.visual-literacy.org/periodic_table/periodic_table.html

- Paul.
Thursday, March 29, 2007 3:19:17 PM UTC
Heh, yes, I know that weighting is important...I was trying to simplify the whole thing, but I probably should have included relative weights. :) Actually *poor* or artificial weighting is another way to get an axis to lie for you.
Thursday, March 29, 2007 9:29:31 PM UTC
Scott, are you using a charting package to generate these via code? Or is this standard excel stuff? Either way, what do you use for charting in web-apps?
Alan
Thursday, March 29, 2007 9:36:58 PM UTC
For this particular kind of data, I think the "Consumer Reports" charts are quite natural and effective. And they have the benefit of displaying all this data on a single grid, rather than requiring you to have a separate drawings for each instance.

But then you have to decide what your cut-offs are for each property. This is really no different than weighting them, though.
Friday, March 30, 2007 4:49:28 AM UTC
c - Great point! I'll try that kind of chart/table.

Alan - Just Excel 2007...
Friday, March 30, 2007 1:29:04 PM UTC

Two thoughts:

1.) Write your perfect job description for the next job you want.

2.) Create a weighted job interview scoring system to be more prepared. It will also identify personal short comings.

Now do the same thing for your personal life.
Scott