d3.behavior.zoom drży, drży, skacze i odbija się podczas przeciągania

Używam d3.behavior.zoom do implementacji panoramowania i powiększania układu drzewa, ale wykazuje ono zachowanie, które opisałbym jako podskakujące lub niestabilne numerycznie. Kiedy zaczniesz przeciągać, wyświetlacz niewytłumaczalnie przeskoczy dookoła, aż zniknie. Kod wygląda tak:

var svg = target.append ("g");
...
svg.call (d3.behavior.zoom()
    .translate ([0, 0])
    .scale (1.0)
    .scaleExtent([0.5, 2.0])
    .on("zoom", function() {
        svg.attr("transform","translate(" + d3.event.translate[0] + "," +  d3.event.translate[1] + ") scale(" +  d3.event.scale + ")");
    })
);

Czy jest lepszy sposób na ustawienie transformacji, która nie powoduje tego typu zakłóceń?

questionAnswers(1)

yourAnswerToTheQuestion