1
我正在創建一個圓環(或Piechart),我想將標籤放在區域外。 我爲它創建了一個小提琴http://jsfiddle.net/VeeTee/mA3V7/。D3.js圓環圖... arc.centroid(d)不受d.innerRadius和d.outerRadius影響
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); });
arc.centroid(d) - >總是給了相同的結果(因此相同的轉換)
嗨,謝謝你的回覆... 但是......你知道爲什麼設置 d.innerRadius = radius; d.outerRadius = height/2;在調用arc.centroid(d)之前的所有示例中都會調用arc.centroid offset? – user1231712
設置這些值對我沒有任何影響。 –
檢查此... http://bl.ocks.org/Guerino1/2295263 .attr(「transform」,function(d){//將標籤的原點設置爲圓弧的中心 //我們必須請確保在調用arc.centroid之前設置這些值。 d.outerRadius = outerRadius + 50; //設置外部座標 d.innerRadius = outerRadius + 45; //設置內部座標 return「translate(」+ arc.centroid(d )+「)」; }) – user1231712