You can do interesting things with data joins and updating data in D3.js I took the gooey effect from Nadieh Bremer's block.
forked from HarryStevens's block: Gooey Cell Division
https://d3js.org/d3.v4.min.js
https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js