Vue LinearGauge - Customize Appearance
You can use the following properties to colorize gauge elements:
You can also add a custom pattern or gradient fill to the elements. Use the registerPattern() or registerGradient() method to create a custom pattern or gradient.
The following example adds a gradient to one of the ranges in a gauge:
jQuery
index.js
const registerGradient = DevExpress.common.charts.registerGradient; $(function(){ $("#linearGaugeContainer").dxLinearGauge({ // ... rangeContainer: { // ... rangeContainer: { ranges: [ { startValue: 0, endValue: 50, color: '#92000A' }, { startValue: 50, endValue: 100, color: { fillId: registerGradient("linear", { colors: [{ offset: "20%", color: "#97c95c" }, { offset: "90%", color: "#eb3573" }] }) } } ] } } }); });
Angular
app.component.html
app.component.ts
<dx-linear-gauge ... > <dxo-range-container ... > <dxi-range [startValue]="0" [endValue]="50" color="#92000A"></dxi-range> <dxi-range [startValue]="50" [endValue]="100" [color]="fill"> </dxo-range-container> </dx-linear-gauge>
import { registerGradient } from "devextreme/common/charts"; export class AppComponent { // ... fill = { fillId: registerGradient("linear", { colors: [{ offset: "20%", color: "#97c95c" }, { offset: "90%", color: "#eb3573" }] }); }; }
Vue
App.vue (Options API)
App.vue (Composition API)
<template> <DxLinearGauge ... > <DxRangeContainer ... > <DxRange :start-value="0" :end-value="50" color="#92000A" /> <DxRange :start-value="50" :end-value="100" :color="fill" /> </DxRangeContainer> </DxLinearGauge> </template> <script> import DxLinearGauge, { DxRangeContainer, DxRange } from 'devextreme-vue/linear-gauge'; import { registerGradient } from 'devextreme/common/charts'; // ... export default { components: { DxLinearGauge, DxRangeContainer, DxRange }, data() { return { // ... fill: { fillId: registerGradient("linear", { colors: [{ offset: "20%", color: "#97c95c" }, { offset: "90%", color: "#eb3573" }] }); } } } } </script>
<template> <DxLinearGauge ... > <DxRangeContainer ... > <DxRange :start-value="0" :end-value="50" color="#92000A" /> <DxRange :start-value="50" :end-value="100" :color="fill" /> </DxRangeContainer> </DxLinearGauge> </template> <script setup> import DxLinearGauge, { DxRangeContainer, DxRange } from 'devextreme-vue/linear-gauge'; import { registerGradient } from 'devextreme/common/charts'; // ... const fill = { fillId: registerGradient("linear", { colors: [{ offset: "20%", color: "#97c95c" }, { offset: "90%", color: "#eb3573" }] }); }; </script>
React
App.js
import React from 'react'; import LinearGauge, { RangeContainer, Range } from 'devextreme-react/linear-gauge'; import { registerGradient } from 'devextreme/common/charts'; // ... const fill = { fillId: registerGradient("linear", { colors: [{ offset: "20%", color: "#97c95c" }, { offset: "90%", color: "#eb3573" }] }); }; export default function App() { return ( <LinearGauge ... > <RangeContainer ... > <Range startValue={0} endValue={50} color="#92000A" /> <Range startValue={50} endValue={100} color={fill} /> </RangeContainer> </LinearGauge> ); }
Feel free to share topic-related thoughts here.
If you have technical questions, please create a support ticket in the DevExpress Support Center.
Thank you for the feedback!
If you have technical questions, please create a support ticket in the DevExpress Support Center.