Beautiful, reactive, responsive charts for Angular.JS using Chart.js. Demo
bower install angular-chart.js --save
or copy the files from dist/
.
There are 6 types of charts so 6 directives: chart-line
, chart-bar
, chart-radar
, chart-pie
, chart-polar-area
, chart-doughnut
.
They all use mostly the same API:
data
: series datalabels
: x axis labels (line, bar, radar) or series labels (pie, doughnut, polar area)options
: chart options (as from Chart.js documentation)series
: (default:[]
): series labels (line, bar, radar)colours
: data colours (will use default colours if not specified)click
: onclick event handler (line, radar)legend
: (default:false
): show legend below the chart
There is another directive chart-base
that takes an extra attribute chart-type
to define the type
dynamically.
<canvas id="line" class="chart chart-line" data="data" labels="labels" legend="true" series="series" click="onClick"></canvas>
angular.module("app", ["angular-chartjs"]).controller("LineCtrl", ['$scope', '$timeout', function ($scope, $timeout) {
$scope.labels = ["January", "February", "March", "April", "May", "June", "July"];
$scope.series = ['Series A', 'Series B'];
$scope.data = [
[65, 59, 80, 81, 56, 55, 40],
[28, 48, 40, 19, 86, 27, 90]
];
$scope.onClick = function (points, evt) {
console.log(points, evt);
};
// Simulate async data update
$timeout(function () {
$scope.data = [
[28, 48, 40, 19, 86, 27, 90],
[65, 59, 80, 81, 56, 55, 40]
];
}, 3000);
}]);