Google Line Chart显示日期范围,即使是'null'值

时间:2017-12-12 13:06:13

标签: charts google-visualization

我有一些问题,想知道如何让我的Google Line Chart在其数据数组中显示给定的日期范围,当它包含来自给定点的空值时。

我已经指定了1个月的数据,但我只获得了截至12月2日的数据。这会导致图表从11月12日到该日期自动缩放其视图,并截断最后10天。

这是我的数据:

enter image description here

这是显示的图表:

enter image description here

然而,我可以将空值更改为0,但这会使得其余日期的线条平坦,这不是最佳的。但是,我确实希望向用户显示过去10天没有记录的数据。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

填补null值的差距,
设置选项:

interpolateNulls: true

在x轴上设置特定日期范围,
使用选项:

hAxis: {
  viewWindow: {
    min: beginDate,
    max: endDate
  }
}

请参阅以下工作代码段...

google.charts.load('current', {
  packages: ['corechart']
}).then(function () {
  var data = new google.visualization.DataTable();
  data.addColumn('date', 'x');
  data.addColumn('number', 'y');
  data.addRows([
    [new Date(2017, 11, 5), 3],
    [new Date(2017, 11, 6), 4],
    [new Date(2017, 11, 7), 4],
    [new Date(2017, 11, 8), 3],
    [new Date(2017, 11, 9), null],
    [new Date(2017, 11, 10), 4],
    [new Date(2017, 11, 11), null],
    [new Date(2017, 11, 12), 4]
  ]);

  var options = {
    interpolateNulls: true,
    hAxis: {
      viewWindow: {
        max: new Date(2017, 11, 31)
      }
    }
  };

  var chart = new google.visualization.LineChart(
    document.getElementById('chart_div')
  );
  chart.draw(data, options);
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>