2014-04-15 3 views
0

Google 그룹에 올린 글이지만 게시가 사라진 것처럼 보이므로 여기에서 시도 할 것입니다.플롯 원형 차트 - 레이블 포맷터 함수 매개 변수?

나는 플롯 차트 시리즈 데이터를 채우는 데 사용하는 데이터 배열을 가지고 있으며 모든 것이 잘 작동합니다. 전 이제 전설 및 관련 세그먼트를 클릭 할 수있게하여 파이 차트에서 자세히 드릴 다운하고 해당 세그먼트 데이터의 분석으로 다른 파이 차트를 표시 할 수있게하려고합니다.

레이블 포맷터 사용자 지정 함수는 분명히이 위치를 지정하지만 레이블 및 계열 만 허용하며 계열은 레이블을 통과 할 때 각 계열 개체의 배열에서 위치 인덱스를 포함하지 않는 것처럼 보입니다 포맷터 기능. 내가 클릭 한 세그먼트 정보를 전달할 수 있도록 ...

function labelFormatter(label, series) 
    return '<a href="#" onclick="myfunction(" + series.index + ")>" + label + "</a>" 
} 

:

내가 좋아하는 뭔가를 시도하고있다. 내가 전달한 레이블을 사용하고 원본 데이터 배열을 검색하여 일치 항목을 찾아 클릭 한 항목을 해결하기 위해 해당 인덱스 위치를 사용할 수 있다고 가정합니다.하지만 조금 길어 보입니다.

여기 몇 가지 기능이 누락 되었습니까? 아니면 내가 시도하는대로 할 수 없습니까?

+0

나는 긴 바람이 잘 잡히지 않았다. 모든 예제가이 체크 박스와 비슷하다. [예제] (http://people.iola.dk/olau/flot/examples/turning-series.html)) – Blake

답변

1

기본적으로 범례는 시리즈를 제공 한 순서대로 표시합니다. 따라서 일반 jQuery 루프를 사용하여 링크로 변환하거나 단순히 클릭 리스너를 추가 할 수 있습니다.

$.each(".legend tr", function(i, row) { 
    addDrillDownListener(row, series[i]); 
}); 

호버 때문에, 자신도 쉽게 파이 조각 작업을 클릭 콜백은 seriesIndex 속성을 가진 개체를받을 수 있습니다.

+0

아, 고마워. 그런 다음 청취자 차트 객체를 초기화 할 때 청취자를 설정합니까? – TheMook

+0

plot을 호출 한 후 .legend tr이 생성 된 이후입니다. 물론 'addDrillDownListener'는 Flot 함수가 아닙니다. 그것은 당신이 거기서하고 싶은 것을위한 나의 자리 표시 자일뿐입니다. – DNS

+0

http://stackoverflow.com/questions/23132958/adding-click-binding-to-existing-view-viewmodel-in-durandal-knockout을 참조하십시오. – TheMook

관련 문제