2017-01-15 88 views
0

我試圖使用上渲染amCharts甘特圖的zoomToDates功能:http://jsfiddle.net/Lw2bhxm0/1/amCharts zoomToDates功能似乎並沒有工作權

// Doesn't appear to work right...only a few of the events are shown 
chart.addListener("rendered", function(event) { 
    event.chart.zoomToDates(new Date(2016, 1, 1), new Date(2016, 1, 2)); 
}); 

結果是非常不同的比我放大到日期通過傳統的滑塊或點擊並拖動。此外,如果我嘗試縮放到數據範圍外的某個日期,則會縮放到丟失數據的同一時間段。我使用這個錯誤還是它是一個錯誤?

回答

1

zoomToDates是基於categoryAxis的函數,但是甘特圖使用基於日期的valueAxis來繪製日期。你必須調用圖表valueAxis' zoomToValues方法代替:

chart.addListener("rendered", function(event) { 
    event.chart.valueAxis.zoomToValues(new Date(2016, 1, 1), new Date(2016, 1, 2)); 
}); 

注意zoomToValues只接受Date對象和毫秒值基於日期的valueAxis不像zoomToDates,這也可以接受基於字符串的日期。您可以使用AmCharts.stringToDate將基於字符串的日期轉換爲日期對象,以便與zoomToValues一起使用,例如, chart.zoomToValues(AmCharts.stringToDate("2016-02-01", "YYYY-MM-DD"), AmCharts.stringToDate("2016-02-02", "YYYY-MM-DD"));

Updated fiddle

+0

謝謝!這正是我正在尋找的。 – Jonathan