|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
|
|
|
|
|
|
|
<head>
|
|
|
|
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
|
|
|
|
<meta content="utf-8" http-equiv="encoding">
|
|
|
|
|
|
|
|
<script src="../dist/index.js" type="text/javascript"></script>
|
|
|
|
</head>
|
|
|
|
|
|
|
|
<body>
|
|
|
|
<div id="chart" style="width: 500px; height: 500px;"></div>
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
const startTime = 1590590148;
|
|
|
|
const arrayLength = 100;
|
|
|
|
const data1 = Array.from({ length: arrayLength }, (el, idx) => [Math.floor(Math.random() * 40), startTime + idx * 10000]);
|
|
|
|
const data2 = Array.from({ length: arrayLength }, (el, idx) => [Math.floor(Math.random() * 100), startTime + idx * 10000]);
|
|
|
|
const data3 = Array.from({ length: arrayLength }, (el, idx) => [Math.floor(Math.random() * 20) + 90, startTime + idx * 10000]);
|
|
|
|
let options = { renderLegend: false, usePanning: false, axis: { y: { invert: false, range: [0, 350] }, x: { format: 'time' } } };
|
|
|
|
var pod = new LinePod(
|
|
|
|
document.getElementById('chart'),
|
|
|
|
[
|
|
|
|
{ target: 'test1', datapoints: data1, color: 'green', maxLength: arrayLength + 30, renderDots: true },
|
|
|
|
{ target: 'test2', datapoints: data2, color: 'blue', maxLength: arrayLength + 30, renderDots: true },
|
|
|
|
{ target: 'test3', datapoints: data3, color: 'orange', maxLength: arrayLength + 30, renderDots: true },
|
|
|
|
],
|
|
|
|
options
|
|
|
|
);
|
|
|
|
pod.render();
|
|
|
|
let rerenderIdx = arrayLength;
|
|
|
|
var test = setInterval(() => {
|
|
|
|
rerenderIdx += 1;
|
|
|
|
const d1 = [Math.floor(Math.random() * 40), startTime + rerenderIdx * 10000];
|
|
|
|
const d2 = [Math.floor(Math.random() * 100), startTime + rerenderIdx * 10000];
|
|
|
|
const d3 = [Math.floor(Math.random() * 20) + 90, startTime + rerenderIdx * 10000];
|
|
|
|
|
|
|
|
console.time('rerender');
|
|
|
|
pod.appendData([d1, d2, d3]);
|
|
|
|
console.timeEnd('rerender');
|
|
|
|
if(rerenderIdx > arrayLength + 100) {
|
|
|
|
clearInterval(test);
|
|
|
|
}
|
|
|
|
}, 1000);
|
|
|
|
</script>
|
|
|
|
</body>
|
|
|
|
|
|
|
|
</html>
|