ここに私のdemo(永久的なリンク;ロードに時間がかかるかもしれません)です。d3.jsとcrossfilterデータを使用してヒストグラムを作成する方法は?
私はそれでいくつかの問題を抱えている:
crossfilterキーが上限を反映するものではありません。したがって、x軸は1ステップ分欠けています。
私は1つのグループ・ステップ・サイズ(
group.all()[1] - group.all()[0]
)を取得し、その後d3.extent(group.all())[1]
にそれを追加することによって、それを修正するために管理。それは汚れた修正であるため、私はデモにこれを含めなかった(データギャップがあるかもしれない)。グループステップサイズを取得する、またはx軸を修正する方法はそれほど難しくありませんか?バーの間に不均一なギャップがあります。 x.scaleの不一致をさまざまなデータセットで修正する方法を理解できません。
私は、利用可能なグラフの幅に自動的に適応するためのバー幅をしたいです。そのため、(必要であれば)私は、グラフ自体のサイズを変更し、その後、最適なバーの幅を計算して:
bar_width = math.round(graph_width/data_length); graph_width = bar_width*data_length;
この状態で、
x.scale
は、任意のキー値のため、凹凸データを返すことができ、まだそれがない方法はありません。魔法はありません。私は単に何かを見過ごしているだけです。しかし、それは何ですか?x.scale
がが、その後x.scale
範囲を設定する前にgraph_width
からbar_width
を控除めちゃめちゃある問題を修正します。しかし、x.scaleが期待どおりに動作していないときに検出する条件を把握することはできません。
これは素晴らしいです!それをデフォルトですべてハイライト表示させるにはどうしてですか? – by0
これは長い間触れていません。 GitHubでissue/featureリクエストを送信した場合は、それを見ていきます。 – Gajus