我正在研究基于 Mike Bostock 的Zoomable Sunburst示例的 sunburst viz。
我希望能够使用全新的 JSON(具有相同的结构但不同的“大小”值)更改基础数据,并让 sunburst 动画过渡以反映更新的数据。
如果我使用 .data() 更改路径元素的数据,然后尝试按以下方式更新:
path.data(partition.nodes(transformed_json))
.transition()
.duration(750)
.attrTween("d", arcTween(transformed_json));
(..这与点击 fn 的代码几乎完全相同)
function click(d) {
path.transition()
.duration(750)
.attrTween("d", arcTween(d));
}
..我发现旭日形确实会正确地改变以反映新数据,但它会卡入到位而不是平滑过渡,就像放大时那样。
http://jsfiddle.net/jTV2y/ <-- 这是一个问题被隔离的 jsfiddle(转换发生在您单击“运行”后一秒钟)
我猜我需要创建一个不同的 arcTween() fn,但我对 d3 的理解还没有。非常感谢!