D3行为变焦手动调整

时间:2012-07-21 21:31:58

标签: javascript d3.js

我正在尝试在我正在开发的相当简单的d3可视化中手动调整缩放级别。请参阅:http://jsfiddle.net/TXPcM/

在缩放和平移后(使用shift +单击缩小)按“默认缩放”按钮,然后尝试再次平移。你会注意到一个震动的移动,因为它“重置”到按下按钮之前的状态。

代码有点像原型而且卷绕得很长 - 但是请查看applyZoom函数。这里的目的是重新应用缩放行为,因此,希望清除它可能使用的任何缓存值。似乎没有用。建议?

2 个答案:

答案 0 :(得分:1)

执行此操作的方法是修改缩放对象,而不仅仅是修改(或者在您的情况下重新创建缩放)。

抓住你的zoom对象并执行以下操作:

zoom.translate([x,y])
    .scale(scale); 

答案 1 :(得分:0)

我没有看你的代码,但这个d3 google群组线程有你想要的答案,我想: https://groups.google.com/d/topic/d3-js/-qUd_jcyGTw/discussion