Voronoi Tessellation]找出我引用的点

时间:2015-02-15 11:19:15

标签: d3.js voronoi

我有一个项目使用这个Voronoi Tessellation插件,其中一系列坐标代表温度传感器的位置 - 我正在考虑使用JSON来表示他们的位置和检测到的温度值。

当鼠标悬停在某个区域时,我需要显示我正在参考的传感器(点)的温度值(我鼠标悬停的区域)。

https://github.com/mbostock/d3/wiki/Voronoi-Geom

我一直在反复阅读本文档,但仍无法弄清楚是否可以检测鼠标悬停区域所属的特定点。

以前有人试过这个吗?有关它的好例子吗?

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你想在用户鼠标进入voronoi分区时在顶点处显示文字吗?

您可以通过处理每条路径的mouseenter / leave事件来完成此操作:

path.enter().append("path")
.attr("class", function(d, i) {
  return "q" + (i % 9) + "-9";
})
.attr("d", polygon)
.on("mouseenter", function(d,i){
  if (!someTexts[i]) { // get some fake value
    someTexts[i] = (Math.random()*100).toFixed(1);
  }
  // append text
  currentText = svg.append("text")
    .text(someTexts[i])
    .attr("transform","translate(" + vertices[i] + ")")
    .attr("text-anchor","middle")
    .attr("alignment-baseline", "middle");
})
.on("mouseleave", function(d,i){
  // remove text
  currentText.remove();
});

示例here