d3 pluging for better path morphing animations
Usage
d3.select('myPath') .transition() .duration(1000) .attrTween('d', function () { var startPath = d3.select('#path1').attr('d'), endPath = d3.select('#path2').attr('d'); return d3.morphPath(startPath, endPath); });