2012-01-06 3 views
1

flot screenshot플로트 스택 막대

그래서 위의 flot은 flot을 사용하여 스택 된 막대를 가지고 있습니다. 지금 나는 또한 메인 바 안에있는 모든 막대 위에있을 때 그 부분의 번호를 보여주는 호버 효과 (hover effect)를 가지고 있습니다. 내가 보여주고 싶은 것은 숫자 대신에 현재 막대에 대한 참조에서 끝난 부분에 대한 백분율입니다. 그러나 막대의 합계에 도달 할 수있는 방법이 어디에도 표시되지 않습니다 (즉, 주위의 숫자를 찾으십시오. 4200이 막대를 기준으로 함).

답변

5

총계를 얻으려면 데이터를보고 클릭 된 항목에 해당하는 시리즈의 요소를 찾아 값을 합산해야합니다.

 <div id="placeholder" style="width:600px;height:300px;"></div> 
    <div id="clickdata" ></div> 


<script id="source"> 
$(function() { 
    var d1 = []; 
    for (var i = 0; i <= 10; i += 1) 
     d1.push([i, parseInt(Math.random() * 30)]); 

    var d2 = []; 
    for (var i = 0; i <= 10; i += 1) 
     d2.push([i, parseInt(Math.random() * 30)]); 

    var d3 = []; 
    for (var i = 0; i <= 10; i += 1) 
     d3.push([i, parseInt(Math.random() * 30)]); 

    var stack = 0, bars = true, lines = false, steps = false; 

    function plotWithOptions() { 
     return $.plot($("#placeholder"), [ d1, d2, d3 ], { 
      grid: { clickable: true }, 
      series: { 
       stack: stack, 
       lines: { show: lines, fill: true, steps: steps }, 
       bars: { show: bars, barWidth: 0.6, hoverable: true, clickable: true } 
      } 
     }); 

    } 

    var plot = plotWithOptions(); 

    function getTotalForIndex(index) { 
     var total = parseFloat(d1[index][1]) + parseFloat(d2[index][1]) + parseFloat(d3[index][1]); 
     return total; 
    } 

    $("#placeholder").bind("plotclick", function (event, pos, item) { 
     if (item) { 
      $("#clickdata").text("You clicked point " + item.dataIndex + " in " + item.series.label + ". which has total value "+ getTotalForIndex(item.dataIndex)); 
      plot.highlight(item.series, item.datapoint); 
     } 
    }); 
}); 
</script> 
+0

나는 시리즈의 총을 찾고 있지 않다. 나는 술집에서 합계를 찾고있다. series1이 [[1,2], [2,6]]이고 series2가 [[1,12], [2,52] 인 경우 bar1 - 14 및 bar2 = 58이 아닌 series1 = 8을 얻고 싶습니다. series2 = 64입니다. flothover 이벤트에 대한 항목을 살펴 봤지만 막대 데이터가 아니라 시리즈 데이터 만 볼 수 있습니다. – ryanzec

+0

예제를 실행하면 바가 아닌 시리즈의 합계가됩니다. 인덱스에 대한 합계를 얻고 막대 인덱스에 대한 각 계열의 값을 찾고 합계 – Richard

+0

Opps를 반환합니다. 코드 예제가 스크롤 가능한 것을 인식하지 못했지만 작동해야합니다. 나는 그것을하지 않아도되기를 바랬다. 술집 전체가 제공 할 플롯 자체가 될 것이라고 나는 예상했다. – ryanzec

관련 문제