2

我正在寻找一个关于如何为饼图调整大小(弧的路径)进行转换的示例。我一直在看这个例子,但我仍然不知道如何修改它以在调整大小时进行过渡。到目前为止,我可以通过更改圆弧对象的外半径(和内半径)来调整饼图的大小,但过渡没有运气。这是我正在处理的示例。

arc.innerRadius(newInnerRad)
   .outerRadius(newOuterRad);

path.transition().duration(500).attrTween("d", arcTween);

function arcTween(a) {
  var i = d3.interpolate(this._current, a);
  this._current = i(0);
  return function(t) {
    return arc(i(t));
  };
}

有任何想法吗?

4

1 回答 1

9

如果您创建arcTween内联并为半径添加插值器,它会起作用 - 请参阅更新的小提琴

于 2012-11-03T12:58:12.530 回答