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



我定义了一个缩放函数:

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转换。

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

写完这篇文章后,我在这里找到了一个非常有用的答案

对我有用的是这样的:

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

最新更新