2017-02-21 50 views
1

雖然放大我的Bar amchart時數據很大時渲染非常緩慢,即2975點。雖然渲染效果很好,但在使用拖放圖標進行放大/縮小時效果不佳。該代碼是如下:條形圖緩慢放大/縮小 - AmCharts

for(var i=0; i<title.length; i++) { 
    var graphElem = { 
      "title":title[i], 
      "valueField":valueFields[i], 
      "valueAxis":"v1", 
       "type": "column", 
       "fillAlphas": 0.8, 
       "lineAlpha": 0.2 
       }; 
    graph.push(graphElem); 
} 


var chart = AmCharts.makeChart(graphType, { 

    "type": "serial", 
    "theme": "light", 
    "pathToImages": "/grm/images/", 
    "legend": { 
     "equalWidths": false, 
     "position": "bottom", 
     "spacing": 3, 
     "markerSize":8, 
    }, 
    "dataProvider": dataProvider, 
    "valueAxes": [ { 
     "id":"v1", 
     "axisThickness": 1, 
     "gridAlpha": 0, 
     "axisAlpha": 1, 
     "position": "left", 
     "integersOnly" : true 
    } ], 
    "columnSpacing" : 0, 
    "graphs": graph, 
    "chartScrollbar": { 
     "dragIconHeight" : 25, 
     "dragIconWidth" : 25 
     }, 
    "chartCursor": { 
    "cursorAlpha": 0, 
    "cursorPosition": "mouse", 
    "categoryBalloonDateFormat": "MMM DD, YYYY JJ:NN" 
    }, 
    "categoryField": "linkTimestamp", 
    "categoryAxis": { 
    "parseDates": true, 
    "axisColor": "#000000", 
    "minPeriod": "mm" 
    }, 
    "dataDateFormat": "YYYY-MM-DD HH:NN:SS" 
}); 

chart.addListener("dataUpdated", zoomChart); 
zoomChart(); 
function zoomChart(){ 
    chart.zoomToIndexes(chart.dataProvider.length - 20, chart.dataProvider.length - 1); 
} 

如果我使用比條(列)圖表其他圖表中,放大/縮小是快,但它是在的"type": "column"情況下,只有滯後。請幫我在哪裏犯錯。謝謝

+0

對於我滾動(縮放)的數據也是**非常慢,*少得多*的數據。 – vsync

回答

1

嘗試僅允許在縮放後通過將updateOnReleaseOnly設置爲true來進行重新渲染。

+0

對不起,我已經試過這個了。但是,它幫助我。即使拖動滾動條進行縮放,拖動圖標也不會立即移動,響應時間如3秒或4秒。顯示所有鏡頭圖標也會發生同樣的情況。感謝您的回覆 – user2269170

+0

。他現在正在工作。我忘了爲'updateOnReleaseOnly'設置值'true'。唯一的問題是顯示鏡頭圖標。它需要4或5秒來渲染數據。無論如何,謝謝你。 – user2269170

+0

@Darlession當我滾動圖表時,設置'updateOnReleaseOnly = true'後,滾動條自動成長[** fiddle **](http://jsfiddle.net/abdulwahabplus/6eqe272y/11/) –