我有一个d3.js静态力布局图可以变得相当大(有时它的一部分被剪裁),所以我想让用户通过拖动来平移整个图形.我认为我不需要拖动单个节点,我有一种感觉会让人感到困惑,但我希望能够显示由svg边界剪切的图形部分.
我在http://bl.ocks.org/3811811有一个最小的例子@H_403_3@
visF.append("rect") .attr("class","background") .attr("width",width) .attr("height",height) .call(d3.behavior.zoom().on("zoom",redrawVisF)); function redrawVisF () { visF.attr("transform","translate(" + d3.event.translate + ")" + " scale(" + d3.event.scale + ")"); }
实现平移,但我发现它真的是“闪光”并且根本不是很平滑,我猜它会阻止人们尝试拖动功能.有没有人知道为什么会发生这种情况和/或如何解决这个问题?@H_403_3@