2016-09-14 7 views
0

scatterplots 차원에서 세 개의 키를 사용하여 다중 차트 필터 동작을 보장하려면 어떻게합니까?3 키가있는 치수로 만들어진 산점도의 브러시가 다른 차트와 상호 작용한다는 것을 어떻게 보장합니까?

당신은 내가 산점도의 크기를 선언 라인 ..specific [https://jsfiddle.net/rogeraleite/dmf3fstw/2/]에서 볼 수 있듯이 : 내가 언급하면 ​​

dim1 = ndx.dimension(function (d) { 
    return [+d.x, +d.y, d.fruit]; 
    //return [+d.x, +d.y]; 
}) 

은 "[+ DX, + DY를 반환 d.fruit ]; ""return [+ dx, + dy]; "를 사용하면 상호 작용 (브러싱)이 완벽하게 작동합니다. 그러나 차트의 점을 채색하기 위해 세 번째 키 (d.fruit)를 추가하려고하면 브러싱 중지가 작동합니다.

어떻게 처리해야할까요?

답변

0

나는 단지 상호 작용을 유지하기 위해 차원 생성에 두 개의 키만 사용해야한다고 생각했습니다. 그러나 그룹을 만들려면 두 개 이상의 키가있는 다른 차원을 사용할 수 있으며 올바른 동작을 보장 할 수 있습니다.

https://jsfiddle.net/rogeraleite/L8mjrnr1/에서 참조하십시오 colorAccessor 세 번째 키에 액세스하려고 할 때

dim1 = ndx.dimension(function (d) { 
     return [+d.x, +d.y]; 
    }), 
    dim1_2 = ndx.dimension(function (d) { 
     return [+d.x, +d.y, d.fruit]; 
    }), 
    dim2 = ndx.dimension(function (d) { 
     return [+d.y, +d.z]; 
    }), 
    dim2_2 = ndx.dimension(function (d) { 
     return [+d.y, +d.z, d.fruit]; 
    }), 
    group1 = dim1_2.group(), 
    group2 = dim2_2.group(); 

이 ... 그래서 (d.key [2]), 작동! = D

.colorAccessor(function(d) { return d.key[2]; })