xExtend值未更新

时间:2015-08-18 15:46:47

标签: javascript d3.js

我遵循此Gist

中的相同代码

我需要的是根据新数据更新此xExtent动态

function updateLmits(){
  zoom = d3.behavior.zoom()
   .x(x)
   .xExtent([-1000,1000])
   .y(y)
   .yExtent([-100,100])
   .scaleExtent([0.1, 10])

   .on("zoom", zoomed);
    zoomed()
}

但不知何故,新的缩放仍然显示旧的 我需要重新调整缩放吗?在设置新的之前解开旧的? 测试Plunker

1 个答案:

答案 0 :(得分:0)

抱歉这是个愚蠢的错误。使用新值更新缩放后,使用svg绑定的缩放对象是旧的我必须将其重新绑定到svg,否则它将使用旧的...

function updateLmits(){
zoom = d3.behavior.zoom()
 .x(x)
 .xExtent([-1000,1000])
 .y(y)
  .yExtent([-100,100])
  .scaleExtent([0.1, 10])
  .on("zoom", zoomed);

   svg.call(zoom);//<====
}