Thursday, July 3, 2014

Beer and Pie | rCharts pie charts with d3pie

In honor of the 4th of July, I thought a quick example of a pie chart on beer using the wonderful new d3pie library would be appropriate.  The rCharts binding with d3pie is simply an experiment now, but expect more in the near future.


Using slidify and rCharts, I created a more complete writeup of the experiment with d3pie if you would like to play with it yourself.


  1. Well, I can't see that the pie chart you have here, while flashy etc. is really much more that base r pie.
    It still doesn't seem to present the data in any particularly nice way, and if you are just working for the sales department, why do you care about data at all? Especially bad since you include the numbers in your graphic. Then the numbers for the smaller slices are illegible. Wouldn't a table be as nice, or better? Who is demanding pie charts? Are they the visualization experts to whom we should be listening? Or should we be trying to educate them?

  2. Pie charts are the tool of the devil. Nobody other than incompetent PHBs want to see them. Don't take my word for it: read any of Edward Tufte's writings on effective data presentation. Or google the famous "Pac-Man Pie Chart" :-) .

  3. Nothing like a pie chart to provoke some comments :) I am well aware of their flaws. I have found an interesting use case for them, which is to serve as an interactive legend/selector/filter as they can be used in dc.js. This is very intuitive to me, and their flaws in informative data presentation are somewhat irrelevant since the pies are service a different purpose. Let me know if you know of any research on this use case.

    I promise you will not find many pies in my public or private work :)

  4. Thanks so much for the comment. Please see my reply to the other comment. In the case of labelling if you still wanted to create a pie :), d3pie offers lots of customization options to only label larger slices and also in the newest version aggregate the small slices into an other or similar.

    In general I agree with all your points.