blob: e1c1a04fb8f98f2353acec8e3ed003e2c58431e0 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>plot-simple</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style type="text/css" media="screen">
button {
display: inline-block;
}
plot-simple-sk {
display: block;
}
</style>
</head>
<body>
<h1>Plot</h1>
<div>
<button class=action id=reset>Reset</button>
<button class=action id=add>Add</button>
<button class=action id=clear>Clear</button>
<button class=action id=high>Highlight</button>
<button class=action id=clearhigh>Clear Highlight</button>
<button class=action id=xbar>X Bar</button>
<button class=action id=clearxbar>Clear X Bar</button>
<button class=action id=bands>Bands</button>
<button class=action id=special>Add Special</button>
</div>
<plot-simple-sk width=800 height=600 id=plot></plot-simple-sk>
<table>
<tr><th>Selected</th><td id=selected></td></tr>
<tr><th>Focused</th><td id=focused></td></tr>
<tr><th>Zoom</th><td id=zoom></td></tr>
</table>
<script type="text/javascript" charset="utf-8">
window.customElements.whenDefined('plot-simple-sk').then(() => {
const $$ = (query, ele = document) => ele.querySelector(query);
var ele = $$('#plot');
var n = 0;
function add() {
let labels = [];
for (let i = 0; i < 50; i++) {
labels.push(new Date(1554143900000 + i * i * 1000*60*60));
}
var traces = {};
for (var j = 10 - 1; j >= 0; j--) {
var trace = [];
for (var i = 0; i < 50; i++) {
trace.push([i, 0.8 + Math.sin(i/10) + j + Math.random()*0.5 + 10]);
}
var id = "trace" + (10-j+n);
traces[id] = trace;
}
n += 10;
ele.addLines(traces, labels);
}
add();
$$('#add').addEventListener('click', function() {
add();
});
$$('#clear').addEventListener('click', function() {
ele.removeAll();
});
$$('#reset').addEventListener('click', function() {
ele.resetAxes();
});
$$('#high').addEventListener('click', function(e) {
ele.setHighlight(["trace" + n, "trace" + (n-1)]);
});
$$('#clearhigh').addEventListener('click', function(e) {
ele.clearHighlight();
});
$$('#xbar').addEventListener('click', function(e) {
ele.setXBar(3);
});
$$('#clearxbar').addEventListener('click', function(e) {
ele.clearXBar();
});
$$('#plot').addEventListener('trace_selected', function(e) {
$$('#selected').textContent = JSON.stringify(e.detail);
});
$$('#plot').addEventListener('trace_focused', function(e) {
$$('#focused').textContent = JSON.stringify(e.detail);
});
$$('#plot').addEventListener('zoom', function(e) {
$$('#zoom').textContent = JSON.stringify(e.detail);
});
$$('#bands').addEventListener('click', function(e) {
ele.setBanding([[1, 4], [20, 30]]);
});
$$('#special').addEventListener('click', function(e) {
var trace = [];
for (var i = 0; i < 50; i++) {
trace.push([i, 0]);
}
ele.addLines({"specialZero": trace});
});
})
</script>
</body>
</html>