code: function drawChart() {
        var self = this;
  
        // We don't have any (usable) data, or we don't have columns. We can't draw a chart without those.
        if (!_.isEmpty(self.rows) && !_.isObjectLike(self.rows) || _.isEmpty(self.columns)) {
          return;
        }
  
        if (_.isNull(self.chart)) {
          // We haven't built the chart yet, so JUST. DO. IT!
          self.buildChart();
        } else {
          // Chart already exists, just update the data
          self.updateDataTable();
        }
  
        // Chart has been built/Data has been updated, draw the chart.
        self.wrapper.draw();
  
        // Return promise. Resolves when chart finishes loading.
        return chartDeferred.promise;
      }
docs: Draw the chart.
  
  @return Promise