Integration with chartjs-plugin-zoom (opens new window)
const config = { type: 'line', data: data, options: { scales: { x: { type: 'realtime', realtime: { duration: 20000, refresh: 1000, delay: 2000, onRefresh: onRefresh } }, y: { title: { display: true, text: 'Value' } } }, interaction: { intersect: false }, plugins: { zoom: { pan: { enabled: true, mode: 'x' }, zoom: { pinch: { enabled: true }, wheel: { enabled: true }, mode: 'x' }, limits: { x: { minDelay: 0, maxDelay: 4000, minDuration: 1000, maxDuration: 20000 } } } } } };
const data = { datasets: [ { label: 'Dataset 1 (Linear Interpolation)', backgroundColor: Utils.transparentize(Utils.CHART_COLORS.red, 0.5), borderColor: Utils.CHART_COLORS.red, borderDash: [8, 4], data: [] }, { label: 'Dataset 2 (Cubic Interpolation)', backgroundColor: Utils.transparentize(Utils.CHART_COLORS.blue, 0.5), borderColor: Utils.CHART_COLORS.blue, cubicInterpolationMode: 'monotone', data: [] } ] }; const onRefresh = chart => { const now = Date.now(); chart.data.datasets.forEach(dataset => { dataset.data.push({ x: now, y: Utils.rand(-100, 100) }); }); };
const actions = [ { name: 'Randomize', handler(chart) { chart.data.datasets.forEach(dataset => { dataset.data.forEach(dataObj => { dataObj.y = Utils.rand(-100, 100); }); }); chart.update(); } }, { name: 'Add Dataset', handler(chart) { const datasets = chart.data.datasets; const dsColor = Utils.namedColor(datasets.length); const newDataset = { label: 'Dataset ' + (datasets.length + 1), backgroundColor: Utils.transparentize(dsColor, 0.5), borderColor: dsColor, data: [] }; datasets.push(newDataset); chart.update(); } }, { name: 'Add Data', handler(chart) { onRefresh(chart); chart.update(); } }, { name: 'Remove Dataset', handler(chart) { chart.data.datasets.pop(); chart.update(); } }, { name: 'Remove Data', handler(chart) { chart.data.datasets.forEach(dataset => { dataset.data.shift(); }); chart.update(); } }, { name: 'Reset Zoom', handler(chart) { chart.resetZoom('none'); } } ];
For plain JavaScript, use script tags in the following order.
For bundlers, import and register modules to the chart.
← Annotation Financial →
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4