I would like to build a web-based real time data graph and i'm looking at the different options such as:
- Html5 canvas
- JS libraries with graph support such as Extjs
By real time i mean, either the client polling the web server say every second or using reverse ajax; the server pushes data to the client when available.
Can you please recommend any?
You may want to consider using Flot, an open-source plotting library based on jQuery.
I'm assuming that by real-time you mean that the graph will update automatically. The following is how your code would look like if you were to fetch and plot the data using AJAX polling at 1 second intervals:
function fetchData() {
$.ajax({
url: 'json_fetch_new_data.php',
method: 'GET',
dataType: 'json',
success: function(series) {
var data = [ series ];
$.plot($('#placeholder'), data, options);
}
});
setTimeout(fetchData, 1000);
}
Make sure to check out the following demo to see it in action (Click on the "Poll for Data" button):
For further information on Flot:
There is also SmoothieCharts that is designed more for this use-case.
Other solution with design more nice and possibilities:
https://changelog.com/posts/rickshaw-realtime-javascript-graphing-library
example: http://shutterstock.github.com/rickshaw/examples/extensions.html
来源:https://stackoverflow.com/questions/3792750/real-time-data-graph