私は散布図を描画するためにD3を使用しています。ユーザーが各サークルの上にマウスを置くと、ツールチップが表示されます。D3.js:マウスの位置ではなく、要素の位置を使用してツールチップを配置しますか?
私の問題は、ツールチップを追加することができますが、マウスイベントd3.event.pageX
とd3.event.pageY
を使用して配置されているため、各円に一貫して配置されていません。
代わりに、一部は円の左に少し、右にはいくつかあります - ユーザーのマウスが円にどのように入るかによって異なります。
これは私のコードです:
circles
.on("mouseover", function(d) {
tooltip.html(d)
.style("left", (d3.event.pageX) + "px")
.style("top", (d3.event.pageY - 28) + "px");
})
.on("mouseout", function(d) {
tooltip.transition().duration(500).style("opacity", 0);
});
、問題を示すJSFiddleです:http://jsfiddle.net/WLYUY/5/
は、私がツールチップを配向させる位置として、円自体の中心を使用することができますいくつかの方法があり、マウスの位置ではありませんか?あなたの特定のケースで
あなたがツールチップのいずれかの種類で[OK]をしている場合は、[この回答](http://stackoverflow.com/questions/10805184/d3-show-data-on-mouseover-of-circle/10806220# 10806220)が役立つはずです。 –
ありがとう!可能であれば、ちょっとしたことではなく、純粋なD3ツールチップを使用する方がいいです。 – Richard