willsoto / angular-chartist.js

Angular directive for Chartist.js
https://willsoto.github.io/angular-chartist.js/
MIT License
204 stars 41 forks source link
angular angularjs charting-library chartist charts

angular-chartist.js

Angular 1.x directive for Chartist.js

Looking for the Angular version?

Installation

Current

npm install angular-chartist.js chartist angular --save
yarn add angular-chartist.js chartist angular

Next

npm install angular-chartist.js@next chartist angular --save
yarn add angular-chartist.js@next chartist angular

Usage

Make sure you have loaded the necessary scripts in the correct order. Add angular-chartist as a module dependency, like so:

// >= 4.1
import angular from 'angular';
import angularChartist from 'angular-chartist.js';

angular.module('app', [angularChartist]);

In your HTML, add the chartist directive to any div or make it a custom element:

<chartist
  class="ct-chart"
  chartist-data="chartist.barData"
  chartist-chart-type="Bar"
></chartist>
Attribute Type Required
chartist-data Object Yes
chartist-chart-type String Yes
chartist-events* Object No
chartist-chart-options Object No
chartist-responsive-options Array No

Format for Chartist events:

{
  event: function eventHandler(obj) {
    // do stuff on event
  }
}

For the sorts of values these options accept, check out the Chartist.js docs

Using Plugins

Simply put the plugins array in the options object.

Example:

$scope.chartOptions = {
  plugins: [
    Chartist.plugins.ctPointLabels({
      textAnchor: 'middle'
    })
  ]
};

Issues?

This directive is simply a wrapper, anything you pass to the directive gets passed right through to the appropriate method on the Chartist side. Any issues with the charts, data, options, etc, should be filed against Chartist.js

Feel free to file an issue / PR if you feel that the directive can be improved in some way though.