拖动操作然后平移操作后SVG元素移动(跳转)

时间:2014-03-07 18:01:29

标签: d3.js

在尝试在d3图表中实现可移动线段时,我遇到了一种我认为很奇怪的行为。线段的端点可以移动并放置在任何位置。这是通过拖动行为完成的。拖动行为只是更新线段(路径)下面的数据。如果用户在线数据通过拖动操作更改后尝试使用线段平移图表区域,则线段将在平移操作开始后立即跳转。

line = d3.svg.line()
      .interpolate('linear')
       .x(function(d) { return x(d.index); })
       .y(function(d) { return y(d.value); });

我注意到拖动操作开始后y轴域会发生变化。一旦拖动操作完成并且平移操作开始,y轴域再次改变。这解释了为什么y轴函数的相同输入(d.index = 40,d.value = 100.3)为每个操作返回不同的值的原因:y轴域在每个操作中都不同。

我将如何解决这个问题?

0 个答案:

没有答案