| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- var chart;
- function refresh() {
- if (suspendRefresh)
- return;
- chart.load({
- columns: [
- ["Value"].concat(zoom(column, currentZoom, "t=>Math.round(t.avg())".toLambda())),
- ["xColumn"].concat(zoom(xColumn, currentZoom, "t=>t[0]".toLambda())),
- ]
- });
- }
- function getChart() {
- return chart;
- }
- function main() {
- var last = 0;
- var max = 10000;
- var column = Array.generate(max, function (i) {
- return last += Math.randomInt(-10, 10);
- });
- var xColumn = Array.generateNumbers(0, max);
- var options = {
- bindto: "#divChart",
- data: {
- columns: [
- ["Value"].concat(column),
- ["x"].concat(xColumn),
- ],
- type: "line",
- x: "x"
- },
- zoom2: {
- enabled: true,
- }
- };
- chart = c3ext.generate(options);
- window.setInterval(refreshStatus, 1000);
- function refreshStatus() {
- var zoomInfo = chart.zoom2.getZoom();
- var info = {
- reduced: chart.zoom2.maxItems(),
- actual: (zoomInfo.currentZoom[1] - zoomInfo.currentZoom[0]),
- range: zoomInfo.currentZoom[0] + "-" + zoomInfo.currentZoom[1],
- total: zoomInfo.totalItems
- };
- $("#status").text(JSON.stringify(info, null, " "));
- }
- };
- if (typeof (Array.generate) == "undefined") {
- Array.generate = function (length, generator) {
- var list = new Array(length);
- for (var i = 0; i < length; i++) {
- list[i] = generator(i);
- }
- return list;
- }
- }
- if (typeof (Math.randomInt) == "undefined") {
- Math.randomInt = function (min, max) {
- return Math.floor(Math.random() * (max - min + 1)) + min;
- }
- }
- if (typeof (Array.generateNumbers) == "undefined") {
- Array.generateNumbers = function (from, until) {
- if (arguments.length == 1) {
- until = from;
- from = 0;
- }
- var length = until - from;
- var list = new Array(length);
- for (var i = 0; i < length; i++) {
- list[i] = i + from;
- }
- return list;
- }
- }
|