包含多个日期的Google图表

时间:2016-09-05 23:29:47

标签: javascript charts google-visualization

我想要在单个Google图表中显示多个数据集合。每个系列都是CPM的集合,其日期为:

例如:

series A[
  '2016-09-01' => 2.08023,
  '2016-09-04' => 2.01123
];

series B[
  '2016-09-01' => 1.99324,
  '2016-09-02' => 2.00112
]; 

请注意,这两个系列中的日期并不相同。我想在一个谷歌图中绘制这两个图。我应该如何格式化数据行(如果可以的话)。

我已经用我认为可行的方式制作了JSFiddle,但在数据表中添加空值并不起作用,我在第一个系列中得到两个点,其中我&#39 ;我期待一条线。如何让谷歌图表画线而不是点?

1 个答案:

答案 0 :(得分:1)

在小提琴中,数据设置正确

但是,由于日期不同,因此系列A 的值为null

需要使用configuration option interpolateNulls: true

来自文档...

  

<强> interpolateNulls
  是否猜测缺失点的价值。如果为true,它将根据相邻点猜测任何缺失数据的值。如果为false,则会在未知点处的线路中断。

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

&#13;
&#13;
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);

function drawChart() {
  var data = new google.visualization.DataTable();
  data.addColumn('date', 'X');
  data.addColumn('number', 'series a');
  data.addColumn('number', 'series b')
  data.addRows([
    [new Date( 1472688000000 ), 2.08023, 1.99324],
    [new Date( 1472774400000 ), null,    2.00112],
    [new Date( 1472947200000 ), 2.01123, null]
  ]);

  var options = {
    interpolateNulls: true
  };

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