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

Base Value for Range Bar


By default, the RangeBar starts from the beginning of the LinerGauge scale. This demo illustrates how to use the baseValue option to specify the scale value from which the RangeBar should be drawn.

Copy to CodeSandBox
import React from 'react'; import { CircularGauge, Geometry, Scale, Label, ValueIndicator } from 'devextreme-react/circular-gauge'; import { LinearGauge, Geometry as LinearGaugeGeometry, Scale as LinearGaugeScale, Label as LinearGaugeLabel, ValueIndicator as LinearValueIndicator } from 'devextreme-react/linear-gauge'; class App extends React.Component { render() { return ( <div> <div className="long-title"> <h3>Deviation from the Target (Horizontal and Vertical)</h3> </div> <div id="gauge-demo"> <CircularGauge id="c1" value={20} > <Geometry startAngle={135} endAngle={45} /> <Scale startValue={45} endValue={-45} tickInterval={45}> <Label customizeText={this.customizeText} /> </Scale> <ValueIndicator baseValue={0} type="rangebar" /> </CircularGauge> <LinearGauge id="c2" value={-10} > <LinearGaugeGeometry orientation="vertical" /> <LinearGaugeScale startValue={-45} endValue={45} tickInterval={45}> <LinearGaugeLabel customizeText={this.customizeText} /> </LinearGaugeScale> <LinearValueIndicator baseValue={0} /> </LinearGauge> </div> </div> ); } customizeText({ valueText }) { return `${ valueText }°`; } } export default App;
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.js'; ReactDOM.render( <App />, document.getElementById('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="dx-theme" data-theme="generic.light" href="" /> <link rel="stylesheet" type ="text/css" href="styles.css" /> <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>
#gauge-demo { height: 440px; width: 100%; } #c1 { width: 70%; height: 100%; float: left; } #c2 { width: 30%; height: 100%; float: left; } .long-title h3 { font-family: 'Segoe UI Light', 'Helvetica Neue Light', 'Segoe UI', 'Helvetica Neue', 'Trebuchet MS', Verdana; font-weight: 200; font-size: 28px; text-align: center; margin-bottom: 20px; }
System.config({ transpiler: 'plugin-babel', meta: { }, paths: { 'npm:': '' }, defaultExtension: 'js', map: { 'react': 'npm:react@16.14.0/umd/react.development.js', 'react-dom': 'npm:react-dom@16.14.0/umd/react-dom.development.js', 'prop-types': 'npm:prop-types@15.7.2/prop-types.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.4', 'devextreme-react': 'npm:devextreme-react@20.2.4', 'jszip': 'npm:jszip@3.5.0/dist/jszip.min.js', 'devextreme-quill': 'npm:devextreme-quill@0.9.7/dist/dx-quill.min.js', 'devexpress-diagram': 'npm:devexpress-diagram@2.0.5/dist/dx-diagram.js', 'devexpress-gantt': 'npm:devexpress-gantt@2.0.8/dist/dx-gantt.js', 'preact': 'npm:preact@10.5.7/dist/preact.js', 'preact/hooks': 'npm:preact@10.5.7/hooks/dist/hooks.js', // SystemJS plugins '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': { defaultExtension: 'js' }, 'devextreme-react': { main: 'index.js' }, 'devextreme/events/utils': { main: 'index' }, 'devextreme/events': { main: 'index' }, 'es6-object-assign': { main: './index.js', defaultExtension: 'js' } }, babelOptions: { sourceMaps: false, stage0: true, react: true } });