【发布时间】:2014-01-23 07:31:30
【问题描述】:
我正在制作一个可以在多个不同数据集之间切换的圆环图。我已经能够让切片很好地过渡,并且正在使用 arc.centroid 定位标签,但我无法弄清楚如何将圆弧补间函数应用于标签。我想我差不多明白了,任何提示将不胜感激。
这是一个活生生的例子:http://jsbin.com/otAjUSO/1/edit?html,output
【问题讨论】:
标签: javascript d3.js
我正在制作一个可以在多个不同数据集之间切换的圆环图。我已经能够让切片很好地过渡,并且正在使用 arc.centroid 定位标签,但我无法弄清楚如何将圆弧补间函数应用于标签。我想我差不多明白了,任何提示将不胜感激。
这是一个活生生的例子:http://jsbin.com/otAjUSO/1/edit?html,output
【问题讨论】:
标签: javascript d3.js
也为标签组添加相同的过渡效果
label_group.data(pie)
.transition().duration(750)
.attr("transform", function(d) {
var c = arc.centroid(d);
return "translate(" + c[0] +"," + c[1] + ")";
})
【讨论】:
.transition() 和 .attr() 方法的排序。非常感谢。
只需向组中添加一个过渡:
label_group.data(pie)
.transition().duration(750)
// The above transition is all you need
.attr("transform", function(d) {
var c = arc.centroid(d);
return "translate(" + c[0] +"," + c[1] + ")";
});
【讨论】: