Real-time graphing: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary |
A WASSERMANN (talk | contribs) No edit summary |
||
Line 9: | Line 9: | ||
<jsxgraph width="700" height="400"> | <jsxgraph width="700" height="400"> | ||
var brd, g, | var brd, g, | ||
x = [], y = []; | x = [], y = [], | ||
turt,i; | |||
brd = JXG.JSXGraph.initBoard('jxgbox', {axis:true, boundingbox:[0,20,30,-2]}); | brd = JXG.JSXGraph.initBoard('jxgbox', {axis:true, boundingbox:[0,20,30,-2]}); | ||
turt = brd.createElement('turtle',[],{strockecolor:'#999999'}); | |||
turt.hide().right(90); | |||
for (i=5;i<=15;i+=5) { | |||
turt.moveTo(0,i).forward(30); | |||
} | |||
fetchData = function() { | fetchData = function() { | ||
Line 27: | Line 35: | ||
y.push(a); | y.push(a); | ||
if (!g) { // If the curve does not exist yet, create it. | if (!g) { // If the curve does not exist yet, create it. | ||
g = brd.createElement('curve', [x,y],{strokeWidth:3, strokeColor:' | g = brd.createElement('curve', [x,y],{strokeWidth:3, strokeColor:'yellow'}); | ||
} | } | ||
brd.update(); | brd.update(); |
Revision as of 08:21, 18 December 2009
The underlying JavaScript code
var brd, g,
x = [], y = [];
brd = JXG.JSXGraph.initBoard('jxgbox', {axis:true, boundingbox:[0,20,30,-2]});
fetchData = function() {
new Ajax.Request('/ajax/fakesensor.php', {
onComplete: function(transport) {
var t, a;
if (200 == transport.status) {
t = transport.responseText;
a = parseFloat(t);
if (x.length<30) {
x.push(x.length);
} else {
y.splice(0,1);
}
y.push(a);
if (!g) { // If the curve does not exist yet, create it.
g = brd.createElement('curve', [x,y],{strokeWidth:3, strokeColor:'green'});
}
brd.update();
};
}});
};
Start = function() {
periodical = setInterval(fetchData,500); // Start the periodical update
};
Start();
The PHP code of fakesensor.php
<?php
echo mt_rand(0,20);
?>