使用d3.svg.arc()
时,如何将最初由d3.layout.partition
定义的弧角转换回原始值?
我正在尝试将初始startAngle和endAngle值d.x
和d.dx
存储在某处,以便我可以在以后状态转换回它们。但是,我不知道:
d.x
和d.dx
的时间点,无论是d3.svg.arc()
还是实际附加弧线路径。d.x
和d.dx
绑定到元素。通常我可以将初始startAngle和endAngle绑定到datum()
的元素。我相信我正在寻找类似的东西:
selectAll('path').data(function(d) {
return partition.values({
'initialStart': d.x,
'initialEnd': d.dx
}).nodes(d)
});
答案 0 :(得分:1)
原则上,这与transitioning pie charts相同,您需要自定义补间功能才能使动画正确。为此,必须将原始值保存在单独的属性中 - 在您的情况下,您可以执行相同的操作。
运行布局时设置属性;这完全独立于DOM的渲染和附加元素。