2013-04-21 5 views
1

dc.js를 사용하여 두 개의 플롯을 만들고 싶습니다. 내 데이터는 여러 세션과 관련이 있습니다 (각각 다른 날에 발생합니다). 각 세션에는 다양한 매개 변수로 점수가 매겨진 다양한 연습 문제가 있습니다.D3 용 DC로 플롯 팅

플롯 :

  1. 선택 형 플롯. 모든 세션을 시간 (또는 세션 ID)별로 플롯 한 다음 사용자가 범위를 선택할 수 있도록 필터를 사용합니다.
  2. 집계 유형 플롯. 그러면 선택한 세션에서 모든 운동 매개 변수 데이터의 평균이 표시됩니다.

사용자는 선택한 범위를 변경하고 성능 변화의 경향을 찾을 수 있습니다.

"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, 
     }, 
     ... 
     ... 
     ...] 

는 그러나, 나는 crossfilter 멋지게 연주 평평한 구조로 개편 : 같은 JSON 형식으로

내 데이터 보인다.

는이 같은 그룹 및 치수 생성 :

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입니다. 내 데이터를 구성하는 방법에 대해 혼란 스럽다. 2 차원 이상의 reduceSum 그룹을 만들려면 어떻게해야합니까? 내 그래프는 여러 차원을 가져야하지만 전력, 컨트롤 등은 같은 항목/단위가 아니므로 그룹화 할 수 없습니까?

데이터 정리에 트릭이 누락되었습니다. . . 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

답변

1

melt 데이터를 사용하여 '변수'또는 '메트릭'열을 만들 수 있습니다.이 열에서 측정 기준을 만들고 요약 통계에 대한 맞춤 그룹 축소를 수행 할 수 있습니다.