d3.brushSelection()的正确参数是什么?

时间:2016-07-20 23:52:14

标签: d3.js

我试图获取一维画笔的选择值,但我无法理解d3.brushSelection()的参数应该是什么。我看到文档说该参数应该是一个节点,但我并不确切地知道它的含义。它应该是调用画笔的特定HTML元素,还是持有画笔的svg元素?我已经尝试过两者并且都返回null。

var xBrush = d3.brushX()
  .extent([[0,0], [xWidth,xHeight]])
  .on("brush", brushed);

xChart.append("g")
  .attr("class", "brush")
  .call(xBrush);

如果这是我创建画笔的方式,我怎样才能获得选择的价值?感谢。

1 个答案:

答案 0 :(得分:4)

d3.brushSelection参数中所需的节点是与您的画笔对应的g元素。

所以你可以通过

访问选择

d3.brushSelection(d3.select(".brush").node())

或者,稍微更改一下代码,

var xBrush = d3.brushX()
  .extent([[0,0], [xWidth,xHeight]])
  .on("brush", brushed);

var theBrush = xChart.append("g")
  .attr("class", "brush")
  .call(xBrush);

d3.brushSelection(theBrush.node());

请注意,如果您的画笔选择为空,则该函数返回null