mirror of https://github.com/masayuki0812/c3.git
Quite good looking graph derived from d3.js
http://c3js.org
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.
81 lines
2.1 KiB
81 lines
2.1 KiB
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; |
|
} |
|
} |