小编use*_*313的帖子

当排序升序时,d3.layout.pack会堆叠圈子

我有一个数据集,当按升序排序时,圆圈最终"堆叠"但在使用空或降序排序时显示正确分布.

上升

降

空值

完整的例子在这里:http://jsfiddle.net/SXLHx/3/.

有人有建议吗?



    sortItems = function(a,b) {
        var str,result;
        switch(sortOrder%3){
            case 0:
                str = 'ascending';
                result = a.size - b.size;
                break;
            case 1:
                str = 'descending';
                result = b.size - a.size;
                break;
            default:
                str = 'null';
                result = null;
        }
        document.getElementById("sortLbl").innerHTML = str;
        return result;
    };

    pack = d3.layout.pack().sort(sortItems);

Run Code Online (Sandbox Code Playgroud)

一些额外的信息:

我发现如果我删除至少两个具有值0的块条目(无论哪两个但它必须是两个),布局就可以了.http://jsfiddle.net/SXLHx/4/

此外,应用过滤器不附加0值的圆圈,如下所示:



    // Create circles
    node.append("circle")
        .filter(function(d){return d.size > 0;})
        .attr("r",function(d){return d.r;});

Run Code Online (Sandbox Code Playgroud)

不纠正布局问题.也许我过滤不正确?

javascript sorting d3.js circle-pack

5
推荐指数
1
解决办法
1946
查看次数

标签 统计

circle-pack ×1

d3.js ×1

javascript ×1

sorting ×1