我使用d3.stack()
来创建规范化堆叠条形图。
但是,我无法访问mousover工具提示的inital数据集的相关值。D3v4堆叠条形图工具提示
serie.selectAll("rect")
.data(function(d) { return d; })
.enter().append("rect")
...
.on("mousemove", function(d){
let coords = d3.mouse(svg.node());
tooltip.style("left", coords[0] + "px");
tooltip.style("top", coords[1] - 70 + "px");
tooltip.style("display", "inline-block");
tooltip.html("HOW TO ACCESS DATA HERE?");
});
d
是Array[2]
在这一点上与定义基线/背线的值,d.data
是完整的原始数据对象,但缺少了该系列目前,我正在徘徊的这堆的信息。
理想我想工具提示徘徊在foo
矩形上方时显示的数据集像{name:"item1", foo:10, bar:20}
value: 10
percentage: 33%
。
我发现的所有例子都是针对D3v3的,您可以简单地使用d.y
来访问相关的值,但D3v4似乎不再适用。
v4中的第一个参数('d')与v3完全相同。我建议你发布[MCVE](http://stackoverflow.com/help/mcve)。 –
然后,我认为它是版本相关的假设是错误的,但问题仍然存在:我如何知道我正在盘旋的系列的哪个矩形?根据这个例子(http://bl.ocks.org/mstanaland/6100713)它应该只是'dy',但这里是它不起作用的小提琴,因为'd'是堆栈数组:https:// jsfiddle.net/vu624zrg/1/ – TommyF