4

http://bl.ocks.org/4063423のように、サンバーストの例で各アークの開始角度と終了角度を取得したい:

ここに画像の説明を入力

4

2 に答える 2

5

コードでそれらを見ることができます:

var arc = d3.svg.arc()
    .startAngle(function(d) { return d.x; })
    .endAngle(function(d) { return d.x + d.dx; })
    .innerRadius(function(d) { return Math.sqrt(d.y); })
    .outerRadius(function(d) { return Math.sqrt(d.y + d.dy); });

したがって、開始角度は x 属性にあり、 x + dx は終了角度を示します。

トリックは、x、dx、y、および dy がすべてレイアウト関数によって設定されることです。

var partition = d3.layout.partition()
    .sort(null)
    .size([2 * Math.PI, radius * radius])
    .value(function(d) { return 1; });

sort(null) は、データを並べ替えないように指示します size(...) は、x 座標と y 座標の出力範囲を指示します (領域にマッピングしているため、半径は 2 乗されます)。value(...) は、各アイテムの重み付け方法の値アクセサーです。

于 2013-01-17T21:43:43.383 に答える