anchor.diff:  
     var svg = d3.select("body").append("svg");
   
  -  var zoom = behavior.zoom().x(x).y(y).scaleExtent([1, 10]).on("zoom", () {
  +  var zoom = behavior.zoom().x(x).y(y).scaleExtent([1, 10]).on("zoom",
  +      allowInterop(() {
       svg.select(".x.axis").call(xAxis);
       svg.select(".y.axis").call(yAxis);
  -  });
  +  }));
   
     svg
         .attr("width", width + margin.left + margin.right)
         .attr("height", height + margin.top + margin.bottom)
         .append("g")
  -      .attr("transform", "translate(" + margin.left + "," + margin.top + ")")
  +      .attr("transform", "translate(${margin.left},${margin.top})")
         .call(zoom);
   
     svg.append("rect").attr("width", width).attr("height", height);
  
positive.code: import 'package:d3/d3.dart' as d3;
  import 'package:d3/scale.dart' as scale;
  import 'package:d3/behavior.dart' as behavior;
  
negative.code:   svg
        .append("g")
        .attr("class", "x axis")
        .attr("transform", "translate(0,$height)")
        .call(xAxis);
  
    svg.append("g").attr("class", "y axis").call(yAxis);
  
    d3.select("button").on("click", allowInterop(() {
      svg.call(zoom
          .x(x.domain([-width / 2, width / 2]))
          .y(y.domain([-height / 2, height / 2]))
          .event);
    }));
  }
  