私はd3.stack()
を使用して、正規化されたスタックされたbarchartを作成しています。
しかし私は、モアオーバーのツールチップのためにinitalデータセットの関連する値にアクセスするのに問題があります。D3v4 Stacked Barchartツールチップ
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
d.data
は完全なオリジナルのデータオブジェクトですが、私は現在、ホバリングしていた一連のどのスタック上で情報が欠落している、ベースライン/トップラインを定義する値で、この時点でArray[2]
です。
は、理想的には私はfoo
RECTの上にホバリング時にツールチップが{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