the official D3.js v4 histogram exampleから、アイリス "PetalLength"値のヒストグラムを表示したいとします。D3.js v4でビン幅を固定してヒストグラムを作成する方法は?
ビンを見て、これは完璧な理にかなっている:彼らはすべて
はhttp://codepen.io/netzwerg/pen/KNOYBy
私の問題は、最後のビンは、x軸の上限を超えまたがるということですを参照してください最後のものを除いて、1
の幅を有し、これはx0: 6
からx1: 6.9
までしかない。
すべてのsvg矩形が固定幅(bins[0]
に基づいて)で作成されているとすると、オーバーラップを説明することができます。
I手動X-範囲 "よりよい"(7
に丸める)を作ることができる:
var x = d3.scaleLinear()
.domain(d3.extent(values))
.rangeRound([0, width])
.nice();
"修正" 問題を。
また、個々のビンのx0
とx1
に基づいて、幅の狭い最後のビンを描画するようにsvgの矩形の幅の計算を調整できます。
しかし、最終的には、私の質問は次のとおりです。
私はすべてが同じ幅を有するビンを作成するために、d3.histogram
を伝えるにはどうすればよいですか?ドキュメントによれば
PS:なし*公式D3の例がありません* ...それは単にコードマイク・ボストックですD3の機能を示すために書き込みます。 –
あなたの説明に感謝します。私はこのような単純なユースケースには非常に複雑なことが必要だと少しショックを受けましたか?ドキュメントによると、「しきい値」はカウントとして指定することもできます:_ "しきい値の配列の代わりにカウントが指定された場合、ドメインはおよそのカウントビン" _に均等に分割されます。私は部門が "統一"だとは思えませんが... – netzwerg
いいえ、そうではありません。そして、あなたは知っています: 'd3.ticks()'を信用しないでください... –