以编程方式更改初始平移状态d3 v4

时间:2017-07-18 22:52:35

标签: d3.js

我定义了缩放功能:

var zoom = d3.zoom().on("zoom", function () {
                svg.attr('transform', d3.event.transform);
            });

并在此svg变量上调用它:

var svg = d3.select("body").append("svg")
    .attr("width", width)
    .attr("height", height)
    .call(zoom)
    .append("g")
    .attr("transform", "translate("
        + width/10 + "," + height/2 + ")");

(宽度和高度恰好是屏幕的大小)。

除了用户第一次缩放外,效果很好。缩放状态仍然是原点,而不是width/10height/2翻译。

如何以编程方式更改缩放状态以解决此问题?

1 个答案:

答案 0 :(得分:0)

写完这篇文章后,我发现了一个非常helpful answer here

对我有用的是:

d3.select('svg').call(zoom.translateBy, width/10, height/2);