DevExtreme v23.2 is now available.

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

Your search did not match any results.

Range Area

Documentation

Range area series can be used to display value ranges corresponding to specified arguments. Data is displayed as a color filled space between the line that joins the beginning and the line that joins the end series points.

www.kaggle.com
Backend API
<template> <DxChart id="chart" :data-source="inflationData" palette="Violet" title="Annual Inflation Rate in 2010 and 2011" > <DxCommonSeriesSettings argument-field="date" type="rangearea" /> <DxSeries range-value1-field="val2010" range-value2-field="val2011" name="2010 - 2011" /> <DxArgumentAxis :value-margins-enabled="false"> <DxLabel format="month"/> </DxArgumentAxis> <DxValueAxis :tick-interval="0.5" :value-margins-enabled="false" > <DxVisualRange start-value="0.5" end-value="4" /> <DxLabel :customize-text="customizeLabelText"> <DxFormat :precision="2" type="fixedPoint" /> </DxLabel> </DxValueAxis> <DxExport :enabled="true"/> <DxLegend :visible="false"/> </DxChart> </template> <script setup lang="ts"> import DxChart, { DxCommonSeriesSettings, DxSeries, DxArgumentAxis, DxValueAxis, DxLabel, DxVisualRange, DxFormat, DxExport, DxLegend, } from 'devextreme-vue/chart'; import { inflationData } from './data.ts'; const customizeLabelText = ({ valueText }) => `${valueText} %`; </script> <style> #chart { height: 440px; } </style>
window.exports = window.exports || {}; window.config = { transpiler: 'plugin-babel', meta: { '*.vue': { loader: 'vue-loader', }, '*.ts': { loader: 'demo-ts-loader', }, '*.svg': { loader: 'svg-loader', }, 'devextreme/time_zone_utils.js': { 'esModule': true, }, 'devextreme/localization.js': { 'esModule': true, }, 'devextreme/viz/palette.js': { 'esModule': true, }, }, paths: { 'root:': '../../../../../', 'npm:': 'https://unpkg.com/', }, map: { 'vue': 'npm:vue@3.3.4/dist/vue.esm-browser.js', 'vue-loader': 'npm:dx-systemjs-vue-browser@1.1.1/index.js', 'demo-ts-loader': 'root:utils/demo-ts-loader.js', 'svg-loader': 'root:utils/svg-loader.js', 'mitt': 'npm:mitt/dist/mitt.umd.js', 'rrule': 'npm:rrule@2.6.4/dist/es5/rrule.js', 'luxon': 'npm:luxon@1.28.1/build/global/luxon.min.js', 'es6-object-assign': 'npm:es6-object-assign@1.1.0', 'devextreme': 'npm:devextreme@23.2.5/cjs', 'devextreme-vue': 'npm:devextreme-vue@23.2.5/cjs', 'jszip': 'npm:jszip@3.10.1/dist/jszip.min.js', 'devextreme-quill': 'npm:devextreme-quill@1.6.4/dist/dx-quill.min.js', 'devexpress-diagram': 'npm:devexpress-diagram@2.2.5/dist/dx-diagram.js', 'devexpress-gantt': 'npm:devexpress-gantt@4.1.51/dist/dx-gantt.js', '@devextreme/runtime': 'npm:@devextreme/runtime@3.0.12', 'inferno': 'npm:inferno@7.4.11/dist/inferno.min.js', 'inferno-compat': 'npm:inferno-compat/dist/inferno-compat.min.js', 'inferno-create-element': 'npm:inferno-create-element@7.4.11/dist/inferno-create-element.min.js', 'inferno-dom': 'npm:inferno-dom/dist/inferno-dom.min.js', 'inferno-hydrate': 'npm:inferno-hydrate@7.4.11/dist/inferno-hydrate.min.js', 'inferno-clone-vnode': 'npm:inferno-clone-vnode/dist/inferno-clone-vnode.min.js', 'inferno-create-class': 'npm:inferno-create-class/dist/inferno-create-class.min.js', 'inferno-extras': 'npm:inferno-extras/dist/inferno-extras.min.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', // Prettier 'prettier/standalone': 'npm:prettier@2.8.4/standalone.js', 'prettier/parser-html': 'npm:prettier@2.8.4/parser-html.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', }, }, packageConfigPaths: [ 'npm:@devextreme/*/package.json', 'npm:@devextreme/runtime@3.0.12/inferno/package.json', ], babelOptions: { sourceMaps: false, stage0: true, }, }; System.config(window.config);
export const inflationData = [{ date: new Date(2010, 0, 1), val2010: 1.63, val2011: 2.63, }, { date: new Date(2010, 1, 1), val2010: 2.11, val2011: 2.14, }, { date: new Date(2010, 2, 1), val2010: 2.68, val2011: 2.31, }, { date: new Date(2010, 3, 1), val2010: 3.16, val2011: 2.24, }, { date: new Date(2010, 4, 1), val2010: 3.57, val2011: 2.02, }, { date: new Date(2010, 5, 1), val2010: 3.56, val2011: 1.05, }, { date: new Date(2010, 6, 1), val2010: 3.63, val2011: 1.24, }, { date: new Date(2010, 7, 1), val2010: 3.77, val2011: 1.15, }, { date: new Date(2010, 8, 1), val2010: 3.87, val2011: 1.14, }, { date: new Date(2010, 9, 1), val2010: 3.53, val2011: 1.17, }, { date: new Date(2010, 10, 1), val2010: 3.39, val2011: 1.14, }, { date: new Date(2010, 11, 1), val2010: 2.96, val2011: 1.50, }];
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="https://cdn3.devexpress.com/jslib/23.2.5/css/dx.light.css" /> <script src="https://unpkg.com/typescript@4.2.4/lib/typescript.js"></script> <script type="module"> import * as vueCompilerSFC from "https://unpkg.com/@vue/compiler-sfc@3.3.4/dist/compiler-sfc.esm-browser.js"; window.vueCompilerSFC = vueCompilerSFC; </script> <script src="https://unpkg.com/core-js@2.6.12/client/shim.min.js"></script> <script src="https://unpkg.com/systemjs@0.21.3/dist/system.js"></script> <script type="text/javascript" src="config.js"></script> <script type="text/javascript"> System.import("./index.ts"); </script> </head> <body class="dx-viewport"> <div class="demo-container"> <div id="app"> </div> </div> </body> </html>