Realtime data source
Real time JavaScript chart that continuously updates data and instantly shows it in the time series. Can be achieved with using 'addData'. This example demonstrates the feature with function that randomly generates data, but you can use your own functions for real-life applications, such as stock index, IoT monitoring, web traffic or other real-time data sources.
HTML
HTML
<script src="https://cdn.zoomcharts-cloud.com/1/nightly/zoomcharts.js"></script>
<div id="demo"></div>
CSS
CSS
//No CSS for this example
JavaScript
JavaScript
var randomSeed = 10; // this can be changed to generate different data sets
function getRandomNumber() {
var x = Math.sin(randomSeed++) * 10000;
return x - Math.floor(x);
}
var chart = new TimeChart({
area: {
height: null,
displayUnits: [{ unit: "5 s", name: "5 seconds" }]
},
container: document.getElementById("demo"),
navigation: {
initialDisplayAnchor: "now",
initialDisplayPeriod: "3 m",
initialDisplayUnit: "5 s",
followAnchor: true
},
series: [{ type: "line", style: { lineColor: "red", fillColor: "pink", smoothing: true } }],
data: {},
timeAxis: { timeZone: "local" },
currentTime: { overrideLimits: true }
});
function genData(f, t, u) {
var vv = [];
// generate random data for the given time period
for (var i = f; i < t; i += 1000)
vv.push([i, getRandomNumber() * 1000]);
chart.addData({
from: f,
to: t,
unit: u,
values: vv
});
}
var timeoutHandle;
function realTimeData() {
var t = new Date().getTime();
var v = [t, getRandomNumber() * 1000];
chart.addData({ unit: "ms", values: [v] });
timeoutHandle = setTimeout(realTimeData, 1000);
}
// set initial data for given time period
var t = new Date().getTime();
var f = t - (2 * 60 * 1000); // add data for 2 minutes
genData(f, t, "ms");
// start generating real time data
realTimeData();
function disposeDemo() {
window.clearTimeout(timeoutHandle);
disposeDemo = null;
timeoutHandle = null;
}
Data
Data
//No separate data for this example