二维刷在d3 v4中

时间:2017-04-12 13:14:09

标签: javascript node.js d3.js npm

我将d3 v3转换为d3 v4

时遇到问题

我有这段代码:

  var brush = d3.svg.brush()
      .x(x)
      .y(y)
      .on("brushstart", brushstart)
      .on("brush", brushmove)
      .on("brushend", brushend);

但我不知道如何在v4中编写

我试过

 var brush = d3.brush()
      .brushX(x)
      .brushY(y)
      .on("brushstart", brushstart)
      .on("brush", brushmove)
      .on("brushend", brushend); 

但它不起作用 enter image description here

注意:我正在使用包npm:“d3-brush”:“^ 1.0.4”,

1 个答案:

答案 0 :(得分:0)

这是正确的行为。阅读docs,一个通知,d3.brush()本身将完成创建二维画笔的工作:

  

# d3。()<>

     

创建一个新的二维画笔。

因此,创建的画笔上没有方法brush.brushX()brush.brushY()。方法d3.brushX()d3.brushY()会创建一维画笔。

因此,您的代码最终会如下所示:

var brush = d3.brush()
  .on("start", brushstart)
  .on("brush", brushmove)
  .on("end", brushend);