2016-04-09 21 views
0

jsonリクエストが返されたときに描画されるd3円グラフのセットを作成しようとしました。D3 arcTween - 複数の円グラフの遷移を更新する

ラベルと背景パスが動作するようになりましたが、描画する前景パスを取得できません。私は複数の円グラフを作成しようとするとこの問題に遭遇します。

私の現在の進行状況の一例は、ここに提供されています
http://jsbin.com/wubohidefo/edit?html,js,output

あなたが働いてフォアグラウンドのパスを取得するか、これは非常に高く評価されるだろう引き起こしているかを説明するために提供することができます任意の助けを。

答えて

1

あなたはarcTweenarc(d)を返す:

function arcTween(transition, newAngle) { 
    transition.attrTween("name", function(d) { 

     var interpolate = d3.interpolate(d.endAngle, newAngle); 
     return function(t) { 
      d.endAngle = interpolate(t); 
      text.text(((d.endAngle/τ)*10).toFixed(1)); 
      return arc(d); 
     }; 
    }); 
} 

あなたが代わりにforeground.attr("d", arc)を設定する必要があります。

function arcTween(transition, newAngle) { 
    transition.attrTween("name", function(d) { 

     var interpolate = d3.interpolate(d.endAngle, newAngle); 
     return function(t) { 
      d.endAngle = interpolate(t);     
      text.text(((d.endAngle/τ)*10).toFixed(1)); 
      foreground.attr("d", arc); 
     }; 
    }); 
} 
+1

はあなたにMrHenをありがとう! – RMC

+0

MrHen(データがフィルタリングされ、関数が再度呼び出されてチャートを更新するときにMrHen(これでもうまくいけばうまくいけばよろしいでしょうか?)、0から描画する代わりに最後の位置から描画する方法は?たとえば、新しい値で30になっているチャートが70の場合、フォアグラウンドを30から70まで、0から70までだけ移動させるにはどうすればよいですか? – RMC

+0

更新例:http://jsbin.com/gatodekala/edit?html,js,output – RMC

関連する問題