我有一个数据集,当按升序排序时,圆圈最终会“堆叠”,但在使用 null 或降序排序时会出现正确分布。
完整的例子在这里: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);
一些附加信息:
我发现如果我删除了至少两个值为 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;});
不纠正布局问题。也许我过滤不正确?