Your search did not match any results.
Charts

Points Aggregation

Documentation

This demo illustrates the Chart's data aggregation feature using the line, range area, and bar series. The line series shows temperature changes using average, minimum, or maximum temperature values in the selected time interval. The range area series shows the temperature range for the same time interval and uses a custom aggregate function. The bar series illustrates precipitation and is not aggregated.

Backend API
Copy to CodePen
Apply
Reset
window.onload = function () { const dataSource = []; const max = 5000; let i; for (i = 0; i < max; i += 1) { dataSource.push({ arg: i, val: i + i * (Math.random() - 0.5) }); } const model = {}; model.chartOptions = { dataSource, argumentAxis: { valueMarginsEnabled: false, }, valueAxis: { label: { format: { type: 'fixedPoint', }, }, }, legend: { visible: false, }, series: { point: { size: 7, }, aggregation: { enabled: true, }, }, }; model.rangeOptions = { size: { height: 120, }, dataSource, chart: { series: { aggregation: { enabled: true, }, }, }, scale: { minRange: 1, }, sliderMarker: { format: { type: 'decimal', precision: 0, }, }, behavior: { callValueChanged: 'onMoving', snapToTicks: false, }, onValueChanged(e) { const zoomedChart = $('#chart-demo #zoomedChart').dxChart('instance'); zoomedChart.zoomArgument(e.value[0], e.value[1]); }, }; ko.applyBindings(model, $('#chart-demo')[0]); };
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script>window.jQuery || document.write(decodeURIComponent('%3Cscript src="js/jquery.min.js"%3E%3C/script%3E'))</script> <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/22.2.3/css/dx.light.css" /> <script src="https://cdn3.devexpress.com/jslib/22.2.3/js/dx.all.js"></script> <link rel="stylesheet" type="text/css" href="styles.css" /> <script src="index.js"></script> </head> <body class="dx-viewport"> <div class="demo-container"> <div id="chart-demo"> <div id="zoomedChart" data-bind="dxChart: chartOptions"></div> <div id="range-selector" data-bind="dxRangeSelector: rangeOptions"></div> </div> </div> </body> </html>
#chart-demo { height: 470px; width: 100%; } #zoomedChart { height: 335px; margin: 0 0 15px; } #chart-demo > div:not(#zoomedChart) { height: 120px; }