2016-08-14 6 views
2

성능을 향상시키기 위해 DC.js 꺾은 선형 차트의 포인트 수를 줄이려고합니다.dc.js가 xUnits를 준수하지 않음

그리드 차트 좌표가 x 단위는 막대 그래프 또는 대 바의 수가 X 축 데이터 돌기의 수를 계산하는 기능을 사용하여 다음 docsxUnits() 이렇게하는 방법이라고 생각 날 리드 꺾은 선형 차트의 점 수입니다. 내가 잘못 뭐하는 거지

http://jsfiddle.net/m5tguakf/2/

:

하지만 xUnits도 사용하지 않는 것?

답변

0

점의 수는 실제로 교차 필터로 결정됩니다. dc.js는 자체적으로 집계를 수행하지 않으므로 점의 수를 늘리거나 줄이는 방법이 없습니다.

문서가 오해의 소지가 있습니다. 데이터의 모양이 변경되지 않을 수 있습니다. xUnits은 dc.js가 그릴 요소의 수를 알아내는 데 정말로 필요합니다. 그것은 두 가지 목적으로 사용되는 :

  • 은 X 스케일이 순서 또는 정량 여부를 알 수
  • 바 또는 박스 플롯의 폭을 결정하는 것은

는 dc.js를 단지의 수를 셀 수 크로스 필터 그룹의 포인트? 혹시.

어쨌든 원래 질문으로 돌아 가려는 경우 : 그려지는 점수를 줄이려면 그룹에서 데이터를 다르게 집계하십시오. 일반적으로 이것은 해당 간격에 속하는 데이터를 더하거나 평균화하는 더 큰 bin을 만드는 것을 의미합니다.

간단한 예를 들어, 당신과 같이, 짝수로 비닝하여 바이올린의 다른 모든 지점을 결합 할 수 있습니다 :

var BINSIZE = 2; 
    // ... 
    speedSumGroup = runDimension 
    .group(function(r) { return Math.floor(r/BINSIZE) * BINSIZE; }) 
    // ... 

http://jsfiddle.net/gordonwoodhull/djrhodkj/2/

이것은 예를 들어, 원인 Run 6과 Run 7은 같은 그룹 키를 가지고 있기 때문에 같은 bin에 위치하도록합니다. 실제 예에서는 the annotated stock example과 같이 평균을 구할 수 있습니다.