17

この声明の意味は何ですか?

quantize = d3.scale.quantile().domain([0, 15]).range(d3.range(9));

ドメインは次のとおりです。

0-0
1-15

範囲は0〜8で、quantize.quantilesです。

0 - 1.6
1 - 3.3
2 - 4.9
3 - 6.6
4 - 8.3
5 - 9.9
6 -11.6
7 -13.3

Quantize.quantilesの値はどのように計算されますか?電話をかけてみましquantize(2)たが、結果はでした1。どのように機能しquantileますか?

4

2 に答える 2

5

分位スケールのドキュメント、特にquantize.quantiles()のドキュメントを読むことをお勧めします

ただし、基本的に、d3はこのスケールの出力範囲に9つの値があることを確認するため、2つの値のデータセット[0、15]に基づいて9つの分位数を作成します。
これにより、質問に表示されるquantize.quantiles()値が得られます:[1.6、3.3、..、13.3]、これらは分位数の境界を表します-1.6未満のものは出力の最初の要素にマップされます範囲(この場合はゼロ)。3.3未満で1.6を超えるものはすべて、出力範囲の2番目の要素(1つ)にマップされます。したがって、予想どおり、quantize(2)=1です。

于 2012-05-26T02:47:16.080 に答える