2017-08-14 121 views
0

當創建在AmCharts(例如:http://jsfiddle.net/amcharts/ATQUm/)活圖表 看來,當一個觸發this.state.chart.validateData()滾動條的範圍是被重置爲全範圍,除非用戶點擊並保持向下滾動條處於相同的位置。飼養滾動

有沒有辦法保持該範圍,因爲數據正在更新,而無需按下按鈕?

回答

1

假設您希望日期選擇在更新之間保持不變,您可以在圖表對象中將zoomOutOnDataUpdate設置爲false,並且滾動條將保持在選定的日期範圍內;例如,如果您在2017-07-01到2017-08-01之間放大,該日期範圍仍將保留在更新之間。

Demo

如果你滑舊點過圖表就像在演示中,然後zoomOutOnDataUpdate完全不是那麼回事了,UI明智的,因爲日期範圍最終會脫落的點被刪除,因爲在上面的演示中你可能會注意到(右側滾動條手柄緩慢向左移動)。在這種情況下,你要保持圖表的當前startIndexendIndex和打電話給你更新後zoomToIndexes,即

var startIndex = chart.startIndex; 
    var endIndex = chart.endIndex; 
    chart.validateData(); 
    chart.zoomToIndexes(startIndex, endIndex); 

Demo

僅供參考,您鏈接小提琴使用AmCharts的舊版本(V2 )。我的小提琴使用最新的v3版本。