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
<dx-polar-chart id="radarChart" [dataSource]="temperaturesData" title="Average temperature in London"> <dxo-common-series-settings type="bar" [opacity]="0.75"> </dxo-common-series-settings> <dxi-series valueField="day" name="Day" color="#fdff5e"> </dxi-series> <dxi-series valueField="night" name="Night" color="#0f3b59"> </dxi-series> <dxo-common-annotation-settings type="text" [opacity]="0.7" [arrowLength]="0"> </dxo-common-annotation-settings> <dxi-annotation text="WINTER" [angle]="45" [radius]="180"> </dxi-annotation> <dxi-annotation text="SPRING" [angle]="135" [radius]="180"> </dxi-annotation> <dxi-annotation text="SUMMER" [angle]="225" [radius]="180"> </dxi-annotation> <dxi-annotation text="FALL" [angle]="315" [radius]="180"> </dxi-annotation> <dxi-annotation [argument]="maxDay.arg" series="Day" text="Highest temperature: {{maxDay.day}} °C" [opacity]="1" [offsetX]="105" [paddingTopBottom]="15" [paddingLeftRight]="15"> </dxi-annotation> <dxi-annotation [argument]="minNight.arg" series="Night" text="Lowest temperature: {{minNight.night}} °C" [opacity]="1" [offsetX]="105" [paddingTopBottom]="15" [paddingLeftRight]="15"> </dxi-annotation> <dxo-argument-axis> <dxi-strip startValue="December" endValue="February" color="#0076d1"> </dxi-strip> <dxi-strip startValue="March" endValue="May" color="#3ca3b0"> </dxi-strip> <dxi-strip startValue="June" endValue="August" color="#3fbc1e"> </dxi-strip> <dxi-strip startValue="September" endValue="November" color="#f0bb00"> </dxi-strip> </dxo-argument-axis> <dxo-legend horizontalAlignment="center" verticalAlignment="bottom"> </dxo-legend> </dx-polar-chart>
import { NgModule, Component, enableProdMode } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { DxPolarChartModule } from 'devextreme-angular'; import { Temperature, Service } from './app.service'; if(!/localhost/.test(document.location.host)) { enableProdMode(); } @Component({ selector: 'demo-app', templateUrl: 'app/app.component.html', styleUrls: ['app/app.component.css'], providers: [Service] }) export class AppComponent { temperaturesData: Temperature[]; maxDay: any; minNight: any; constructor(service: Service) { this.temperaturesData = service.getTemperaturesData(); this.maxDay = this.temperaturesData.reduce((prev, current) => prev.day >= current.day ? prev : current ); this.minNight = this.temperaturesData.reduce((prev, current) => prev.night <= current.night ? prev : current ); } } @NgModule({ imports: [ BrowserModule, DxPolarChartModule ], declarations: [AppComponent], bootstrap: [AppComponent] }) export class AppModule { } platformBrowserDynamic().bootstrapModule(AppModule);
::ng-deep #radarChart { height: 600px; }
import { Injectable } from '@angular/core'; export class Temperature { arg: string; day: number; night: number; } let temperaturesData: Temperature[] = [{ 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 }]; @Injectable() export class Service { getTemperaturesData(): Temperature[] { return temperaturesData; } }
// In real applications, you should not transpile code in the browser. You can see how to create your own application with Angular and DevExtreme here: // https://js.devexpress.com/Documentation/Guide/Angular_Components/Getting_Started/Create_a_DevExtreme_Application/ System.config({ transpiler: 'ts', typescriptOptions: { module: "system", emitDecoratorMetadata: true, experimentalDecorators: true }, meta: { 'typescript': { "exports": "ts" }, }, paths: { 'npm:': 'https://unpkg.com/' }, map: { 'ts': 'npm:plugin-typescript@8.0.0/lib/plugin.js', 'typescript': 'npm:typescript@3.4.5/lib/typescript.js', '@angular': 'npm:@angular', 'tslib': 'npm:tslib/tslib.js', 'rxjs': 'npm:rxjs', 'devextreme': 'npm:devextreme@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', 'devextreme-angular': 'npm:devextreme-angular@20.1' }, packages: { 'app': { main: './app.component.ts', defaultExtension: 'ts' }, 'devextreme': { defaultExtension: 'js' }, 'devextreme/events/utils': { main: 'index' }, 'devextreme/events': { main: 'index' }, }, packageConfigPaths: [ "npm:*/package.json", "npm:@angular/*/package.json", "npm:@angular/common/*/package.json", "npm:rxjs/operators/package.json", "npm:devextreme-angular@20.1/*/package.json", "npm:devextreme-angular@20.1/ui/*/package.json", ] });
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <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" /> <script src="https://unpkg.com/core-js@2.4.1/client/shim.min.js"></script> <script src="https://unpkg.com/zone.js@0.10.2/dist/zone.js"></script> <script src="https://unpkg.com/reflect-metadata@0.1.3/Reflect.js"></script> <script src="https://unpkg.com/systemjs@0.21.3/dist/system.js"></script> <script src="config.js"></script> <script> System.import('app').catch(console.error.bind(console)); </script> </head> <body class="dx-viewport"> <div class="demo-container"> <demo-app>Loading...</demo-app> </div> </body> </html>