Help us shape the 2021 DevExtreme Roadmap. Take our 5 minute survey.
Dismiss
Your search did not match any results.
Charts

Strips

Documentation

The Chart can display background strips that highlight value ranges.

To configure strips, declare an array of objects in the argumentAxis.strips[] or valueAxis.strips[] property. Each object in this array configures an individual strip. The startValue and endValue properties define the highlighted range.

This demo shows two value axis strips. The code configures label's text and font.color properties for each strip.

You can specify the same appearance for all strips on a specific axis or in the Chart. To do this, declare the stripStyle object in the valueAxis, argumentAxis, or commonAxisSettings object. Individual settings override common settings. In this demo, we use the stripStyle object to specify the font weight and size for all strip labels on the value axis.

Copy to CodeSandBox
Apply
Reset
<template> <DxChart id="chart" :customize-point="customizePoint" :customize-label="customizeLabel" :data-source="dataSource" title="Temperature in September" > <DxSeries argument-field="day" value-field="temperature" type="spline" color="#a3aaaa" /> <DxValueAxis> <DxLabel :customize-text="customizeText"/> <DxStrip :start-value="highAverage" color="rgba(255,155,85,0.15)" > <DxLabel text="Above average"> <DxFont :color="highAverageColor"/> </DxLabel> </DxStrip> <DxStrip :end-value="lowAverage" color="rgba(97,153,230,0.10)" > <DxLabel text="Below average"> <DxFont :color="lowAverageColor"/> </DxLabel> </DxStrip> <DxStripStyle> <DxLabel> <DxFont :weight="500" :size="14" /> </DxLabel> </DxStripStyle> </DxValueAxis> <DxLegend :visible="false"/> <DxExport :enabled="true"/> </DxChart> </template> <script> import { DxChart, DxSeries, DxStrip, DxStripStyle, DxValueAxis, DxLabel, DxLegend, DxExport, DxFont } from 'devextreme-vue/chart'; import { temperaturesData, highAverage, lowAverage } from './data.js'; export default { components: { DxChart, DxSeries, DxStrip, DxStripStyle, DxValueAxis, DxLabel, DxLegend, DxExport, DxFont }, data() { return { highAverage, lowAverage, highAverageColor: '#ff9b52', lowAverageColor: '#6199e6', dataSource: temperaturesData, }; }, methods: { customizePoint(arg) { if (arg.value > this.highAverage) { return { color: this.highAverageColor }; } else if (arg.value < this.lowAverage) { return { color: this.lowAverageColor }; } }, customizeLabel(arg) { if (arg.value > this.highAverage) { return this.getLabelsSettings(this.highAverageColor); } else if (arg.value < this.lowAverage) { return this.getLabelsSettings(this.lowAverageColor); } }, getLabelsSettings(backgroundColor) { return { visible: true, backgroundColor: backgroundColor, customizeText: this.customizeText, }; }, customizeText: (arg) => `${arg.valueText}&#176F` }, }; </script> <style> #chart { height: 440px; } </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="https://cdn3.devexpress.com/jslib/20.2.5/css/dx.common.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/20.2.5/css/dx.light.css" /> <script src="https://unpkg.com/core-js@2.4.1/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.js'); </script> </head> <body class="dx-viewport"> <div class="demo-container"> <div id="app"> </div> </div> </body> </html>
export const temperaturesData = [ { temperature: 52, day: '1' }, { temperature: 57, day: '2' }, { temperature: 58, day: '3' }, { temperature: 56, day: '4' }, { temperature: 59, day: '5' }, { temperature: 59, day: '6' }, { temperature: 56, day: '7' }, { temperature: 62, day: '8' }, { temperature: 57, day: '9' }, { temperature: 54, day: '10' }, { temperature: 52, day: '11' }, { temperature: 58, day: '12' }, { temperature: 53, day: '13' }, { temperature: 54, day: '14' }, { temperature: 57, day: '15' }, { temperature: 61, day: '16' }, { temperature: 58, day: '17' }, { temperature: 63, day: '18' }, { temperature: 64, day: '19' }, { temperature: 52, day: '20' } ]; export const highAverage = 60.8; export const lowAverage = 53;
System.config({ transpiler: 'plugin-babel', meta: { '*.vue': { loader: 'vue-loader' }, 'devextreme/localization.js': { "esModule": true }, }, paths: { 'npm:': 'https://unpkg.com/' }, 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.25.0/build/global/luxon.min.js', 'es6-object-assign': 'npm:es6-object-assign@1.1.0', 'devextreme': 'npm:devextreme@20.2.5', 'devextreme-vue': 'npm:devextreme-vue@20.2.5', 'jszip': 'npm:jszip@3.5.0/dist/jszip.min.js', 'devextreme-quill': 'npm:devextreme-quill@0.9.8/dist/dx-quill.min.js', 'devexpress-diagram': 'npm:devexpress-diagram@2.0.11/dist/dx-diagram.js', 'devexpress-gantt': 'npm:devexpress-gantt@2.0.18/dist/dx-gantt.js', 'preact': 'npm:preact@10.5.11/dist/preact.js', 'preact/hooks': 'npm:preact@10.5.11/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 } });