D3.js d3设置不同于ZoomIdentity的默认缩放配置

D3.js d3设置不同于ZoomIdentity的默认缩放配置,d3.js,zooming,D3.js,Zooming,就像这里解释的:我已经将缩放行为添加到图表中 D3开始缩放变换到K=1,X=0,Y=0 有可能覆盖那些K,X,Y吗?例如,表示图表的当前状态(及其轴和比例)不是K=1,x=0,y=0,而是类似于K=0.012,x=12,y=-18?您可以如下设置所述SVG元素的transform属性: svg.attr('transform', 'translate(12, -18) scale(0.012)'); 这可以在可视化初始化时进行,也可以在事件处理程序中进行,例如单击重置按钮 需要注意的是,这就是

就像这里解释的:我已经将缩放行为添加到图表中

D3开始缩放变换到K=1,X=0,Y=0


有可能覆盖那些K,X,Y吗?例如,表示图表的当前状态(及其轴和比例)不是K=1,x=0,y=0,而是类似于K=0.012,x=12,y=-18?

您可以如下设置所述SVG元素的
transform
属性:

svg.attr('transform', 'translate(12, -18) scale(0.012)');
这可以在可视化初始化时进行,也可以在事件处理程序中进行,例如单击重置按钮

需要注意的是,这就是在示例中应用缩放效果的方式。
d3.event.transform.toString()的结果类似于:

translate(100, 100) scale(2)
d3.zoomIdentity.toString()的结果是:

translate(0, 0) scale(1)
换句话说,您将获得SVG元素的transform属性的格式正确的参数,使用以下方法应用时:

mySvgElement.attr('transform', d3.event.transform);
缩放或平移元素