2016-11-08 2 views
4

私は半円形のドーナツチャートを作成していますが、現在は次のようになっています:https://jsfiddle.net/rcxp0udt/セミドーナツチャートの両方の半分にラベルを設定するにはどうすればよいですか?

すべてのラベルがチャートの右側にあることがわかります。どのように、私はそれらのように見えるようにしたいと思います:http://prntscr.com/d4p8qb - 半円の前半のラベルが一方の側にあり、残りの半分が他方の側にあるように。

polyline.transition().duration(1000) 
    .attrTween("points", function(d){ 
     this._current = this._current || d; 
     var interpolate = d3.interpolate(this._current, d); 
     this._current = interpolate(0); 
     return function(t) { 
      var d2 = interpolate(t); 
      var pos = outerArc.centroid(d2); 
      pos[0] = radius * 0.95 * (midAngle(d2) < Math.PI ? 1 : -1); 
      return [arc.centroid(d2), outerArc.centroid(d2), pos]; 
     }; 
    }); 

しかし、これを達成するために、私は私のテストでは、これまでに試したすべてのソリューションが失敗してしまった。ここではその責任があるコードの一部です。どのようにこの効果を達成するか考えているなら、教えてください!代わりにmidAngle(d2) < Math.PIを使用しての

答えて

1

midAngle(d2) > 0を使用します。

screenshot of updated pie chart

テキストを追加し、テキストポリライン(ライン165、175、および202)を描き、この変更を行います。

関連する問題