8

私は収入のためにこのデータセットを持っています:

収入 人数
0 245981
8.8 150444
30 126063
49.9 123519
70 115029
90.7 277149
109.1 355768
130 324246
150.3 353239
170.2 396008
190 396725
210 398640
230.1 401932
250 416079
270 412727
289.8 385192
309.7 343178
329.7 293707
349.6 239982
369.7 201557
389.3 165132
442.3 442075
543.4 196526
679.9 146784
883.9 48600
1555 44644

(ご覧のように、収入レベルの幅は端に向かって大きくなっています。)

  1. JavaScript でこのデータの正確なヒストグラムを作成するにはどうすればよいですか? (たとえば、0 ~ 2000 の範囲の線形 x 軸スケール)
  2. 異なる間隔でパーセンテージのみを表示するために人数を割り出すにはどうすればよいですか?
  3. データを表すシンボルをちょうど 100 個配置したい場合、それらを配置する場所をどのように決定すればよいですか?
4

2 に答える 2

21

既存のヒストグラムの例は、サンプルからヒストグラムを計算することに基づいています。たとえば、個人とその収入のリストがある場合です。この場合、ヒストグラムのデータは既にあるので、それを表示したいだけです。

ここで注意が必要なのは、ヒストグラムに可変幅のビンがあることです。最初にできることは、各ビンの可変幅を無視して、単純なロリポップ チャートを表示することです。x軸は収入の線形スケールであり、yは人数の線形スケールです。

http://bl.ocks.org/1624656

これをヒストグラムに変換したい場合、これらの固定幅の線を可変幅のバーに置き換えることはできません。バーの領域がその収入を持つ人々の頻度をエンコードするように、データを正規化する必要があります。したがって、バーの幅は収入の範囲 (最初のビンの場合は 0 から 8.8 など) であり、バーの高さは人数を幅で割ったものです。その結果、面積(幅×高さ)は人数に比例します。それは次のようになります。

http://bl.ocks.org/1624660

于 2012-01-17T04:56:38.390 に答える
1

プロットせずにデータをビンにソートしたい、またはソートする必要がある場合は、histogram.jsをご覧ください。

于 2013-09-05T21:26:51.927 に答える