小编hoo*_*o-b的帖子

D3:如何在Force布局节点组上绘制多个Convex外壳?

我试图在力布局中的所有组上绘制凸包.但我只设法画出一半的凸壳.当D3尝试绘制剩余的外壳时,控制台返回ERROR:尚未创建元素.然而,当我检查控制台中的"groups"变量时,所有组数据都存在x,y数据都很好地设置.见下图:

我甚至试图在刻度函数中延迟绘制船体,但它仍然不起作用,我得到相同的结果(如下图所示).

JSFiddle:只有一半没有.我想要的凸壳

这是代码:

<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)

javascript d3.js

3
推荐指数
1
解决办法
780
查看次数

标签 统计

d3.js ×1

javascript ×1