我有一个D3径向树状图树,我已经应用了d3.zoom,但是当我拖动它时它会抖动。缩放行为本身很好,但拖动不是。我认为''的方式可能存在一些问题。元素被翻译(JsonObject obj = new JsonObject();
obj.add("data", json);
JsonArray data = obj.getAsJsonObject().getAsJsonArray("data");
)。
任何帮助将不胜感激!
这是我树的代码框:https://codesandbox.io/s/4zr43po6l9
答案 0 :(得分:1)
将'svg'更改为'g',因此缩放会影响缩放行为附加到的svg正下方的g元素,现在它是平滑的
let zoom = d3.zoom().on("zoom", () => {
g.attr("transform", d3.event.transform);
});
我不确定为什么它这样做才是诚实的
也许更改svg变换会使事件鼠标x y位置变得棘手,因为它将其值基于svg,所以你会得到那种颤抖效果?