d3.scaleQuantile()
の範囲は、数値の出力を得るためにd3.scaleQuantile()
を使用していますが、d3.scaleQuantile()
の範囲は8つの数値の配列です。 console.log()は範囲の中央の数値を返します。その範囲の最初のものを返します。コードは次のようになりますscaleQuantile関数が期待したものを出力しない
var sortMass = d3.scaleQuantile()
.domain([minMass, maxMass])
.range([2000,4000,6000,8000,100000,120000])
console.log(sortMass(6500)) // here shows 2000
6000または8000のいずれかを返すと、それは意味があります。しかし、なぜ出力が2000であるのかわかりません。私はD3のドキュメントを読みましたが、私はまだ混乱しています。誰でも関数d3.scaleQuantile()
の機能について説明できますか?
ありがとうございました!答えはとても明快で、とても役に立ちます。しかし、あなたの答えによると、私はあなたが言ったことについてはまだ混乱しています>ドメインは等分に分かれています。私はminMassとmaxMassとして範囲の限界を使いました。あなたはもう少し、ドメインがどのように等しく分割されているのか、なぜそれがうまくいかないのかを説明できますか?再度、感謝します! –
2000から120000を使用する場合、118000のギャップがあります.6で割った値は約20000です。したがって、20000の後では出力範囲が次の範囲になります。 –
ありがとうございました。今私は完全に理解した。 –