Description
Beautiful charts for Angular2 based on Chart.js
NPM
Install ng2-charts using npm
ng2-charts
npm install ng2-charts --save
Dependencies
No Dependencies for this module.
Charts Module
Add ChartsModule
into your ChartsNg2Module
class.
charts.module.ts
would look like this
import {NgModule} from '@angular/core';
import { ChartsModule } from 'ng2-charts';
import { ChartjsComponent } from "./chartjs/chartjs.component";
@NgModule({
imports: [ChartsModule],
declarations: [ChartjsComponent],
providers: [ ],
})
export class ChartsNg2Module {
}
Chartjs Components
import chartjs
data file from shared folder in ChartjsComponent
class.
chartjs.component.ts
would look like this
import { Component } from '@angular/core';
import * as chartsData from '../../shared/data/chartjs';
@Component({
selector: 'app-chartjs',
templateUrl: './chartjs.component.html'
})
export class ChartjsComponent {
// lineChart
public lineChartData = chartsData.lineChartData;
public lineChartLabels = chartsData.lineChartLabels;
public lineChartOptions = chartsData.lineChartOptions;
public lineChartColors = chartsData.lineChartColors;
public lineChartLegend = chartsData.lineChartLegend;
public lineChartType = chartsData.lineChartType;
// events
public chartClicked(e: any): void {
console.log(e);
}
public chartHovered(e: any): void {
console.log(e);
}
}
Chartjs Markup
chartjs.component.html
would look like this
<canvas id="bar-line1" height="400" baseChart class="chart" [datasets]="lineChartData" [labels]="lineChartLabels" [options]="lineChartOptions" [colors]="lineChartColors"
[legend]="lineChartLegend" [chartType]="lineChartType" (chartHover)="chartHovered($event)" (chartClick)="chartClicked($event)" > </canvas>
chartjs Data
chartjs.ts
would look like this
export var lineChartData: Array = [
{ data: [28, 48, 50, 70, 40, 20, 30], label: 'Series A' },
{ data: [18, 48, 77, 9, 100, 27, 40], label: 'Series B' }
];
export var lineChartLabels: Array = ['January', 'February', 'March', 'April', 'May', 'June', 'July'];
export var lineChartOptions: any = {
animation: false,
responsive: true,
maintainAspectRatio: false
};
export var lineChartColors: Array = [
{
backgroundColor: 'rgba(255, 141, 96, 0.8)',
borderColor: 'rgba(148,159,177,1)',
pointBackgroundColor: 'rgba(148,159,177,1)',
pointBorderColor: '#fff',
pointHoverBackgroundColor: '#fff',
pointHoverBorderColor: 'rgba(148,159,177,0.8)'
},
{
backgroundColor: 'rgba(0, 157, 160, 0.8)',
borderColor: 'rgba(148,159,177,1)',
pointBackgroundColor: 'rgba(148,159,177,1)',
pointBorderColor: '#fff',
pointHoverBackgroundColor: '#fff',
pointHoverBorderColor: 'rgba(148,159,177,0.8)'
},
];
export var lineChartLegend = true;
export var lineChartType = 'line';
Refer following links for usage:
Type | URL |
---|---|
Plugin Github Page | https://github.com/valor-software/ng2-charts |
Template Page | https://demos.pixinvent.com/apex-angular-admin-template/demo-1/charts/chartjs |