use*_*712 1 d3.js pie-chart donut-chart
我正在创建一个甜甜圈(或饼图),我想将标签放在该区域之外.我为它创建了一个小提琴http://jsfiddle.net/VeeTee/mA3V7/.
arcs.append("svg:text")
.attr("transform", function(d) {
//this is where I want to make a translation to the outside border
d.innerRadius = radius;
d.outerRadius = height/2;
return "translate(" + arc.centroid(d) +")";
})
.attr("dy", ".35em")
.attr("text-anchor", "middle")
.text(function(d, i) { return d.value.toFixed(2); });
Run Code Online (Sandbox Code Playgroud)
arc.centroid(d) - >总是给出相同的结果(因此翻译相同)
不确定你的意思是它总是给你相同的结果,但是你可以通过将质心的坐标乘以1.5来将标签放在图表之外.代码是这样的.
.attr("transform", function(d) {
var c = arc.centroid(d);
return "translate(" + c[0]*1.5 +"," + c[1]*1.5 + ")";
})
Run Code Online (Sandbox Code Playgroud)
在这里更新了jsfiddle .