angular nvd3
by gkohen
HTML
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/nvd3/1.1.13-beta/nv.d3.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.12/angular.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/d3/3.3.9/d3.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/nvd3/1.1.13-beta/nv.d3.min.js"></script>
<script src="http://cmaurer.github.io/angularjs-nvd3-directives/lib/angularjs-nvd3-directives/dist/angularjs-nvd3-directives.js"></script>
<div ng-app='nvd3TestApp'>
<div ng-controller="ExampleCtrl">
<nvd3-discrete-bar-chart
data="exampleData"
id="exampleId"
width="800"
height="400"
tooltips="true"
showXAxis="true"
showYAxis="true">
<svg></svg>
</nvd3-discrete-bar-chart>
</div>
</div>
JavaScript
angular.module("nvd3TestApp", ['nvd3ChartDirectives'])
.controller('ExampleCtrl',function($scope, $interval){
$scope.exampleData = [
{
key: "Cumulative Return",
values: [
["A", -29.765957771107 ],
["B" , 0 ],
["C" , 32.807804682612 ],
["D" , 196.45946739256 ],
["E" , 0.19434030906893 ],
["F" , -98.079782601442 ],
["G" , -13.925743130903 ],
["H" , -5.1387322875705 ]
]
}
];
var stop = $interval(function() {
var values = $scope.exampleData[0].values;
var dataPoint = Math.floor(Math.random() * (values.length - 0)) ;
var changedValue = Math.floor(Math.random() * (20 - 10)) - 10 ;
values[dataPoint][1] += changedValue;
console.log('%o=%o',values[dataPoint][0],values[dataPoint][1]);
}, 100);
$scope.$on('tooltipShow.directive', function(event){
console.log('scope.tooltipShow', event);
});
$scope.$on('tooltipHide.directive', function(event){
console.log('scope.tooltipHide', event);
});
});