Your search did not match any results.
Area Charts

Spline Area


Spline area series, like area series, are used to clearly emphasize change in values. However, spline area series help «smooth» individual lines that connect data points. In this example, you can switch between the spline area, stacked spline area and full-stacked spline area series types. Stacked spline area series help visualize multiple series and compare the manner in which each series contributes to the total aggregate value for specific arguments. Full-stacked spline area series help compare the percentage value of multiple spline area series for each argument.
Copy to CodeSandBox
<template> <div id="chart-demo"> <DxChart :data-source="dataSource" palette="Harmony Light" title="Corporations with Highest Market Value" > <DxCommonSeriesSettings :type="type" argument-field="company" /> <DxSeries value-field="y2005" name="2005" /> <DxSeries value-field="y2004" name="2004" /> <DxArgumentAxis :value-margins-enabled="false"/> <DxLegend vertical-alignment="bottom" horizontal-alignment="center" /> <DxMargin :bottom="20"/> <DxExport :enabled="true"/> </DxChart> <div class="options"> <div class="caption">Options</div> <div class="option"> <span>Series Type </span> <DxSelectBox :data-source="types" v-model:value="type" /> </div> </div> </div> </template> <script> import { DxChart, DxSeries, DxArgumentAxis, DxCommonSeriesSettings, DxMargin, DxExport, DxLegend } from 'devextreme-vue/chart'; import DxSelectBox from 'devextreme-vue/select-box'; import { dataSource } from './data.js'; const types = ['splinearea', 'stackedsplinearea', 'fullstackedsplinearea']; export default { components: { DxSelectBox, DxChart, DxSeries, DxArgumentAxis, DxCommonSeriesSettings, DxMargin, DxExport, DxLegend }, data() { return { dataSource: dataSource, types, type: types[0] }; } }; </script> <style> .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; } </style>
import { createApp } from 'vue'; import App from './App.vue'; createApp(App).mount('#app');
<!DOCTYPE html> <html> <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" /> <link rel="stylesheet" type="text/css" href="" /> <link rel="stylesheet" type="text/css" href="" /> <script src=""></script> <script src=""></script> <script type="text/javascript" src="config.js"></script> <script type="text/javascript"> System.import('./index.js'); </script> </head> <body class="dx-viewport"> <div class="demo-container"> <div id="app"> </div> </div> </body> </html>
export const dataSource = [{ company: 'ExxonMobil', y2005: 362.53, y2004: 277.02 }, { company: 'GeneralElectric', y2005: 348.45, y2004: 328.54 }, { company: 'Microsoft', y2005: 279.02, y2004: 297.02 }, { company: 'Citigroup', y2005: 230.93, y2004: 255.3 }, { company: 'Royal Dutch Shell plc', y2005: 203.52, y2004: 173.54 }, { company: 'Procted & Gamble', y2005: 197.12, y2004: 131.89 }];
System.config({ transpiler: 'plugin-babel', meta: { '*.vue': { loader: 'vue-loader' }, 'devextreme/localization.js': { "esModule": true }, }, paths: { 'npm:': '' }, map: { 'vue': 'npm:vue@3.0.0/dist/vue.esm-browser.js', 'vue-loader': 'npm:dx-systemjs-vue-browser@1.0.15/index.js', 'mitt': 'npm:mitt/dist/mitt.umd.js', 'rrule': 'npm:rrule@2.6.6/dist/es5/rrule.js', 'luxon': 'npm:luxon@1.26.0/build/global/luxon.min.js', 'es6-object-assign': 'npm:es6-object-assign@1.1.0', 'devextreme': 'npm:devextreme@20.2.7', 'devextreme-vue': 'npm:devextreme-vue@20.2.7', 'jszip': 'npm:jszip@3.6.0/dist/jszip.min.js', 'devextreme-quill': 'npm:devextreme-quill@0.10.3/dist/dx-quill.min.js', 'devexpress-diagram': 'npm:devexpress-diagram@2.0.23/dist/dx-diagram.js', 'devexpress-gantt': 'npm:devexpress-gantt@2.0.29/dist/dx-gantt.js', 'preact': 'npm:preact@10.5.13/dist/preact.js', 'preact/hooks': 'npm:preact@10.5.13/hooks/dist/hooks.js', 'plugin-babel': 'npm:systemjs-plugin-babel@0.0.25/plugin-babel.js', 'systemjs-babel-build': 'npm:systemjs-plugin-babel@0.0.25/systemjs-babel-browser.js' }, packages: { 'devextreme-vue': { main: 'index.js' }, 'devextreme': { defaultExtension: 'js' }, 'devextreme/events/utils': { main: 'index' }, 'devextreme/events': { main: 'index' }, 'es6-object-assign': { main: './index.js', defaultExtension: 'js' } }, babelOptions: { sourceMaps: false, stage0: true } });