我定义了缩放功能:
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/10
和height/2
翻译。
如何以编程方式更改缩放状态以解决此问题?
答案 0 :(得分:0)
写完这篇文章后,我发现了一个非常helpful answer here
对我有用的是:
d3.select('svg').call(zoom.translateBy, width/10, height/2);