【问题标题】:How to make graph through rickshaw and angularjs?如何通过人力车和angularjs制作图形?
【发布时间】:2015-10-16 13:18:25
【问题描述】:

我刚刚从TagTree 学习通过angularjs 和人力车制作图表。有一些不明飞行物观测数据并绘制图表。

我遵循了相同的程序,但我无法绘制与他们绘制的图形相似的图形。

请在Plunker 上查看演示 这是一个工作示例,谢谢@VasanthSriram我忘记包含 underscore.js 文件

<body ng-app="angularRickshawApp">
   <div ng-controller='MainCtrl'>
         <div class="header">
      <h3 class="text-muted">UFO sightings in 2008</h3>

      <rickshaw-chart data="sightingsByDate" color="blue" renderer="renderer" width="750" height="450">
      </rickshaw-chart>
    </div>
   </div>

<script>
   var app=angular.module('angularRickshawApp',[]);
    app.controller('MainCtrl', function ($scope, $http) {
      $http.get('sightings.json').success(function(result){
        $scope.sightings = result;

        $scope.renderer = 'line';

        $scope.sightingsByDate = _(result)
          .chain()
          .countBy(function(sighting){return sighting.sightedAt.$date;})
          .pairs()
          .map(function(pair){
            return {
              x: new Date(parseInt(pair[0])).getTime()/1000,
              y: pair[1]
            };
          })
          .sortBy(function(dateCount){return dateCount.x;})
          .value();

      })
    });

    app.directive('rickshawChart', function () {
      return {
        scope: {
          data: '=',
          renderer: '='
        },
        template: '<div></div>',
        restrict: 'E',
        link: function postLink(scope, element, attrs) {
          scope.$watchCollection('[data, renderer]', function(newVal, oldVal){
            if(!newVal[0]){
              return;
            }

            element[0].innerHTML ='';

            var graph = new Rickshaw.Graph({
              element: element[0],
              width: attrs.width,
              height: attrs.height,
              series: [{data: scope.data, color: attrs.color}],
              renderer: scope.renderer
            });

            graph.render();
          });
        }
      };
    });
</script>

【问题讨论】:

    标签: javascript angularjs d3.js rickshaw


    【解决方案1】:

    您的 plunker 中缺少下划线库。只需添加库即可。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 2014-08-18
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多