DevExtreme v23.2 is now available.

Explore our newest features/capabilities and share your thoughts with us.

Your search did not match any results.

Spline

Spline charts, like line charts, allow you to visualize data and display them as lines with points placed over specified intervals. However, spline charts smooth out individual lines that connect data points.

In this example, you can use the drop-down menu under the chart to switch between the Spline, Stacked Spline, and Full-Stacked Spline chart types. A Stacked Spline chart visualizes multiple data series and allows you to compare the manner in which each series contributes to the total aggregate value for specific arguments. A Full-Stacked Spline chart helps compare the percentage value of multiple line series for each argument.

Configure Spline Charts

The functionality of Spline charts is very similar to that of line charts. You can use instructions from the Line demo description to configure Spline charts. To display a Spline, Stacked Spline, or Full-Stacked Spline series, set the type property to one of these types.

Backend API
$(() => { const chart = $('#chart').dxChart({ palette: 'violet', dataSource, commonSeriesSettings: { type: types[0], argumentField: 'year', }, commonAxisSettings: { grid: { visible: true, }, }, margin: { bottom: 20, }, series: [ { valueField: 'smp', name: 'SMP' }, { valueField: 'mmp', name: 'MMP' }, { valueField: 'cnstl', name: 'Cnstl' }, { valueField: 'cluster', name: 'Cluster' }, ], tooltip: { enabled: true, }, legend: { verticalAlignment: 'top', horizontalAlignment: 'right', }, export: { enabled: true, }, argumentAxis: { label: { format: { type: 'decimal', }, }, allowDecimals: false, axisDivisionFactor: 60, }, title: 'Architecture Share Over Time (Count)', }).dxChart('instance'); $('#types').dxSelectBox({ dataSource: types, value: types[0], inputAttr: { 'aria-label': 'Series Type' }, onValueChanged(e) { chart.option('commonSeriesSettings.type', e.value); }, }); });
<!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> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/23.2.5/css/dx.light.css" /> <script src="js/dx.all.js"></script> <script src="data.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="chart"></div> <div class="options"> <div class="caption">Options</div> <div class="option"> <span>Series Type</span> <div id="types"></div> </div> </div> </div> </div> </body> </html>
.options { padding: 20px; background-color: rgba(191, 191, 191, 0.15); margin-top: 20px; } .option { margin-top: 10px; } .caption { font-size: 18px; font-weight: 500; } .option > span { margin-right: 10px; } .option > .dx-widget { display: inline-block; vertical-align: middle; }
const dataSource = [{ year: 1997, smp: 263, mmp: 208, cnstl: 9, cluster: 1, }, { year: 1999, smp: 169, mmp: 270, cnstl: 61, cluster: 7, }, { year: 2001, smp: 57, mmp: 261, cnstl: 157, cluster: 45, }, { year: 2003, smp: 0, mmp: 154, cnstl: 121, cluster: 211, }, { year: 2005, smp: 0, mmp: 97, cnstl: 39, cluster: 382, }, { year: 2007, smp: 0, mmp: 83, cnstl: 3, cluster: 437, }]; const types = ['spline', 'stackedspline', 'fullstackedspline'];