Javascript 镜像平移/缩放两个svg元素

Javascript 镜像平移/缩放两个svg元素,javascript,d3.js,svg,Javascript,D3.js,Svg,我需要使用d3构建两个力图,并使它们同时缩放/平移。我通过将zoom事件中的d3.event.scale()和d3.event.translate()属性强制到两个SVG上来实现这一点;问题在于,在从一个svg切换到另一个svg时,每个svg都以某种方式保存了它以前的转换/缩放值 我使用d3示例中的这段代码来实现SVG的平移/缩放 // Set up zoom support var zoom = d3.behavior.zoom() .on("zoom", function()

我需要使用d3构建两个力图,并使它们同时缩放/平移。我通过将zoom事件中的d3.event.scale()和d3.event.translate()属性强制到两个SVG上来实现这一点;问题在于,在从一个svg切换到另一个svg时,每个svg都以某种方式保存了它以前的转换/缩放值

我使用d3示例中的这段代码来实现SVG的平移/缩放

// Set up zoom support
var zoom = d3.behavior.zoom()
        .on("zoom", function() { 
            inner.attr("transform", 
                       "translate(" + d3.event.translate + ")" 
                       + "scale(" + d3.event.scale + ")"); });
svg.call(zoom);


问题是我在每个svg.each()过程中都声明了一个新的缩放处理程序。我应该只声明一个缩放事件处理程序,并为每个svg调用该处理程序