我正在使用 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/
有什么方法可以使用圆心本身作为定位工具提示的位置,而不是鼠标位置?