私は自分のドメインである次の一連の番号を使用しています。
[-17,-17,-13,-12,-10,-9,-8,-7,-7,-6,-6,-5,-5,-4,-3,-2,-2,-2,-2,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,7,7,7,8,8,8,8,8,9,9,9,10,10,11,11,11,12,14,15,18,19,19,22,36,39,50]
私の範囲は次のように6色のセットです。
["rgb(255,232,0)", "rgb(20,162,212)", "rgb(175,94,156)", "rgb(0,177,106)", "rgb(247,148,30)", "rgb(0,82,156)"]
私のカラースケールは次のように設定されています:
var scaleToAssignColor = d3.scale.quantile()
.domain([-17,-17,-13,-12,-10,-9,-8,-7,-7,-6,-6,-5,-5,-4,-3,-2,-2,-2,-2,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,7,7,7,8,8,8,8,8,9,9,9,10,10,11,11,11,12,14,15,18,19,19,22,36,39,50])
.range(["rgb(255,232,0)", "rgb(20,162,212)", "rgb(175,94,156)", "rgb(0,177,106)", "rgb(247,148,30)", "rgb(0,82,156)"]);
scaleToAssignColor.quantiles を呼び出すと、次のようになります。
[0, 1, 2, 2, 6.333333333333343]
このドメインでは、6 色のセットではなく、5 色のみになります。
私の出力範囲には 6 つの離散値が含まれているため、返されるしきい値配列には 5 つの (6 - 1) 値のみが含まれることを理解しています。返されたしきい値配列 (5 個中) に 5 色のみが返されたのではなく、次のように考えています。
分位数 1 には、0 未満の任意の数が含まれますが、0 は含まれません。分位数 2 0 より大きく 1 より小さく 1 を含まない任意の数。分位数 3 1 より大きく 2 より小さく 2 を含まない任意の数。分位数 4 2 より大きい (2 を含む) 2 未満 (2 を含まない) の任意の数。分位数 5 2 より大きく 6.333 より小さく、6.333 を含まない任意の数。分位数 6 は、6.333333333333343 を含む任意の数です。
摩擦は分位数 4 です。2 より大きい (2 を含む) だけでなく、2 より小さい (かつ 2 を含まない) 数値は存在しないため、分位数 4 に対応する色は返されません。
これらすべてが疑問を投げかけます: この特定の数字のドメイン (コメントのグループに対する賛成票と反対票のリスト) が奇妙な分位点 4 (上記のように) になるため、これはバグなのか、それとも私が何かを誤解しているのか (またはこの特定のドメインと範囲のスケールが間違っている)?私はそれが後者であることを疑います。
前もって感謝します。
ハロルド・ハーパー