D3.js 以编程方式更改初始平移状态d3 v4
我定义了一个缩放功能:D3.js 以编程方式更改初始平移状态d3 v4,d3.js,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) .
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 + ")");
(其中宽度和高度恰好是屏幕的大小)
这非常有效,除了用户第一次缩放。缩放状态仍在原点,而不是宽度/10
和高度/2
平移
如何以编程方式更改缩放状态以解决此问题?写了这篇文章后,我发现一个非常重要的问题 对我有效的是:
d3.select('svg').call(zoom.translateBy, width/10, height/2);