我试图获取一维画笔的选择值,但我无法理解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);
如果这是我创建画笔的方式,我怎样才能获得选择的价值?感谢。
答案 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
。