我正在使用D3绘制散点图。我希望当用户将鼠标悬停在每个圆上方时显示工具提示。
我的问题是,尽管我可以附加工具提示,但它们的位置是基于鼠标事件 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/
我能否以圆形本身的中心作为提示框定位的位置,而不是以鼠标位置为基准?