Your search did not match any results.
Charts

Line

Documentation
Line chart series types help visualize data trends over specified intervals. In this example, you can switch between the line, stacked line and full-stacked line series types. Stacked line series help visualize multiple series and compare the manner in which each series contributes to the total aggregate value for specific arguments. Full-stacked line series help compare the percentage value of multiple line series for each argument.
Apply
Reset
<div id="chart-demo"> <dx-chart palette="violet" [dataSource]="countriesInfo"> <dxi-series *ngFor="let energy of energySources" [valueField]="energy.value" [name]="energy.name"> </dxi-series> <dxo-common-series-settings #seriesSettings argumentField="country" [type]="types[0]"> </dxo-common-series-settings> <dxo-margin [bottom]="20"></dxo-margin> <dxo-argument-axis [valueMarginsEnabled]="false" discreteAxisDivisionMode="crossLabels"> <dxo-grid [visible]="true"></dxo-grid> </dxo-argument-axis> <dxo-legend verticalAlignment="bottom" horizontalAlignment="center" itemTextPosition="bottom"> </dxo-legend> <dxo-title text="Energy Consumption in 2004"> <dxo-subtitle text="(Millions of Tons, Oil Equivalent)"> </dxo-subtitle> </dxo-title> <dxo-export [enabled]="true"></dxo-export> <dxo-tooltip [enabled]="true" [customizeTooltip]="customizeTooltip"> </dxo-tooltip> </dx-chart> <div class="options"> <div class="caption">Options</div> <div class="option"> <span>Series Type</span> <dx-select-box [dataSource]="types" [(value)]="seriesSettings.type"> </dx-select-box> </div> </div> </div>
import { NgModule, Component } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { DxChartModule, DxSelectBoxModule } from 'devextreme-angular'; import { CountryInfo, EnergyDescription, Service } from './app.service'; @Component({ selector: 'demo-app', templateUrl: 'app/app.component.html', styleUrls: ['app/app.component.css'], providers: [Service] }) export class AppComponent { types: string[] = ["line", "stackedline", "fullstackedline"]; countriesInfo: CountryInfo[]; energySources: EnergyDescription[]; constructor(service: Service) { this.countriesInfo = service.getCountriesInfo(); this.energySources = service.getEnergySources(); } customizeTooltip(arg) { return { text: arg.valueText } } } @NgModule({ imports: [ BrowserModule, DxChartModule, DxSelectBoxModule ], declarations: [AppComponent], bootstrap: [AppComponent] }) export class AppModule { } platformBrowserDynamic().bootstrapModule(AppModule);
/deep/ .options { padding: 20px; background-color: #f5f5f5; margin-top: 20px; } /deep/ .option { margin-top: 10px; } /deep/ .caption { font-size: 18px; font-weight: 500; } /deep/ .option > span { margin-right: 10px; } /deep/ .option > .dx-widget { display: inline-block; vertical-align: middle; }
import { Injectable } from '@angular/core'; export class CountryInfo { country: string; hydro: number; oil: number; gas: number; coal: number; nuclear: number; } export class EnergyDescription { value: string; name: string; } let energySources: EnergyDescription[] = [ { value: "hydro", name: "Hydro-electric" }, { value: "oil", name: "Oil" }, { value: "gas", name: "Natural gas" }, { value: "coal", name: "Coal" }, { value: "nuclear", name: "Nuclear" } ]; let countriesInfo: CountryInfo[] = [{ country: "USA", hydro: 59.8, oil: 937.6, gas: 582, coal: 564.3, nuclear: 187.9 }, { country: "China", hydro: 74.2, oil: 308.6, gas: 35.1, coal: 956.9, nuclear: 11.3 }, { country: "Russia", hydro: 40, oil: 128.5, gas: 361.8, coal: 105, nuclear: 32.4 }, { country: "Japan", hydro: 22.6, oil: 241.5, gas: 64.9, coal: 120.8, nuclear: 64.8 }, { country: "India", hydro: 19, oil: 119.3, gas: 28.9, coal: 204.8, nuclear: 3.8 }, { country: "Germany", hydro: 6.1, oil: 123.6, gas: 77.3, coal: 85.7, nuclear: 37.8 }]; @Injectable() export class Service { getEnergySources(): EnergyDescription[] { return energySources; } getCountriesInfo(): CountryInfo[] { return countriesInfo; } }
// In real applications, you should not transpile code in the browser. You can see how to create your own application with Angular 2 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.1', 'jquery': 'npm:jquery@3.1.1/dist/jquery.min.js', 'jszip': 'npm:jszip@3.1.3/dist/jszip.min.js', 'devextreme-angular': 'npm:devextreme-angular@17.1' }, 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.1.3/css/dx.spa.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/17.1.3/css/dx.common.css" /> <link rel="dx-theme" data-theme="generic.light" href="https://cdn3.devexpress.com/jslib/17.1.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>