Blame | Last modification | View Log | RSS feed
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Flot Examples</title><link href="layout.css" rel="stylesheet" type="text/css"><!--[if lte IE 8]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]--><script language="javascript" type="text/javascript" src="../jquery.js"></script><script language="javascript" type="text/javascript" src="../jquery.flot.js"></script></head><body><h1>Flot Examples</h1><div id="placeholder" style="width:600px;height:300px;"></div><p>You can update a chart periodically to get a real-time effectby using a timer to insert the new data in the plot and redraw it.</p><p>Time between updates: <input id="updateInterval" type="text" value="" style="text-align: right; width:5em"> milliseconds</p><script type="text/javascript">$(function () {// we use an inline data source in the example, usually data would// be fetched from a servervar data = [], totalPoints = 300;function getRandomData() {if (data.length > 0)data = data.slice(1);// do a random walkwhile (data.length < totalPoints) {var prev = data.length > 0 ? data[data.length - 1] : 50;var y = prev + Math.random() * 10 - 5;if (y < 0)y = 0;if (y > 100)y = 100;data.push(y);}// zip the generated y values with the x valuesvar res = [];for (var i = 0; i < data.length; ++i)res.push([i, data[i]])return res;}// setup control widgetvar updateInterval = 30;$("#updateInterval").val(updateInterval).change(function () {var v = $(this).val();if (v && !isNaN(+v)) {updateInterval = +v;if (updateInterval < 1)updateInterval = 1;if (updateInterval > 2000)updateInterval = 2000;$(this).val("" + updateInterval);}});// setup plotvar options = {series: { shadowSize: 0 }, // drawing is faster without shadowsyaxis: { min: 0, max: 100 },xaxis: { show: false }};var plot = $.plot($("#placeholder"), [ getRandomData() ], options);function update() {plot.setData([ getRandomData() ]);// since the axes don't change, we don't need to call plot.setupGrid()plot.draw();setTimeout(update, updateInterval);}update();});</script></body></html>