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

Periodic Data


This example illustrates the visualization of periodic data. To notify the widget that data is periodic, the period option of the argumentAxis is specified.

Copy to CodeSandBox
<dx-polar-chart id="chart" title="Archimedean Spiral" [dataSource]="coordinates"> <dxi-series type="line" name="Function" [closed]="false"></dxi-series> <dxo-argument-axis [inverted]="true" [startAngle]="90" [tickInterval]="45" [period]="360"> </dxo-argument-axis> <dxo-export [enabled]="true"></dxo-export> <dxo-legend [visible]="false"></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 { Coordinate, Service } from './app.service'; if(!/localhost/.test( { enableProdMode(); } @Component({ selector: 'demo-app', templateUrl: 'app/app.component.html', styleUrls: ['app/app.component.css'], providers: [Service] }) export class AppComponent { coordinates: Coordinate[]; constructor(service: Service) { this.coordinates = service.getCoordinates(); } } @NgModule({ imports: [ BrowserModule, DxPolarChartModule ], declarations: [AppComponent], bootstrap: [AppComponent] }) export class AppModule { } platformBrowserDynamic().bootstrapModule(AppModule);
::ng-deep #chart { height: 440px; }
import { Injectable } from '@angular/core'; export class Coordinate { arg: number; val: number; } let coordinates: Coordinate[] = [{ arg: 0, val: 0 }, { arg: 720, val: 2 }]; @Injectable() export class Service { getCoordinates(): Coordinate[] { return coordinates; } }
// 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: // System.config({ transpiler: 'ts', typescriptOptions: { module: "system", emitDecoratorMetadata: true, experimentalDecorators: true }, meta: { 'typescript': { "exports": "ts" }, }, paths: { 'npm:': '' }, 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@19.2', 'jszip': 'npm:jszip@3.1.3/dist/jszip.min.js', 'quill': 'npm:quill@1.3.7/dist/quill.js', 'devexpress-diagram': 'npm:devexpress-diagram@0.1.54', 'devexpress-gantt': 'npm:devexpress-gantt@0.0.29', 'devextreme-angular': 'npm:devextreme-angular@19.2' }, packages: { 'app': { main: './app.component.ts', defaultExtension: 'ts' }, 'devextreme': { defaultExtension: 'js' }, }, packageConfigPaths: [ "npm:*/package.json", "npm:@angular/*/package.json", "npm:@angular/common/*/package.json", "npm:rxjs/operators/package.json", "npm:devextreme-angular@19.2/*/package.json", "npm:devextreme-angular@19.2/ui/*/package.json", ] });
<!DOCTYPE html> <html xmlns=""> <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="stylesheet" type="text/css" href="" /> <script src=""></script> <script src=""></script> <script src=""></script> <script src=""></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>