2011-07-21 140 views
2

我有一個網站,每秒提供20-50個小部件,我想創建一個自動從服務器獲取數據,然後更新圖表的圖表,並且我希望圖表從右向左運行隨着更多數據的添加,刪除舊值並添加新值。我想要一個JavaScript和PHP解決方案。實時更新ajax圖表

我已經試過谷歌,並找不到任何解決方案,爲此,我發現一個教程一次,但現在我已經失去了該鏈接:(所以任何形式的幫助鏈接,一段代碼或尋找什麼樣的幫助

我想要的一件事是讓小部件以延遲獲取數據開始,但在初始獲取5秒後開始顯示數據,然後每2秒獲取一次數據,但是每秒載入一次數據。將緩解在服務器上的負載,同時也產生光滑的曲線圖。

enter image description here

任何幫助,將不勝感激....

像這樣的PHP http://support.nevron.com/KB/a175/implement-real-time-chart-in-aspnet-application-using-ajax.aspx

回答

3

所以,你只需要在不同的時間間隔運行兩個函數可以訪問所有的數據將被存儲

相同的變量
function runChart() { 
    var dataObject = []; 

    fetchFromServer = function() { 
    //Make your Ajax call here 
    //and then update 'dataObject' 
    } 

    //set fetchFromServer to fire every 5 seconds 
    setInterval(function() { fetchFromServer() }, 5000); 

    loadToChart = function() { 
    //In here keep track of what was the last data you added to the chart 
    //pull data-points from 'dataObject' 
    //and display the next data-point on the graph 
    } 
    //set loadToChart to fire every second 
    setInterval(function() { loadToChart() } ,1000); 
} 
+0

hmmmm ....非常好的解決方案... 1爲此(不能需要15代表哈哈),但我無法找到任何良好的圖表庫,我與這個功能一起使用....你可以請建議,以及我會繼續接受你的答案。謝謝 – Anush

+0

現在,因爲剛剛得到了24個代表...還在等待回覆 – Anush

+0

這些是我知道的http://mbostock.github.com/protovis/和http://g.raphaeljs中最強大的兩個圖表庫。 com/ –