javascript - d3 v4 中的二维画笔

标签 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",

最佳答案

这是正确的行为。阅读docs ,人们注意到,d3.brush() 本身将完成创建二维画笔的工作:

# d3.brush() <>

Creates a new two-dimensional brush.

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

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

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

关于javascript - d3 v4 中的二维画笔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43370609/

相关文章:

javascript - 为什么D3不更新文字

javascript - 如何将德国 map 放在 HTML 中的 svg 上? D3js

javascript - 为什么事件会在 dom 中冒泡?

Javascript 如何查看 "$this"是否包含某个 ID

javascript - 如何通过命令解析以在 Node JS 中接收带有子进程的特定行

javascript - 将 D3 Graph 插入 CMS 中的 div 中

javascript - 使用函数验证用户输入的最小值和最大值之间的值

javascript - 在动态加载的 html 上使用 jqgrid

javascript - 如何使用nodeJs从sql server中删除特定行

mysql - 使用 node-mysql 从 heroku Node 应用程序连接到 Amazon RDS 数据库