2013-06-10 1 views
4

저는 원형 차트를 표시하기 위해 dc.js를 사용하고 있습니다. 나는 그들에 파이 차트로 본 적이 모든 예제는 단일 값원형 차트의 교차 필터 차원에서 여러 값 반환

var quarter = ndx.dimension(function (d) { 
       var month = d.dd.getMonth(); 
       if (month <= 3) 
        return "Q1"; 
       else if (month > 3 && month <= 5) 
        return "Q2"; 
       else if (month > 5 && month <= 7) 
        return "Q3"; 
       else 
        return "Q4"; 
      }); 
      var quarterGroup = quarter.group().reduceSum(function (d) { 
       return d.volume; 
      }); 

결과 파이 차트는 4 가능한 값의 Q1, Q2, Q3과 Q4가 포함됩니다 반환 crossfilter 크기가 포함되어 있습니다.

여러 값을 반환하는 치수를 표시하는 원형 차트가 필요합니다. 예를 들어 사용자는 속성 내에있는 주체들의 배열을 가질 수 있습니다. 원형 차트에서 모든 가능한 대상을 표시해야하므로 배열 내의 모든 대상을 반환해야합니다. 같은

즉 뭔가 : 그것은 그들의 내용으로보다는 ArrayList의 모든 다른 유형을 표시하는 원형 차트를 분할하므로

var subjects = ndx.dimension(function (d) { 
      return d.subjectArray 
     }); 
     var subjectGroup = subjects.group() 

하지만이 작동하지 않습니다.

저는이 프로 블렘을 당분간 작업 해 왔으며 해결책을 찾지 못했습니다. dc.js와 crossfilter를 사용하여이 작업을 수행 할 수 있습니까?

+0

가능한 [전체 배열을 단일 키로 처리하는 대신 별도의 레코드로 배열의 요소를 처리하도록 crossfilter에 지시하는 방법이 있습니까?] (http://stackoverflow.com/questions/17524627/is-there-a -way-to-tell-crossfilter-to-treat-elements-of-separate-record) –

+0

해결책을 찾았습니까? –

답변

0

전문가는 아니지만 그룹에서 .reduce()를 사용하고 reduceAdd, reduceRemove 및 reduceInitial 함수를 직접 만들어야한다고 생각합니다. 이 파이 차트가 아닌 막대 그래프위한거야 제외

.groupAll().reduce(reduceAdd, reduceRemove, reduceInitial).value(); 

체감은 here을 설명했다.