After not touching D3.js for a long time, I recently started using it again at work. Typically, I use Python—and Matplotlib—for visualization, but nothing beats using SVG and easily adding interactivity. If you’ve never heard of D3, the little intro snippet on the website sums it up well:
D3 allows you to bind arbitrary data to a Document Object Model (DOM), and then apply data-driven transformations to the document.
Basically, select your data and use your favorite web technologies (SVG, CSS, and HTML) to make something cool.
Mmmmmm, what a tasty transition. (No shame in hitting animate again.)
The chart could be improved further: making it responsive, displaying information on selection/mouseover, etc. Feel free to take a look at the code on CodePen.