我有一個圖表,上面有一些圈子。當用戶將鼠標懸停在圓上時,我想創建一個鼠標懸停事件並傳遞該圓的中心的x和y座標。我怎麼做?如何獲取用戶鼠標懸停的圓心的x,y座標?
svg.selectAll("circle")
.data(data)
.enter().append("circle")
.attr("cx", function(d) { return x(d.number); })
.attr("cy", function(d) { return y(d.area); })
.call(d3.my_helper.tooltip(function(d, i){return "Area: "+ d.area;}));
d3.my_helper.tooltip = function(accessor){
return function(selection){
var circle_x = ???; // the center of the circle
var circle_y = ???; // the center of the circle
selection.on("mouseover", function(d, i){
// do stuff here with circle_x and circle_y
});
};
};
thx! BackPlane祝您好運! –
哈哈沒問題,謝謝! :-) – Vinay
在d3鼠標處理程序中,「this」被設置爲觸發事件的svg元素,因此您可以詢問它是否爲cx和cy屬性。 – Superboggly