The example on the right shows a line chart that automatically updates itself every 15 milliseconds. An ideal use for this could be showing a networks bandwidth usage, or a servers load value.
This particular example shows a stacked line chart with two data series, though if you're showing load/stress values, a non-filled chart might be a better choice.
To get up-to-date data from your server you could simply have the page refresh itself, storing the data on the server, or use AJAX if you want the data stored client-side.
Be careful of the data types you use to pass the data to RGraph - you should use numbers to represent values, not strings.
<canvas id="cvs" width="600" height="250">[No canvas support]</canvas> <script> d1 = []; d2 = []; // Pre-pad the arrays with 100 null values for (var i=0; i< 100; ++i) { d1.push(null); d2.push(null); } function getGraph(id, d1, d2) { var graph = new RGraph.Line(id, d1, d2); graph.Set('chart.background.barcolor1', 'white'); graph.Set('chart.background.barcolor2', 'white'); graph.Set('chart.title.xaxis', 'Time'); graph.Set('chart.filled', true); graph.Set('chart.fillstyle', ['#daf1fa', '#faa']); graph.Set('chart.colors', ['rgb(169, 222, 244)', 'red']); graph.Set('chart.linewidth', 3); graph.Set('chart.ymax', 20); graph.Set('chart.xticks', 25); return graph; } function drawGraph (e) { // Clear the canvas and redraw the chart RGraph.Clear(document.getElementById("cvs")); var graph = getGraph('cvs', d1, d2); graph.Draw(); // Add some data to the data arrays d1.push(RGraph.random(5, 10)); d2.push(RGraph.random(5, 10)); // Get rid of the first values of the arrays if (d1.length > 100) { d1 = RGraph.array_shift(d1); d2 = RGraph.array_shift(d2); } setTimeout(drawGraph,25); } drawGraph(); </script>