Google Charts - 无可用数据 - 能否显示空白图表?

时间:2014-10-17 12:37:11

标签: javascript jquery ruby-on-rails google-visualization chartkick

如果我的数据数组看起来像这样,我仍然可以让Google Charts显示折线图吗? [['Date','Line']]

即。只是定义了轴。我的大多数图表都导入了数据但有些数据没有。我想显示一张空白图表。使用上面的数据,我得到一条错误消息而不是图表。

以下是我视图中的代码

google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);

function drawChart() {
  var data = google.visualization.arrayToDataTable(#{@visiting_spread_movement_array});

  var options = {
                 title: 'Point Spread Movements for #{@event.visiting_team}'
                };


  var chart = new google.visualization.LineChart(document.getElementById('show-spread-visiting'));

  chart.draw(data, options);

}

1 个答案:

答案 0 :(得分:3)

好吧,要绘制图表,您至少需要一个数据点。为此,您可以使用此解决方法:

      var data = google.visualization.arrayToDataTable([
          [{
              f: 'Date',
              type: 'date' // wont work whithout this
          }, {
              f: 'Line',
              type: 'number' // wont work whithout this
          }], ]);

      var options = {
          title: 'Company Performance'
      };

      if (data.getNumberOfRows() == 0) { // if you have no data, add a data point and make the series transparent
          data.addRow([new Date(), 0])
          options.series = {
              0: {
                  color: 'transparent'
              }
          }
      }

完全小提琴:http://jsfiddle.net/qaLgh955/