2016-07-23 62 views
1

我已经将矩形添加到Mike Bostock的Pan & Zoom Axes示例中,但我无法使用放大的轴来获取矩形大小。我添加了删除并追加/输入到缩放功能,但它不执行。任何帮助,将不胜感激。在平移和缩放轴上调整矩形大小

gMain.selectAll(".rectband").remove(); 

     shape = gMain.selectAll('.rectband') 
      .data(data) 
      .enter() 
      .append('rect') 
      .attr("fill", "blue") 
      .attr("width", 100) 
      .attr("height", 100); 

https://bl.ocks.org/mbostock/db6b4335bf1662b413e7968910104f0f

+0

您可能需要调用 “放大” 了。 –

+0

如何访问更新的缩放x和y坐标? – user3359706

+0

[g元素上的[d3版本4缩放行为]可能的重复](http://stackoverflow.com/questions/38544216/d3-version-4-zoom-behaviour-on-g-element) – Mark

回答

1

最终的解决方案是采用这个小提琴:

https://jsfiddle.net/u6rj20jc/3/

function zoomed() { 
     view.attr("transform", d3.event.transform); 
     gX.call(xAxis.scale(d3.event.transform.rescaleX(x))); 
     gY.call(yAxis.scale(d3.event.transform.rescaleY(y))); 

     gMain.attr("transform", d3.event.transform); 
     group.attr("transform", d3.event.transform); 
     }