Chart using AngularJS - CanvasJS JavaScript Charts
Chart using AngularJS - CanvasJS JavaScript Charts
HTML
<script src="http://canvasjs.com/assets/script/canvasjs.min.js"></script>
<html ng-app="canvasjs">
<head>
<script src="https://code.jquery.com/jquery-3.1.1.min.js" crossorigin="anonymous"></script>
<script data-require="[email protected]" src="https://code.angularjs.org/1.4.12/angular.js" data-semver="1.4.9"></script>
<script src="http://canvasjs.com/assets/script/canvasjs.min.js"></script>
</head>
<body ng-controller="MainCtrl">
<p>{{name}}</p>
<div dynamic-element></div>
<div id='container'></div>
</body>
</html>
JavaScript
var app = angular.module('canvasjs', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'CanvasJS - AngularJS';
});
app.directive("dynamicElement", function($compile){
return{
link: function(scope, ele){
var dom = '<div id="chartContainer"></div>';
var compiled = $compile(dom)(scope);
angular.element($('#container')).prepend(compiled);
var dps = [{x: 1, y: 10}, {x: 2, y: 13}, {x: 3, y: 18}, {x: 4, y: 20}, {x: 5, y: 17},{x: 6, y: 10}, {x: 7, y: 13}, {x: 8, y: 18}, {x: 9, y: 20}, {x: 10, y: 17},];
var chartOptions ={
zoomEnabled: true,
zoomType: "x",
data: [{
type: "line",
dataPoints : dps,
showInLegend: true
}],
legend: {
fontSize: 48,
cursor: "pointer",
itemclick: function (e) {
if (typeof (e.dataSeries.visible) === "undefined" || e.dataSeries.visible) {
e.dataSeries.visible = false;
} else {
e.dataSeries.visible = true;
}
e.chart.render();
}
}
};
var chart = new CanvasJS.Chart("chartContainer", chartOptions);
chart.render();
}
}
});