d3缩放行为。以小增量增加比例

时间:2014-02-15 03:50:26

标签: javascript d3.js

在d3变焦行为中,对于线性刻度,我该如何逐渐增加变焦。我像

一样使用它
var zoom = d3.behavior.zoom()
    .x(x)
    .y(y)
    .scaleExtent([1, 10])
    .on("zoom", zoomed);

如果我理解正确,图表将放大至10倍。是这样,每次双击都会缩放1倍,直到达到10倍?我怎样才能使它更加精细,如1,1.2x,1.4x,..

感谢。

1 个答案:

答案 0 :(得分:2)

缩放级别增加为geometric series。也就是说,每次单击时,它都会加倍 - 1,2,4等。默认交互不允许您执行更精细的步骤,但您可以在处理程序代码中轻松执行此操作 - 没有什么需要您放大与缩放行为的缩放值完全相同的步骤。也就是说,对于2的缩放级别,您可以将缩放系数设置为1.2,对于4到1.4等。

对于更精细的控制,您可能还需要考虑在页面上设置另一个输入元素(例如缩放级别的输入框或滑块)。