我正在尝试制作一张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是未定义的。但这让我感到困惑,因为我将cells连接到了上面的对象cell。这是字面上的复制粘贴的例子,但它并不是很有效。
这是我的data的演示。有一堆随机的东西与此无关,但是如果你想看的话,这个片段在main.js的底部。
发布于 2019-05-07 10:18:01
当前盘区的x1和y1值...
const cells = d3.voronoi()
.extent([[0, 0], [600, 700]])
//these------------^----^..。太低了。因此,您的cells数据数组中有空数组。
根据圆的位置增加边界,您将不再有未定义的基准面。或者,只过滤数据数组(cells)中的有效值。
https://stackoverflow.com/questions/56014397
复制相似问题