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);
            });

        });