Your search did not match any results.
Polar and Radar Charts

Polar Chart with Annotations

Annotations are images and text blocks that provide additional information about the visualized data.

To configure annotations, assign an array of objects to the annotations option. To specify settings for all annotations, use the commonAnnotationSettings object. Individual settings take precedence over common settings.

Each annotation's type attribute should be set to "text" or "image". In this demo, all annotations have the "text" type.

Annotations can be added at specific coordinates or anchored to a PolarChart element. This demo illustrates annotation placement:

For more information on annotation settings, refer to the annotations[] documentation section.

www.weather.com
Copy to CodeSandBox
Apply
Reset
import React from 'react'; import { PolarChart, CommonSeriesSettings, Series, CommonAnnotationSettings, Annotation, ArgumentAxis, Strip, Legend } from 'devextreme-react/polar-chart'; import { dataSource, maxDay, minNight } from './data.js'; class App extends React.Component { constructor(props) { super(props); this.maxTempText = `Highest temperature: ${maxDay.day} °C`; this.minTempText = `Lowest temperature: ${minNight.night} °C`; } render() { return ( <PolarChart id="radarChart" dataSource={dataSource} title="Average temperature in London" > <CommonSeriesSettings type="bar" opacity={0.75} /> <Series valueField="day" name="Day" color="#fdff5e" /> <Series valueField="night" name="Night" color="#0f3b59" /> <CommonAnnotationSettings opacity={0.7} arrowLength={0} type="text" /> <Annotation angle={45} radius={180} text="WINTER" /> <Annotation angle={135} radius={180} text="SPRING" /> <Annotation angle={225} radius={180} text="SUMMER" /> <Annotation angle={315} radius={180} text="FALL" /> <Annotation argument={maxDay.arg} opacity={1} offsetX={105} paddingTopBottom={15} paddingLeftRight={15} text={this.maxTempText} series="Day" /> <Annotation argument={minNight.arg} opacity={1} offsetX={105} paddingTopBottom={15} paddingLeftRight={15} text={this.minTempText} series="Night" /> <ArgumentAxis> <Strip startValue="December" endValue="February" color="#0076d1"> </Strip> <Strip startValue="March" endValue="May" color="#3ca3b0"> </Strip> <Strip startValue="June" endValue="August" color="#3fbc1e"> </Strip> <Strip startValue="September" endValue="November" color="#f0bb00"> </Strip> </ArgumentAxis> <Legend horizontalAlignment="center" verticalAlignment="bottom" /> </PolarChart> ); } } 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="https://cdn3.devexpress.com/jslib/20.1.8/css/dx.common.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/20.1.8/css/dx.light.css" /> <link rel="stylesheet" type="text/css" href="styles.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>
#radarChart { height: 600px; }
export const dataSource = [{ arg: 'December', day: 7, night: 3 }, { arg: 'January', day: 6, night: 2 }, { arg: 'February', day: 7, night: 3 }, { arg: 'March', day: 10, night: 3 }, { arg: 'April', day: 14, night: 5 }, { arg: 'May', day: 18, night: 8 }, { arg: 'June', day: 21, night: 11 }, { arg: 'July', day: 22, night: 13 }, { arg: 'August', day: 21, night: 13 }, { arg: 'September', day: 19, night: 11 }, { arg: 'October', day: 15, night: 8 }, { arg: 'November', day: 10, night: 4 }]; export const maxDay = dataSource.reduce((prev, current) => prev.day >= current.day ? prev : current ); export const minNight = dataSource.reduce((prev, current) => prev.day <= current.day ? prev : current );
System.config({ transpiler: 'plugin-babel', meta: { }, paths: { 'npm:': 'https://unpkg.com/' }, defaultExtension: 'js', map: { 'react': 'npm:react@16/umd/react.development.js', 'react-dom': 'npm:react-dom@16/umd/react-dom.development.js', 'prop-types': 'npm:prop-types/prop-types.js', 'devextreme': 'npm:devextreme@20.1', 'devextreme-react': 'npm:devextreme-react@20.1', 'jszip': 'npm:jszip@3.1.3/dist/jszip.min.js', 'quill': 'npm:quill@1.3.7/dist/quill.js', 'devexpress-diagram': 'npm:devexpress-diagram@1.0.17', 'devexpress-gantt': 'npm:devexpress-gantt@1.0.10', // SystemJS plugins 'plugin-babel': 'npm:systemjs-plugin-babel@0/plugin-babel.js', 'systemjs-babel-build': 'npm:systemjs-plugin-babel@0/systemjs-babel-browser.js' }, packages: { 'devextreme': { defaultExtension: 'js' }, 'devextreme-react': { main: 'index.js' }, 'devextreme/events/utils': { main: 'index' }, 'devextreme/events': { main: 'index' }, }, babelOptions: { sourceMaps: false, stage0: true, react: true } });