我使用以下网站的参考创建了一个可缩放的森伯斯特。 http://bl.ocks.org/mbostock/4348373
问题是我在最后一级有很多弧,即最外圈(近2000弧),这会减慢点击时的旭日过渡。
我尝试加固过程的一种方法是仅在用户潜入旭日(点击任何子弧)时显示最外面的弧。如果最外面的弧是第四个同心圆。仅在用户选择级别2/3时显示。
我创建了初始数据集,使最外面的弧的大小设置为0。然后点击我写了一个函数来将大小设置为1.但它不起作用。以下是链接http://jsfiddle.net/Claw_22/1400rdu0/6/
function sizeFunc(data){
if (!data.children) {
if (data.level=="3") {
data.size="1";
}
}
else {
for (i=0;i<data.children.length;i++) {
sizeFunc(data.children[i]);
}
}
}
请告诉我们如何才能实现这一目标。 (实现更快性能的替代解决方案也很有帮助。)
答案 0 :(得分:0)
您可以在单击功能中将转换持续时间更改为最小级别。像下面这样的东西
function click(d) {
path.transition()
.duration(100) //sets the delay in transition
.attrTween("d", arcTween(d));}