3

私は、すべてが同様の署名を持つ〜7500個のアイテムのリストを持っています:

{
    revenue: integer,
    title: string,
    sector: string
}

収益は 0 から ~10 億の範囲になります。特定の会社の収益を考慮して、次の「バケット」に対する相対的な位置を返すようなスケールを構築したいと思います。

$0-5 Million
$5-10 Million
$10-25 Million
$25-50 Million
$50-100 Million
$100-250 Million
> $250 Million

d3 のクオンタイズまたはクォンタイル スケールのいずれかを使用してこれを達成できるはずですが、期待される結果を得ることが困難でした。これまでのところ、次のようなものがあります。

var max_rev = 1000000000 // 1 Billion
scale = d3.scale.quantize().domain(_.range(max_rev)).range([5000000, 10000000, 25000000, 50000000, 100000000, 250000000])

明らかな問題の 1 つは、_.range(max_rev) を呼び出すと 10 億アイテムの長さの配列が作成されるため、より効果的にそれを行うにはどうすればよいか (.domain([0, 1000000000])?)

scale(75000000) が 50000000 を返すように、このスケールを定義する最善の方法は何でしょうか。それができたら、ハッシュと照合して正しいラベルを返すことができます。

{
    ...
    ...
    50000000: "$50-100 Million",
    100000000: "$100-250 Million",
    ...

}

本当にありがとう!他に提供できる情報があれば教えてください。

4

1 に答える 1