javascript - Charts Js 和 Angular JS 不工作,不显示图表

标签 javascript angularjs charts

我是 AngularJs 的菜鸟,以前从未使用过图表 JS,但由于没有显示图表,所以遇到了这个问题。我会很感激一些帮助。谢谢!

<h1 class="text-center">Histogram</h1>

<canvas id="myChart" width="300" height="300"></canvas>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.4/Chart.min.js"></script>
<a ng-click = "vm.edit">Show</a>

angular
.module('histogram-test')
.controller("histoCnt", function ($state, $scope, $rootScope) {
    console.log("Contrller working");
    var vm = this;
    vm.edit = edit;
    $scope.chart = angular.element(document.getElementById("myChart"));

    function edit() {
        var myChart = new Chart($scope.chart, {
            type: 'bar',
            data: {
                labels: ["M", "T", "W", "R", "F", "S", "S"],
                datasets: [{
                    label: 'apples',
                    data: [12, 19, 3, 17, 28, 24, 7]
                        }, {
                    label: 'oranges',
                    data: [30, 29, 5, 5, 20, 3, 10]
                        }]
            }
        });
    };
});

最佳答案

您可以使用 Angular 图表库。确保注入(inject) 'chart.js'

angular.module('myApp', ['chart.js'])

演示

(function(angular) {
  'use strict';
  angular.module('myApp', ['chart.js'])
  .controller('myController', [function() {
    var ctrl = this;

    ctrl.socialChart = {
      options: {
        scales: {
          xAxes: [{
            stacked: true,
          }],
          yAxes: [{
            stacked: true
          }]
        }
      },
      type: 'bar',
      labels: ["M", "T", "W", "R", "F", "S", "S"],
      series: ['apples', 'oranges'],
      colors: ['#ED402A', '#F0AB05', '#A0B421', '#00A39F'],
       data: [
       [12, 19, 3, 17, 28, 24, 7],
       [30, 29, 5, 5, 20, 3, 10]
      ]
    }
  }]);
})(window.angular);
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Multi Slot Transclude</title>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0-rc.0/angular.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.3.0/Chart.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-chart.js/1.0.3/angular-chart.min.js"></script>    <script src="app.js"></script>
  </head>
  <body ng-app="myApp" ng-controller="myController as ctrl">
    <canvas id="outreach" class="chart chart-bar" 
        chart-labels="ctrl.socialChart.labels" 
        chart-data="ctrl.socialChart.data" 
        chart-series="ctrl.socialChart.series"
        chart-colors="ctrl.socialChart.colors"
        chart-options="ctrl.socialChart.options"></canvas>      
  </body>

</html>

关于javascript - Charts Js 和 Angular JS 不工作,不显示图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44727912/

相关文章:

javascript - 我需要帮助使用 Flexbox 填充 100% 的计算机屏幕高度

javascript - 系统配置 defaultExtension 不适用于 Django

javascript - 如何取消选择所有 radio 输入?

html - AngularJs ui-bootstrap Typeahead 带滚动

charts - 在堆积条形谷歌图表中显示百分比

javascript - jQuery - 如何使用元素的 HTML 获取所有样式/css(在内部/外部文档中定义)

javascript - 用于在 fabricjs Canvas 上选择对象的事件处理程序

Javascript:通过获取分钟与数组长度的模来检索对象的数组索引

JavaFX 折线图 : Insert new data in the middle of the chart

javascript - 如何为 React Chart JS 中的点创建 OnClick 事件?