2017-02-02 3 views
0

로컬 위치와 크기가 아닌 syntagmatic의 코드 코드에서 브러시 축에서 절대 값을 얻는 방법을 찾는 데 문제가 있습니다.D3 브러시 : 축에서 절대 값에 액세스하기

지금까지 나는 y- 위치 (dyanimVal.value, strum의 위쪽 위치)와 높이 (d.height.animVal.value, strum의 길이)를 얻는 방법을 알아 냈지만 매핑 된 데이터의 해당 값이 아닙니다.

현재, 내 방법은 예를 들어, HTML 파일 중 하나에 다음과 같은 기능에 의존 :

function getBrushData() { 
    var myElementd3 = d3.selectAll("rect.extent"); //gets any strum 
    myElementd3[0].forEach(function(d,i) { 
    if (d.height.animVal.value !== 0) { //adds the strum data to array if brush exists 
     cursor=cursor+1; 
     myArray[cursor] = "" + d.__data__ + ", " + d.y.animVal.value + ", " + d.height.animVal.value; 
    } 
    }); 
    return myArray, cursor; 
} 

나는 어떻게 든 절대 최소/최대 값을 기준으로 y를 높이 값을 변환 할 수있는 것 같아요 축이지만, 심지어 그것들은 자동으로 접근 할 수있는 방법을 찾지 못합니다.

내 질문에 : 거기에 자동으로 지방의 사지의 대신 사물의 극단에서 절대 값을 얻을 수있는 간단한 방법은 무엇입니까? 어떤 도움을 주셔서 감사합니다!

답변

1

브러시 범위에서 해당 브러쉬 범위 최대/최소 값을 얻으려면 매개 변수를 전달하지 않고 brushExtents() 함수를 사용할 수 있습니다.

parcoords.brushExtents() 이렇게하면 브러쉬 된 모든 축의 배열과 관련 최대/최소값이 반환됩니다.

+0

고마워요, 이것이 제가 필요한 것입니다! 그러나 나는'parcoords.brushExtents()'함수가 얼마나 정확하게 작동 하는지를 이해하는데 어려움을 겪고있다. 특히, 나는 브러쉬 된 마지막 스트 럼만을 반환하는 기능을 원합니다. 이렇게 쉬운 방법이 있습니까? 당신이 친절 하게이 달성 할 수있는 방법에 대한 아이디어를 가리킬 수 있다면 고마워요 (나는이 주제에 대한 별도의 질문을 열었 [여기] (http://stackoverflow.com/questions/42589920/d3-how-to-get-a- 특정 브러쉬 개체)). – sc28