chart.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. 'use strict';
  2. /* Controllers */
  3. app
  4. // Flot Chart controller
  5. .controller('FlotChartDemoCtrl', ['$scope', function($scope) {
  6. $scope.d = [ [1,6.5],[2,6.5],[3,7],[4,8],[5,7.5],[6,7],[7,6.8],[8,7],[9,7.2],[10,7],[11,6.8],[12,7] ];
  7. $scope.d0_1 = [ [0,7],[1,6.5],[2,12.5],[3,7],[4,9],[5,6],[6,11],[7,6.5],[8,8],[9,7] ];
  8. $scope.d0_2 = [ [0,4],[1,4.5],[2,7],[3,4.5],[4,3],[5,3.5],[6,6],[7,3],[8,4],[9,3] ];
  9. $scope.d1_1 = [ [10, 120], [20, 70], [30, 70], [40, 60] ];
  10. $scope.d1_2 = [ [10, 50], [20, 60], [30, 90], [40, 35] ];
  11. $scope.d1_3 = [ [10, 80], [20, 40], [30, 30], [40, 20] ];
  12. $scope.d2 = [];
  13. for (var i = 0; i < 20; ++i) {
  14. $scope.d2.push([i, Math.sin(i)]);
  15. }
  16. $scope.d3 = [
  17. { label: "iPhone5S", data: 40 },
  18. { label: "iPad Mini", data: 10 },
  19. { label: "iPad Mini Retina", data: 20 },
  20. { label: "iPhone4S", data: 12 },
  21. { label: "iPad Air", data: 18 }
  22. ];
  23. $scope.refreshData = function(){
  24. $scope.d0_1 = $scope.d0_2;
  25. };
  26. $scope.getRandomData = function() {
  27. var data = [],
  28. totalPoints = 150;
  29. if (data.length > 0)
  30. data = data.slice(1);
  31. while (data.length < totalPoints) {
  32. var prev = data.length > 0 ? data[data.length - 1] : 50,
  33. y = prev + Math.random() * 10 - 5;
  34. if (y < 0) {
  35. y = 0;
  36. } else if (y > 100) {
  37. y = 100;
  38. }
  39. data.push(y);
  40. }
  41. // Zip the generated y values with the x values
  42. var res = [];
  43. for (var i = 0; i < data.length; ++i) {
  44. res.push([i, data[i]])
  45. }
  46. return res;
  47. }
  48. $scope.d4 = $scope.getRandomData();
  49. }]);