如何在缩放时更新轴上的刻度值?

时间:2015-07-06 14:49:27

标签: javascript jquery d3.js

我有这个小提琴:

http://jsfiddle.net/q0ubpmwj/3/

它有一个x和y轴以及一个矩形,您可以使用鼠标在屏幕上移动和放大。

这些轴用作标尺,用于测量屏幕上显示的内容。我找到了这个例子:http://bl.ocks.org/mbostock/3892928

我希望它类似但没有平底锅。因此,当我放大到我的矩形时,我希望刻度值根据缩放比例缩放。但我不确定如何将其纳入我的代码。

我尝试将轴的代码放在一个函数中并将一个比例传递给它,所以id在重绘函数中再次调用它,但似乎没有正常工作。

function updateAxis(scale){ //creates the axis

    x = d3.scale.linear()
    .range([0, width*scale]);

    y = d3.scale.linear()
        .range([0, height*scale]);
.
.
.
.
.

1 个答案:

答案 0 :(得分:1)

我想我解决了它。我把它添加到重绘中。

 svg.select(".x.axis").call(xAxis);
  svg.select(".y.axis").call(yAxis);

看起来我有我需要的东西,根本没有更新它:L

更新了小提琴:http://jsfiddle.net/q0ubpmwj/4/