私は、すべてが同様の署名を持つ〜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",
...
}
本当にありがとう!他に提供できる情報があれば教えてください。