2016-06-26 5 views
1

私はパイチャートに色を割り当てています。青色から赤色のスーツに完全に従います。私はその順序に従ってスライスを注文したかったので、私は次のように置き換えました。割り当てられたカラーオーダーに影響を与えずにD3の配列を並べ替える方法

var pie = d3.layout.pie() 
    //.sort(null) 
    .sort(d3.ascending) 
    .value(function (d) { return d["val"]; }); 

サイズは現在、希望の順序になっていますが、色は古い順番に従い、間違っています。最大のスライスでは赤色、最小のスライスでは青色にしたい。

fiddleをご覧ください。

答えて

0

まず以下のような範囲を定義:ここ

var colors = d3.scale.linear() 
    .domain([d3.min(data), d3.max(data)]) 
    .range(["blue", "red"]); 

アレイ内の分が青色に対応することになります。 ここで、配列の最大値は赤に対応します。

grx.append("path") 
    .attr("d", arc) 
    .style("fill", function (d, i) { return colors(d.data);}); 

ワーキングコードhere

:データごととして、なく、その 指標このように従ってパスに色を設定

関連する問題