2016-12-20 1 views

답변

1

setExtremes 방법으로이를 수행 할 수 있습니다. 먼저 getExtremes을 사용하여 xAxis에서 현재 최소 시간을 가져와야합니다. 다음으로 새로운 최대 시간을 최소 시간으로 설정합니다. 달을 빼거나 (또는 ​​선택한 범위가 무엇이든) moment.js을 처리했습니다. 어떤 범위 단추가 선택되었는지 확인한 다음 valuetype을 사용하여 새 시작 시간을 얻기 위해 뺄 날짜의 양을 결정하십시오. 나는 당신이 당신의 데모에 가지고있는 설정 3m으로 만 이것을했습니다. 다른 유형의 논리를 추가해야합니다. 당신은 또한 당신이 지금 데이터 범위에서 벗어나기 위해 거꾸로 지나가는 것을 처리해야합니다 - 이것은 할 수 있지만 당신에게 맡깁니다. "뒤로"

기본 버튼 기능 :

$("#btnBack").click(function() { 
    var theChart = $('#container').highcharts(), 
     extremes = theChart.xAxis[0].getExtremes(), 
     minTime = extremes.min, 
     maxTime = extremes.max, 
     currRangeIndex = theChart.rangeSelector.selected, 
     currRange = theChart.rangeSelector.buttonOptions[currRangeIndex], 
     newMaxTime = minTime; 

    // new start/end times 
    var startTime, 
     endTime; 

    if (currRange.type == 'month') { 
     var endDate = new Date(newMaxTime); 
     var startDate = moment(endDate);  
     startDate.subtract(currRange.count, 'months'); 

     startTime = startDate.valueOf(); 
     endTime = newMaxTime; 
    } 
    theChart.xAxis[0].setExtremes(startTime, endTime); 
}); 

작업 "뒤로"버튼을 jsFiddle.

+0

또한 사용자 정의 버튼을 http://api.highcharts.com/highcharts/Renderer.button http://jsfiddle.net/x0Lnp977/3/을 통해 렌더링 할 수 있으므로 범위 선택기 기능을 더 많은 사용자 정의로 변경할 수 있습니다 방법. – morganfree

+0

고맙습니다. 이것이 내가 필요한 것입니다. –

+0

전달이 작동하지 않습니다. 거기에 뭔가 잘못하고 있어요 –

관련 문제