2016-07-05 10 views
0

Frage: Antwortdaten gibt ein Array mit Objekten im Array zurück. Ich versuche, ein Balkendiagramm zu erstellen, in dem die Anzahl der für jedes Datum erstellten Fragen angezeigt wird. Ich habe versucht, mit lodash Daten zu mappen, um die aktuellen Daten zu ersetzen, aber weiterhin Fehler zu bekommen.wie man _.map verwendet, um Daten im Diagramm anzuzeigen

data: _.map(response.data, index) 
    [ 
    [response.data[index].createdAt, response.data[index].datecnt] 
    ] 

Controller:

angular.module('myApp').controller('DailyQuestionsController', function($scope, $log, $rootScope, $http, $state, $interval, $stateParams, NgTableParams, $filter) { 
    return $http.get('/api/v1/questions/questionChart').then(function(response) { 
    console.log(response.data); 
    console.log(response.data[0].createdAt); 
    console.log(response.data[0].datecnt); 
    return $scope.barGraph = { 
     options: { 
     chart: { 
      type: 'column' 
     } 
     }, 
     title: { 
     text: 'Questions Created Per Day' 
     }, 
     xAxis: { 
     type: 'category' 
     }, 
     yAxis: { 
     min: 0, 
     title: { 
      text: 'Number of Questions' 
     } 
     }, 
     series: [ 
     { 
      data: [['first date', 587], ['second date', 60], ['third date', 12], ['fourth date', 8], ['fifth date', 104]] 
     } 
     ] 
    }; 
    }); 
}); 

Server-Controller:

getQuestionChart: function(req, res) { 
    return db.sequelize.query('SELECT COUNT(CAST("createdAt" AS DATE)) AS dateCnt, CAST("createdAt"       AS DATE) FROM "Questions" q GROUP BY CAST("createdAt" AS DATE)      ORDER BY "createdAt" ASC') 
    .spread(function(response) { 
     return res.json(response.data); 
    }); 
    } 
}); 
+0

Was ist der Fehlermeldung? Scheint mir, Sie haben Syntaxfehler bei der Verwendung von Lodash. – Mehraban

Antwort

1

Try this:

data: _.map(response.data, function(d) { 
    return [d.createdAt, d.datecnt]; 
})