How I Made That: Interactive Beeswarm Chart to Compare Distributions
The histogram is my favorite chart type, but it’s unintuitive for many. So I’ve been using the less accurate but less abstract beeswarm.
Distributions are far more interesting than means and medians, and statisticians most often use histograms to see the former. For me, a statistician, reading histograms is straightforward and unintuitive, but for those who don’t look at distributions on a regular basis, reading histograms can be a challenge.
Histograms require readers have a certain level of statistical knowledge. Readers need a mental image of how the spread works and how individual items or data points can abstract to bars.
To solve this problem, I’ve tried interaction and annotation with histograms on FlowingData a handful of times. It only seems to kind of work. In contrast, the beeswarm chart seems to more easily gain traction. My hunch is that people can relate better to individual shapes moving across a distribution range than they can bars moving up and down. Just a hunch though.
To access this full tutorial, you must be a member. (If you are already a member, log in here.)
You will get unlimited access to step-by-step visualization courses and tutorials for insight and presentation — all while supporting an independent site. Files and data are included so that you can more easily apply what you learn in your own work.
Learn to make great charts that are beautiful and useful.
Members also receive a weekly newsletter, The Process. Keep up-to-date on visualization tools, the rules, and the guidelines and how they all work together in practice.
See samples of everything you gain access to:
More Tutorials See All →
How to Draw Maps with Hatching Lines in R
Fill areas with varying line density to give more or less visual attention. With geographic maps, the technique is especially useful to adjust for population density.
How to Make Interactive Frequency Trails with D3.js
Layering time series data or distributions with this method can change the feel and aesthetic versus a multi-line chart or small multiples. In some cases, frequency trails let you show more in less space.
How to Make Ternary Plots in R, with ggplot2
When you want to compare between three parts of your data, ternary plots might be a good option. Here is how to make them.