This is a basic example of using AJAX to request the data from the server. The window.onload function initiates the AJAX request and then the callback function - DrawGraph() - takes the response and creates the chart.
Note: In October 2013 a new CSV reader was added to RGraph. It makes reading CSV files much easier. You can read about the new CSV reader here.
This goes in the documents header:<script src="RGraph.common.core.js"></script> <script src="RGraph.line.js"></script>Put this where you want the chart to show up:
<canvas id="cvs" width="600" height="250">
[No canvas support]
</canvas>
This is the code that generates the chart:
<script>
/**
* Ths window.onload function initiates the AJAX request. The AJAX page is: http://www.rgraph.net/getdata.html
* If you view this in your browser you'll see that all it does is output a sequence of numbers.
*/
window.onload = function ()
{
RGraph.AJAX('/getdata.html', DrawGraph);
};
/**
* This is the AJAX callback function. It splits up the response, converts it to numbers and then creates the chart.
*/
function DrawGraph (response)
{
// The responseText is the output of the AJAX request
var data = response;
// Split the data up into an array
data = data.split(',');
// Convert the array of strings into an array of numbers
for (var i=0; i<data.length; ++i) {
data[i] = Number(data[i]);
}
// Reset the canvas
RGraph.Reset(document.getElementById("cvs"));
// Now draw the chart
var line = new RGraph.Line({
id: 'cvs',
data: data,
options: {
textAccessible: true,
hmargin: 10,
linewidth: 2,
ymax: 100,
labels: ['Gary','Olga','Lewis','Rachel','Nathan','Matt','Kevin','Indigo','Lou','Pete']
}
}).draw()
}
</script>