Your search did not match any results.
Sparkline Charts

Area Sparklines

Documentation

In this demo, a set of area-like sparklines is placed into a table. Although these sparklines look similar, they have different series types. The first table column contains sparklines of the area series type. In the second table column, spline area sparklines are placed. The third table column displays sparklines of the step area series type.

Copy to Plunker
Apply
Reset
<div class="long-title"><h3>Monthly Prices of Copper, Nickel and Palladium</h3></div> <div id="chart-demo"> <table class="demo-table" border="1"> <tr> <th></th> <th>Copper (USD/ton)</th> <th>Nickel (USD/ton)</th> <th>Palladium (USD/troy ounce)</th> </tr> <tr> <th>2010</th> <td> <dx-sparkline class="sparkline" [dataSource]="copperCosts" argumentField="month" valueField="2010" type="area" [showMinMax]="true"> <dxo-tooltip format="currency"></dxo-tooltip> </dx-sparkline> </td> <td> <dx-sparkline class="sparkline" [dataSource]="nickelCosts" argumentField="month" valueField="2010" type="splinearea" lineColor="#8076bb" minColor="#6babac" maxColor="#8076bb" [pointSize]="6" [showMinMax]="true" [showFirstLast]="false"> <dxo-tooltip format="currency"></dxo-tooltip> </dx-sparkline> </td> <td> <dx-sparkline class="sparkline" [dataSource]="palladiumCosts" argumentField="month" valueField="2010" type="steparea" lineColor="#7e4452" [lineWidth]="3" firstLastColor="#e55253" pointColor="#e8c267" pointSymbol="polygon"> <dxo-tooltip format="currency"></dxo-tooltip> </dx-sparkline> </td> </tr> <tr> <th>2011</th> <td> <dx-sparkline class="sparkline" [dataSource]="copperCosts" argumentField="month" valueField="2011" type="area" [showMinMax]="true"> <dxo-tooltip format="currency"></dxo-tooltip> </dx-sparkline> </td> <td> <dx-sparkline class="sparkline" [dataSource]="nickelCosts" argumentField="month" valueField="2011" type="splinearea" lineColor="#8076bb" minColor="#6babac" maxColor="#8076bb" [pointSize]="6" [showMinMax]="true" [showFirstLast]="false"> <dxo-tooltip format="currency"></dxo-tooltip> </dx-sparkline> </td> <td> <dx-sparkline class="sparkline" [dataSource]="palladiumCosts" argumentField="month" valueField="2011" type="steparea" lineColor="#7e4452" [lineWidth]="3" firstLastColor="#e55253" pointColor="#e8c267" pointSymbol="polygon"> <dxo-tooltip format="currency"></dxo-tooltip> </dx-sparkline> </td> </tr> <tr> <th>2012</th> <td> <dx-sparkline class="sparkline" [dataSource]="copperCosts" argumentField="month" valueField="2012" type="area" [showMinMax]="true"> <dxo-tooltip format="currency"></dxo-tooltip> </dx-sparkline> </td> <td> <dx-sparkline class="sparkline" [dataSource]="nickelCosts" argumentField="month" valueField="2012" type="splinearea" lineColor="#8076bb" minColor="#6babac" maxColor="#8076bb" [pointSize]="6" [showMinMax]="true" [showFirstLast]="false"> <dxo-tooltip format="currency"></dxo-tooltip> </dx-sparkline> </td> <td> <dx-sparkline class="sparkline" [dataSource]="palladiumCosts" argumentField="month" valueField="2012" type="steparea" lineColor="#7e4452" [lineWidth]="3" firstLastColor="#e55253" pointColor="#e8c267" pointSymbol="polygon"> <dxo-tooltip format="currency"></dxo-tooltip> </dx-sparkline> </td> </tr> </table> </div>
import { NgModule, Component, enableProdMode } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { DxSparklineModule } from 'devextreme-angular'; import { CostInfo, 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 { copperCosts: CostInfo[]; nickelCosts: CostInfo[]; palladiumCosts: CostInfo[]; constructor(service: Service) { this.copperCosts = service.getCopperCosts(); this.nickelCosts = service.getNickelCosts(); this.palladiumCosts = service.getPalladiumCosts(); } } @NgModule({ imports: [ BrowserModule, DxSparklineModule ], declarations: [AppComponent], bootstrap: [AppComponent] }) export class AppModule { } platformBrowserDynamic().bootstrapModule(AppModule);
/deep/ #chart-demo { height: 440px; width: 100%; } /deep/ .demo-table { margin-top: 80px; width: 100%; border: 1px solid #c2c2c2; border-collapse: collapse; } /deep/ .demo-table th, /deep/ .demo-table td { font-weight: 400; width: 200px; padding: 25px 10px 5px 10px; border: 1px solid #e5e5e5; } /deep/ .demo-table th { padding: 25px 15px 20px 15px; border: 1px solid #c2c2c2; } /deep/ .demo-table tr:nth-child(2) td { border-top: 1px solid #c2c2c2; } /deep/ .demo-table td:first-of-type { border-left: 1px solid #c2c2c2; } /deep/ .demo-table .sparkline { width: 200px; height: 30px; } /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 CostInfo { month: number; 2010: number; 2011: number; 2012: number; } let copperCosts: CostInfo[] = [{ month: 1, 2010: 7341, 2011: 9585, 2012: 7501 }, { month: 2, 2010: 7016, 2011: 10026, 2012: 8470 }, { month: 3, 2010: 7202, 2011: 9889, 2012: 8591 }, { month: 4, 2010: 7851, 2011: 9460, 2012: 8459 }, { month: 5, 2010: 7481, 2011: 9373, 2012: 8320 }, { month: 6, 2010: 6532, 2011: 9108, 2012: 7465 }, { month: 7, 2010: 6498, 2011: 9295, 2012: 7475 }, { month: 8, 2010: 7191, 2011: 9834, 2012: 7430 }, { month: 9, 2010: 7596, 2011: 9121, 2012: 7614 }, { month: 10, 2010: 8057, 2011: 7125, 2012: 8245 }, { month: 11, 2010: 8373, 2011: 7871, 2012: 7727 }, { month: 12, 2010: 8636, 2011: 7725, 2012: 7880 }]; let nickelCosts: CostInfo[] = [{ month: 1, 2010: 18974, 2011: 24298, 2012: 18322 }, { month: 2, 2010: 18162, 2011: 27929, 2012: 21093 }, { month: 3, 2010: 20535, 2011: 28802, 2012: 19701 }, { month: 4, 2010: 24562, 2011: 26142, 2012: 17695 }, { month: 5, 2010: 26131, 2011: 26753, 2012: 17549 }, { month: 6, 2010: 19278, 2011: 23055, 2012: 16436 }, { month: 7, 2010: 19475, 2011: 22870, 2012: 16382 }, { month: 8, 2010: 20701, 2011: 24388, 2012: 15687 }, { month: 9, 2010: 21266, 2011: 21845, 2012: 16085 }, { month: 10, 2010: 23358, 2011: 18346, 2012: 18250 }, { month: 11, 2010: 23150, 2011: 18822, 2012: 16083 }, { month: 12, 2010: 23282, 2011: 17320, 2012: 17104 }]; let palladiumCosts: CostInfo[] = [{ month: 1, 2010: 398, 2011: 788, 2012: 649 }, { month: 2, 2010: 422, 2011: 817, 2012: 698 }, { month: 3, 2010: 431, 2011: 812, 2012: 713 }, { month: 4, 2010: 481, 2011: 760, 2012: 654 }, { month: 5, 2010: 551, 2011: 774, 2012: 665 }, { month: 6, 2010: 449, 2011: 775, 2012: 609 }, { month: 7, 2010: 442, 2011: 750, 2012: 584 }, { month: 8, 2010: 482, 2011: 827, 2012: 580 }, { month: 9, 2010: 517, 2011: 776, 2012: 632 }, { month: 10, 2010: 566, 2011: 624, 2012: 657 }, { month: 11, 2010: 630, 2011: 651, 2012: 601 }, { month: 12, 2010: 737, 2011: 615, 2012: 675 }]; @Injectable() export class Service { getCopperCosts(): CostInfo[] { return copperCosts; } getNickelCosts(): CostInfo[] { return nickelCosts; } getPalladiumCosts(): CostInfo[] { return palladiumCosts; } }
// 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>