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

Discrete Data

Documentation

This example demonstrates how to visualize discrete data using the PolarChart widget. Months in the data source form discrete categories that divide the PolarChart. In addition, you can spot the difference between series types. Use the drop-down menu below the PolarChart to change the applied series type.

www.weather.com
Copy to Plunker
Apply
Reset
<div class="long-title"> <h3>Average temperature in London</h3> </div> <div id="chart-demo"> <dx-polar-chart id="radarChart" [dataSource]="temperaturesData"> <dxi-series valueField="day" name="Day" color="#ba4d51"></dxi-series> <dxi-series valueField="night" name="Night" color="#5f8b95"></dxi-series> <dxo-common-series-settings #seriesSettings type="scatter"> </dxo-common-series-settings> <dxo-margin [top]="50" [bottom]="50" [left]="100"> </dxo-margin> </dx-polar-chart> <div class="center"> <div>Series Type</div>&nbsp; <dx-select-box [dataSource]="types" [(value)]="seriesSettings.type" [width]="200"> </dx-select-box> </div> </div>
import { NgModule, Component, enableProdMode } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { DxPolarChartModule, DxSelectBoxModule } 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[]; types = ["scatter", "line", "area", "bar", "stackedbar"]; constructor(service: Service) { this.temperaturesData = service.getTemperaturesData(); } } @NgModule({ imports: [ BrowserModule, DxPolarChartModule, DxSelectBoxModule ], declarations: [AppComponent], bootstrap: [AppComponent] }) export class AppModule { } platformBrowserDynamic().bootstrapModule(AppModule);
/deep/ #chart-demo { width: 100%; height: 600px; } /deep/ #radarChart { height: 500px; } /deep/ #chart-demo > .center { text-align: center; } /deep/ #chart-demo > .center > div, /deep/ #chart-demo > .center > .dx-widget { display: inline-block; vertical-align: middle; } /deep/ .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; }
import { Injectable } from '@angular/core'; export class Temperature { arg: string; day: number; night: number; } let temperaturesData: Temperature[] = [{ arg: "January", day: 6, night: 2 }, { arg: "February", day: 7, night: 2 }, { 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: 22, night: 13 }, { arg: "September", day: 19, night: 11 }, { arg: "October", day: 15, night: 8 }, { arg: "November", day: 10, night: 5 }, { arg: "December", day: 7, night: 3 }]; @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://github.com/DevExpress/devextreme-angular/blob/master/README.md System.config({ transpiler: 'ts', typescriptOptions: { module: "commonjs", emitDecoratorMetadata: true, experimentalDecorators: true }, meta: { 'typescript': { "exports": "ts" } }, paths: { 'npm:': 'https://unpkg.com/' }, map: { 'ts': 'npm:plugin-typescript@7.0.6/lib/plugin.js', 'typescript': 'npm:typescript@2.2.2/lib/typescript.js', '@angular/core': 'npm:@angular/core@4.1.0/bundles/core.umd.js', '@angular/common': 'npm:@angular/common@4.1.0/bundles/common.umd.js', '@angular/compiler': 'npm:@angular/compiler@4.1.0/bundles/compiler.umd.js', '@angular/platform-browser': 'npm:@angular/platform-browser@4.1.0/bundles/platform-browser.umd.js', '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic@4.1.0/bundles/platform-browser-dynamic.umd.js', '@angular/http': 'npm:@angular/http@4.1.0/bundles/http.umd.js', '@angular/router': 'npm:@angular/router@4.1.0/bundles/router.umd.js', '@angular/forms': 'npm:@angular/forms@4.1.0/bundles/forms.umd.js', 'rxjs': 'npm:rxjs@5.3.1', 'devextreme': 'npm:devextreme@17.2', 'jszip': 'npm:jszip@3.1.3/dist/jszip.min.js', 'jquery': 'npm:jquery@3.1.1/dist/jquery.min.js', 'devextreme-angular': 'npm:devextreme-angular@17.2' }, packages: { 'app': { main: './app.component.ts', defaultExtension: 'ts' }, 'devextreme': { defaultExtension: 'js' }, 'devextreme-angular': { main: 'index.js', defaultExtension: 'js' } } });
<!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/17.2.3/css/dx.spa.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/17.2.3/css/dx.common.css" /> <link rel="dx-theme" data-theme="generic.light" href="https://cdn3.devexpress.com/jslib/17.2.3/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.6.25/dist/zone.js"></script> <script src="https://unpkg.com/reflect-metadata@0.1.3/Reflect.js"></script> <script src="https://unpkg.com/systemjs@0.19.31/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>