我试图在力布局中的所有组上绘制凸包.但我只设法画出一半的凸壳.当D3尝试绘制剩余的外壳时,控制台返回ERROR:尚未创建元素.然而,当我检查控制台中的"groups"变量时,所有组数据都存在x,y数据都很好地设置.见下图:
我甚至试图在刻度函数中延迟绘制船体,但它仍然不起作用,我得到相同的结果(如下图所示).
这是代码:
<script>
var radius = 5.5;
var color = d3.scaleOrdinal(d3.schemeCategory20b);
var scale = d3.scaleLinear()
.domain([0.5, 1])
.range([1.8, 3.8]);
var svg2 = d3.select("#svg2");
var w = +svg2.attr("width"),
h = +svg2.attr("height");
var hull = svg2.append("path")
.attr("class", "hull");
var groupPath = function(d) { return "M" + d3.polygonHull(d.values.map(function(i) { return [i.x, i.y]; }))
.join("L") + "Z"; };
function ticked() {
link
.attr("x1", function (d) {
return d.source.x;
})
.attr("y1", function (d) {
return d.source.y;
})
.attr("x2", function (d) {
return d.target.x; …Run Code Online (Sandbox Code Playgroud)