You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.9 KiB
40 lines
1.9 KiB
<!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 = 20; |
|
const data1 = Array.from({ length: arrayLength }, (el, idx) => [startTime + idx * 10000, Math.floor(Math.random() * 40)]); |
|
const data2 = Array.from({ length: arrayLength }, (el, idx) => [startTime + idx * 10000, Math.floor(Math.random() * 100)]); |
|
const data3 = Array.from({ length: arrayLength }, (el, idx) => [startTime + idx * 10000, Math.floor(Math.random() * 20) + 90]); |
|
const zoomIn = (ranges) => { const xRange = ranges[0]; options.axis.x.range = xRange; pod.updateData(undefined, options); } |
|
const zoomOut = (ranges) => { options.axis.x.range = [startTime, startTime + arrayLength * 10000]; pod.updateData(undefined, options); } |
|
const panningEnd = (ranges) => { const xRange = ranges[0]; options.axis.x.range = xRange; pod.updateData(undefined, options); } |
|
let options = { |
|
renderLegend: false, usePanning: false, axis: { y: { invert: false, range: [0, 350] }, x: { format: 'time' } }, |
|
zoomEvents: { |
|
scroll: { zoom: { isActive: true, orientation: 'horizontal' } } |
|
}, |
|
eventsCallbacks: { zoomIn: zoomIn, zoomOut, panningEnd } |
|
} |
|
var pod = new LinePod( |
|
document.getElementById('chart'), |
|
[ |
|
{ target: 'test1', datapoints: data1, color: 'green' }, |
|
{ target: 'test2', datapoints: data2, color: 'blue' }, |
|
{ target: 'test3', datapoints: data3, color: 'orange' }, |
|
], |
|
options |
|
); |
|
pod.render(); |
|
</script> |
|
</body> |
|
</html>
|
|
|