【发布时间】:2016-08-08 19:33:34
【问题描述】:
我想出了如何使用Bostock's Pie Chart Update 之后的 d3 使用新值更改饼图的弧长,但我很难弄清楚如何同时为 pic 图表的半径设置动画。
这是我当前代码的 sn-p:
pie_inner.value(function(d) {
return d.toward === toward || toward === "both" ? d.spent : 0;
});
path_inner
.data(function(d) {
return pie_inner(d.data).map(function(m) {
m.r = d.r;
return m;
})
})
.transition()
.duration(750)
.attrTween("d", function(d) {
var interpolate = d3.interpolate(this._current, d);
this._current = interpolate(0);
return function(t) {
arc_inner.innerRadius(d.r - thickness);
arc_inner.outerRadius(d.r);
return arc_inner(interpolate(t));
};
});
使用此代码,弧长可以很好地动画到新值,但半径“跳跃”到新值。
我看到this code 对弧长和半径都进行了动画处理,但它是按顺序而不是同时进行的。
【问题讨论】:
-
移除延迟 Bostock 的例子
标签: d3.js transition pie-chart