0
我正在使用畫布和d3繪製〜130,000點的地圖。 我想要一個工具提示在地圖的位置上顯示數據。但是我沒有看到工具提示和控制檯日誌。onMouseOver事件不適用於畫布/ d3(工具提示)
我在虧損,任何幫助,將不勝感激:)
function createMap(dataset) {
var dataBinding = locations.selectAll("points.arc")
.data(dataset)
.enter()
.append("points")
.classed("arc", true)
.attr("x", function(d) {return projection([d.y,d.x])[0]})
.attr("y", function(d) {return projection([d.y,d.x])[1]})
.attr("radius", 1)
.attr("fillStyle", "rgba(250, 80, 80, 1)")
//onmouse over
.on("mouseover", function(d) {
console.log("mouse over");
div.transition()
.duration(200)
.style("opacity", .9);
div .html(d.y + "<br/>" + d.x)
.style("left", (d3.event.pageX) + "px")
.style("top", (d3.event.pageY - 28) + "px");
})
.on("mouseout", function(d) {
div.transition()
.duration(500)
.style("opacity", 0);
});
drawCanvas();
}
沒有控制檯日誌,那麼它意味着它永遠不會進入鼠標懸停功能。您確定要使用附加(「分數」)嗎? –
追加點工作得很好。它後來轉化爲畫布弧。 據我所知,最好的方法是使用XY值,但我不確定它有多精確。 –
你使用畫布嗎?我懷疑,因爲「點」不是一個普通的HTML元素,這可能是原因...但我不知道 –