我正在尝试为我创建的区域路径设置工具提示。我检查了所有传递给 on mousemove 事件处理程序的参数,我只是得到了完整的数据集,0, 0。据我所知,没有任何东西可以表明我在数据中的索引。“这个”上下文也是 svg 路径元素。还是没什么用。甚至查看了 d3.select(this),我也无法在任何地方找到索引。有什么方法可以确定我的鼠标在哪个数据点上?
环顾四周,我发现了对 d3.mouse(this) 的引用,这给了我 x/y 坐标,但是如何将其映射回数据集中的数据点?
我的目标是有一个工具提示来显示与集合中特定数据点相关的一些元数据。
以下是一些要求的代码片段:
var area=d3.svg.area()
.interpolate("monotone")
.x(function(d){
return(scale.x(d.date));
})
.y0(height-padding.bottom)
.y1(function(d){
return(scale.y(d.count));
});
var path=svg.append('path')
.datum(data)
.attr('d',area)
.attr("clip-path", "url(#clip)")
.attr('fill','url(#gradient)')
// .attr('title','path')
.on('mousemove',function(){
console.log(arguments);
console.log(d3.select(this));
console.log(d3.mouse(this));
});