Вот My fiddled3.geom.voronoi() не возвращает enaugh многоугольников
У меня есть исходный массив точек (объекты), которые я рисую на моей карте, а затем я хочу, чтобы создать Вороную накладку для событий мыши ,
Форма моих точечных объектов: (Fiddle линия: 4-12)
point {
id: 'id',
x: xCoordinate,
y: yCoordinate
}
И мой Вороной код: (Fiddle линия: 95-112)
var voronoi = d3.geom.voronoi()
.x(function(d) {return x(d.x); })
.y(function(d) {return y(d.y); })
.clipExtent([[0,0],[w,h]]);
//Create the Voronoi grid
graph.selectAll("path")
.data(voronoi(points))
.enter().append("path")
.attr("d",function(d){return "M" + d.join("L") + "Z";})
.datum(function(d, i) { return d.point; })
.attr("class", function(d,i) { return "voronoi " + d.id; })
.style("stroke", "#000")
.style("fill", "#2074A0")
.style("opacity", ".3")
.style("pointer-events", "all")
.on("mouseover", function(d){document.getElementById('legend').innerHTML = d.id})
.on("mouseout", function(d){document.getElementById('legend').innerHTML = ''});
Проблема заключается в том, что var voronoi = d3.geom.voronoi()...
возвращается numberOfPoints-4 полигонов. Первые четыре многоугольника отсутствуют независимо от количества точек. Если количество точек равно 4 или меньше, полигоны не возвращаются.
Это ошибка или есть ошибка в коде?