anchor.diff:        return "%" + p;
     }
   
  -  text.transition().duration(1000)
  +  text.transition().duration(500)
       .attrTween("transform", function(d) {
         this._current = this._current || d;
         var interpolate = d3.interpolate(this._current, d);
  
positive.code:     .append("title")
        .text(function(d) { return d.data.category + " - $" + d.data.amount; });
  
    slice.transition().duration(1000)
      .attrTween("d", function(d) {
        this._current = this._current || d;
        var interpolate = d3.interpolate(this._current, d);
  
negative.code:   polyline.enter()
      .append("polyline");
  
    polyline.transition().duration(500)
      .attrTween("points", function(d){
        this._current = this._current || d;
        var interpolate = d3.interpolate(this._current, d);
  