2017-12-27 11 views
1

다시 그리기 이벤트가 발생할 때마다 Scatter Plot에서 y 축 범위를 다시 계산할 수 있도록 elasticly (true)해야합니까?dc.js 스 캐터 플롯 및 elasticY 동작

필자는 시연하기 위해 Scatter Brushing 예제를 사용했습니다. 다음 속성은 각 차트에 추가되었습니다

여기
.yAxisPadding('5%') // Allow the max values to be brushed 
.elasticY(true)  // Allow the chart to recalculate the Y axis range 

jsFiddle 예입니다.

왼쪽 산란 플롯을 브러싱하여 차트 중간에있는 점들의 쌍을 선택하면 오른쪽 산점도가 Y 축 범위를 다시 계산하게됩니다. 그러나 그것은 맞지 않는 것 같습니다. 벌레인가, 아니면 뭔가 빠졌는가?

답변

1

항상 elasticXelasticY과 같이 dc.js는 비어 있는지 여부에 관계없이 모든 빈을보고 있습니다.

당신은 그것이 모든 데이터를 충실하게 표시하고 있다고 주장 할 수 있습니다. 단지 그 데이터 중 일부가 0이 될뿐입니다. :-)

는 그 제로를 제거 질문에서 remove_empty_bins를 사용하려면

function remove_empty_bins(source_group) { 
     return { 
      all: function() { 
       return source_group.all().filter(function(d) { 
        //return Math.abs(d.value) > 0.00001; // if using floating-point numbers 
        return d.value !== 0; // if integers only 
       }); 
      } 
     }; 
    } 
    chart1 
     .group(remove_empty_bins(group1)) 
    chart2 
     .group(remove_empty_bins(group2)) 

Fork of your fiddle.

참고가 아주 좋은 애니메이션 전환을 제공하지 않는 산포도 joins the data in a naive way. 일반적으로 유용하지 않으므로 분산 형 플롯의 전환을 .transitionDuration(0)으로 끄는 것이 좋습니다.

+0

완벽합니다. 설명과 코드를 가져 주셔서 감사합니다. –

+0

elasticY와 관련된 질문은 [BrushY 값으로 제한된 ElasticY] (https://stackoverflow.com/questions/48079293/dc-js-elasticy-range-bound-by-brush-y-values) –

관련 문제