Voronoi地图:无法找到我刚刚与对象关联的数据

时间:2019-05-07 01:38:22

标签: javascript d3.js

我正在尝试制作Voronoi地图,以便为大量的圈子创建标签。我正在按照Mike Bostock step by step的示例进行操作,但是我遇到了一个错误,并且不确定为什么。

我初始化voronoi细胞,然后尝试为每个多边形创建路径。

      const cells = d3.voronoi()
        .extent([[0, 0], [600, 700]])
        .polygons(circle_locations)

      const cell = svg.append("g")
        .attr("class", "voronoiWrapper")
        .attr("fill", "none")
        .selectAll("path")
        .data(cells)
        .enter()

        cell.append("path")
          .attr("stroke", "#orange")
          .attr("d", d => `M${d.join("L")}Z`);

这给我一个错误,即d未定义。但这使我感到困惑,因为我将单元格连接到了上面的对象cell上。这实际上是复制粘贴示例所具有的内容,但效果不佳。

这是我的data的演示。有很多与此无关的随机内容,但是如果您愿意的话,此摘要位于main.js的底部。

1 个答案:

答案 0 :(得分:2)

您当前范围的CustomUserAuth.Email & CustomUserAuth.PrimaryEmailx1值...

y1

...太低了。因此,您的const cells = d3.voronoi() .extent([[0, 0], [600, 700]]) //these------------^----^ 数据数组中有空数组。

根据圆的位置增加该边界,您将不再具有未定义的基准。另外,只需过滤数据数组(cells)中的有效值即可。