2013-01-24 4 views

답변

0

저는 파이 차트에서 이와 같은 작업을했습니다.

사용자가 클릭했을 때 시리즈 색상을 변경하려면 "connectToPlot"을 사용했습니다.

내가했던 일의 이력서입니다 : change series color when user click on it

당신이 시리즈를 클릭하면 색상 변화가 회색 것을 확인하고 당신이 그것을 다시 원래의 색을 일련의 반환을 클릭하면 (그것을 저장 속성 "originalColor").

pieChart.connectToPlot("default", function(evt) { 

       var shape = evt.shape; 
       var type = evt.type; 

       if (type == "onclick") { 
        var fillColor = "rgb("+shape.fillStyle.r+", "+shape.fillStyle.g+", "+shape.fillStyle.b+")"; console.log(shape.fillStyle); 
        if(shape.rawNode.getAttribute("originalColor")==null) 
         shape.rawNode.setAttribute("originalColor",fillColor); 

    var strokeColor = "rgb("+shape.strokeStyle.color.r+", "+shape.strokeStyle.color.g+", "+shape.strokeStyle.color.b+")"; 

        if(fillColor=='rgb(238, 238, 238)'){ 
         shape.setFill(shape.rawNode.getAttribute("originalColor")); 
         shape.setStroke(shape.rawNode.getAttribute("originalColor")); 
        }else{ 
         shape.setFill('rgb(238, 238, 238)'); 
         shape.setStroke(shape.rawNode.getAttribute("originalColor")); 
        } 
       } 
+0

코드는 좋은 출발점입니다. "connectToPlot"을 사용하여 좌표에 배열을 저장하고 마지막 점을 선택한 후 배열을 사용하여 작업을 수행합니다. 고마워, Costel – Costel

+0

차트의 svg 컨테이너 안에 svg 사각형 (그림에서 파란색 직사각형)을 만들고 차트의 각 점을 사각형 경계와 비교하여 문제를 해결했습니다. – Costel