vini
vini

Reputation: 4732

Uncaught TypeError: Cannot read property 'draw' of undefined

   for (var i = 0; i < reduced.length; i++) {



  var innerdata = [];
  for (var j = 0; j < days.length; j++) {

    var rev = 0;

    _.each(reduced[i].data, function(timerevenueObj) {

      var current = new Date(parseInt(timerevenueObj[0]));
      var daysweek = days[j];

      if (current.toDateString() === daysweek.toDateString()) {
        rev = rev + timerevenueObj[1];
      }



    });

    innerdata.push(rev);


  }




  datasets.push({
    label: reduced[i].label,
    fillColor: "rgba(220,220,220,0.2)",
    strokeColor: "rgba(220,220,220,1)",
    pointColor: "rgba(220,220,220,1)",
    pointStrokeColor: "#fff",
    pointHighlightFill: "#fff",
    pointHighlightStroke: "rgba(220,220,220,1)",
    data: innerdata
  });



 }




 data.push({

    labels: ["May 17","May 18","May 19","May 20","May 21","May 22","May 23","May 24","May 25","May 26","May 27"],
    datasets: datasets

  });

reduced is an array of Objects with the following format:

Channel 1

  CreateTime
  Revenue

  CreateTime
  Revenue

Channel2

 CreateTime
 Revenue

 CreateTime
 Revenue

Format of Data:

enter image description here

I am getting an error when trying to display a Line Chart

Upvotes: 4

Views: 12830

Answers (1)

Kevin Sandow
Kevin Sandow

Reputation: 4033

Chartjs expects an object, not an array, so use data = {} instead of data.push({}).

Upvotes: 4

Related Questions