1

dc.js を使用して 2 つのプロットを作成したいと思います。データは複数のセッションに関連しています (通常、それぞれが別の日に発生します)。各セッションには、さまざまなパラメーターで採点される複数の演習があります。

プロット:

  1. 選択型プロット。すべてのセッションを (時間またはセッション ID ごとに) プロットし、フィルターを使用してユーザーが範囲を選択できるようにします。
  2. 集計タイプのプロット。これにより、選択したセッションのすべてのエクササイズ パラメータ データの平均が表示されます。

アイデアは、ユーザーが選択範囲を変更して、パフォーマンスの変化の傾向を探すことができるということです。

json 形式のデータは次のようになります。

 "Data": [
        {
            "excerciseId": 1,
            "startTime": "01-Jan-2013 10:10:00",
            "stopTime": "01-Jan-2013 10:13:00",
            "numberReps": 11,
            "power": 6.3345681,
            "control": 4.180355137,
            "stability": 0.4893870991,
            "rate": 4.375298413,
            "session": 1,
        },
        {
            "excersiseId": 2,
            "startTime": "01-Jan-2013 10:30:00",
            "stopTime": "01-Jan-2013 10:33:00",
            "numberReps": 12,
            "power": 5.118183368,
            "control": 9.957258023,
            "stability": 9.752985592,
            "rate": 3.202822695,
            "session": 1,
        },
        {
            "excersiseId": 1,
            "startTime": "02-Jan-2013 10:30:00",
            "stopTime": "02-Jan-2013 10:33:00",
            "numberReps": 4,
            "power": 5.597765864,
            "control": 4.512012222,
            "stability": 8.563329462,
            "rate": 7.23380183,
            "session": 2,
        },
        ...
        ...
        ...]

ただし、クロスフィルターでうまく機能するように、フラットな構造に再編成しました。

次のようなグループとディメンションを作成しました。

var sessionDimension = ndx.dimension(function(d) { return d.session; });
var numRepsBySession = sessionDimension.group().reduceSum(function(d) { return d.numReps; });

そして、私はこのような素敵な棒グラフを持っています:

var sessionsByDateBarChart = dc.barChart("#sessions-By-Date-Bar-Chart");
    sessionsByDateBarChart.width(500)
    .height(150)
    .dimension(sessionDimension)
    .group(numRepsBySession)
    .gap(1)
    .x(d3.scale.linear().domain([0, 5]))

私の問題は、選択したセッションのパフォーマンスの概要を示すグラフを作成することです。私が本当に欲しいのは、dc.rowChartパワー、コントロール、安定性の平均をプロットすることです。データの整理方法に困っています。reduceSum複数のディメンションでグループ化するにはどうすればよいですか? グラフには複数のディメンションが必要ですが、パワー、コントロールなどは同じもの/単位ではないためグループ化できませんか?

私は自分のデータを整理するためのトリックを見逃していると確信しています。. . 誰かが私を正しい方向に向けることができますか?

4

1 に答える 1