Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

I have typical web app. where the user effectively makes a query and he/she gets back some data. The data is in the format of 1 dimension/1 metric. For instance:

  • city/population
  • country/population
  • gender/population

on returning the data my javascript uses the google charts api and displays either a pie chart or table chart or a line chart...

Depending...

What I discovered is that if I have two or three cities a pie chart is perfect, however if I have hundreds of cities a Pie chart is awful. (and hence I switch to a table chart)

My question is:

What's the algorithm to choose the most appropriate chart depending on the data ? Have people made some studies on this ?

For instance one simple answer (e.g. my current implementation) says:

if the number of cities is smaller than 5 use a pie chart
else use a table chart

Can somebody suggest a better algorithm ?

Also can somebody point me to some external resources where this problem is discussed?

share|improve this question
1  
What pie charts are best at is showing proportions, e.g. % votes for each candidate, breakdown of a group by age range, etc. It sounds like you're showing independent values. Is that correct? –  Monica Cellio May 21 '12 at 18:55

1 Answer 1

According to this Workshop result, you should not have more than five "parts" in a pie chart, just as you also suggested. (Pie charts are covered about 3/4 into the article).

The workshop also discusses a range of other best practices when displaying data graphically.

share|improve this answer
    
Quite a lot of stuff in your link. Thanks for that. Interesting thanks –  jad May 21 '12 at 11:28
    
I thought that too! 208 pages of goodness! =) –  AndroidHustle May 21 '12 at 11:30

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.