How to Make a Moving Bubble Chart, Based on a Dataset
Ooo, bubbles… It’s not the most visually efficient method, but it’s one of the more visually satisfying ones.
The moving bubble chart with simulated forces is one my favorite methods to play with. Colliding nodes show independence between points, and as a whole, you see patterns in movement when multiple nodes shift to different spots on the screen.
It might not be the most visually efficient way to see the data, but there’s an organic nature to it that makes the moving bubbles visually satisfying. I’ve used the method to show the day in the life of Americans. I showed the changing stages in relationships.
In this tutorial, I’ll show you how to make something like the latter.
This is an updated version of the previous moving bubble chart tutorial. It uses a more recent version of D3.js, and I explain how to use your own dataset.
To access this full tutorial and download the source code you must be a member. (If you are already a member, log in here.)
Get instant access to this tutorial and over a hundred more, plus courses, guides, and additional resources.
You'll get unlimited access to hundreds of hours worth of step-by-step visualization courses and tutorials for insight and presentation — all while supporting an independent site. Source code and data is included so that you can more easily apply what you learn in your own work.
The tutorials are very helpful to move from "Oooo, cool!" to how to actually DO the cool.
Members also recieve 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 Make Variable Width Bar Charts in R
The code to create these bar chart variations is almost the same as if you were to make a standard bar chart. But make sure you get the math right.
How to Make Venn Diagrams in R
The usually abstract, qualitative and sometimes quantitative chart type shows relationships. You can make them in R, if you must.