Your search did not match any results.
Bar Charts

Customize Points and Labels

Documentation

This demo shows how you can customize individual points and labels in the Chart.

Copy to CodeSandBox
Apply
Reset
<template> <dx-chart id="chart" :customize-point="customizePoint" :customize-label="customizeLabel" :data-source="dataSource" title="Daily Temperature in May" > <dx-series argument-field="day" value-field="value" type="bar" color="#e7d19a" /> <dx-value-axis :max-value-margin="0.01"> <dx-visual-range :start-value="40"/> <dx-label :customize-text="customizeText"/> <dx-constant-line :width="2" :value="lowAverage" color="#8c8cff" dash-style="dash" > <dx-label text="Low Average"/> </dx-constant-line> <dx-constant-line :width="2" :value="highAverage" color="#ff7c7c" dash-style="dash" > <dx-label text="High Average"/> </dx-constant-line> </dx-value-axis> <dx-legend :visible="false"/> <dx-export :enabled="true"/> </dx-chart> </template> <script> import { DxChart, DxSeries, DxValueAxis, DxVisualRange, DxLabel, DxConstantLine, DxLegend, DxExport } from 'devextreme-vue/chart'; import { temperaturesData } from './data.js'; export default { components: { DxChart, DxSeries, DxValueAxis, DxVisualRange, DxLabel, DxConstantLine, DxLegend, DxExport }, data() { return { highAverage: 77, lowAverage: 58, dataSource: temperaturesData }; }, methods: { customizePoint(arg) { if (arg.value > this.highAverage) { return { color: '#ff7c7c', hoverStyle: { color: '#ff7c7c' } }; } else if (arg.value < this.lowAverage) { return { color: '#8c8cff', hoverStyle: { color: '#8c8cff' } }; } }, customizeLabel(arg) { if (arg.value > this.highAverage) { return { visible: true, backgroundColor: '#ff7c7c', customizeText: function(e) { return `${e.valueText }&#176F`; } }; } }, customizeText(arg) { return `${arg.valueText }&#176F`; } } }; </script> <style> #chart { height: 440px; width: 100%; } </style>
import Vue from 'vue'; import App from './App.vue'; new Vue({ el: '#app', components: { App }, template: '<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/19.1.4/css/dx.common.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.1.4/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"> <span v-if="false">Loading...</span> </div> </div> </body> </html>
export const temperaturesData = [{ day: '1', value: 57 }, { day: '2', value: 58 }, { day: '3', value: 57 }, { day: '4', value: 59 }, { day: '5', value: 63 }, { day: '6', value: 63 }, { day: '7', value: 63 }, { day: '8', value: 64 }, { day: '9', value: 64 }, { day: '10', value: 64 }, { day: '11', value: 69 }, { day: '12', value: 72 }, { day: '13', value: 75 }, { day: '14', value: 78 }, { day: '15', value: 76 }, { day: '16', value: 70 }, { day: '17', value: 65 }, { day: '18', value: 65 }, { day: '19', value: 68 }, { day: '20', value: 70 }, { day: '21', value: 73 }, { day: '22', value: 73 }, { day: '23', value: 75 }, { day: '24', value: 78 }, { day: '25', value: 76 }, { day: '26', value: 76 }, { day: '27', value: 80 }, { day: '28', value: 76 }, { day: '29', value: 75 }, { day: '30', value: 75 }, { day: '31', value: 74 }];
System.config({ transpiler: 'plugin-babel', paths: { 'npm:': 'https://unpkg.com/' }, map: { vue: 'npm:vue@2.6.3/dist/vue.esm.browser.js', 'vue-loader': 'npm:systemjs-vue-browser@latest/index.js', 'devextreme': 'npm:devextreme@19.1', 'devextreme-vue': 'npm:devextreme-vue@19.1', jszip: 'npm:jszip@3.1.3/dist/jszip.min.js', 'quill': 'npm:quill@1.3.6/dist/quill.js', 'devexpress-diagram': 'npm:devexpress-diagram', 'plugin-babel': 'npm:systemjs-plugin-babel@0/plugin-babel.js', 'systemjs-babel-build': 'npm:systemjs-plugin-babel@0/systemjs-babel-browser.js' }, meta: { '*.vue': { loader: 'vue-loader' } }, packages: { 'devextreme-vue': { main: 'index.js' }, 'devextreme': { defaultExtension: 'js' } }, babelOptions: { sourceMaps: false, stage0: true } });