2012-08-27 11 views
5

ここに私のdemo(永久的なリンク;ロードに時間がかかるかもしれません)です。d3.jsとcrossfilterデータを使用してヒストグラムを作成する方法は?

私はそれでいくつかの問題を抱えている:

  1. crossfilterキーが上限を反映するものではありません。したがって、x軸は1ステップ分欠けています。

    enter image description here

    私は1つのグループ・ステップ・サイズ(group.all()[1] - group.all()[0])を取得し、その後d3.extent(group.all())[1]にそれを追加することによって、それを修正するために管理。それは汚れた修正であるため、私はデモにこれを含めなかった(データギャップがあるかもしれない)。グループステップサイズを取得する、またはx軸を修正する方法はそれほど難しくありませんか?

  2. バーの間に不均一なギャップがあります。 x.scaleの不一致をさまざまなデータセットで修正する方法を理解できません。

    enter image description here

    私は、利用可能なグラフの幅に自動的に適応するためのバー幅をしたいです。そのため、(必要であれば)私は、グラフ自体のサイズを変更し、その後、最適なバーの幅を計算して:

    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が期待どおりに動作していないときに検出する条件を把握することはできません。

答えて

2

私はこれを行う正しい方法を理解しようと多くの時間を費やしました。しかし、上のデータ境界を推測するために簡単な数学を使いました。視覚的に極端に扱う方法など、まだ解決されていない多くの問題があります。再利用可能なヒストグラムライブラリを開発する

enter image description here

私の試みはon githubアクセス可能です。

+0

これは素晴らしいです!それをデフォルトですべてハイライト表示させるにはどうしてですか? – by0

+0

これは長い間触れていません。 GitHubでissue/featureリクエストを送信した場合は、それを見ていきます。 – Gajus

関連する問題