Google图表中的多行数据集数量不同

时间:2018-06-29 16:45:22

标签: javascript arrays charts google-visualization

在Google图表中,我想显示3条不同的线。但是它们没有相同数量的数据点。

下面的图像是用Excel Chart制作的,以便您可以更好地理解我的问题。

灰色的行只有两个数据点,橙色的行直到5个,蓝色的行已设置了完整的数据。

现在进入我的真实项目: 在Google Chart中,我尝试了相同的操作,所以我的dataArray看起来像这样(有4行):

["20180629", 24.5, 28, 27.52, 24.6],
["20180630", 23, 28, 23.57, 24.4],
["20180701", 22.6, 26, 23, 23.5],
["20180702", 23, 25, 22.44, 23.5],
["20180703", 25.1, 28, 24.43, 26.3],
["20180704", 27.6, 30, 24.59, 21.4],
["20180705", 28.9, 24.1, 23.8, ],
["20180706", 24.4, , , ],
["20180707", 23.7, , , ],
["20180708", 24.8, , , ]  

所以您可以看到,从20180629到20180704有完整的数据集,在20180705中缺少一个,在20180707和20180708中缺少三个。

没有机会在此处显示0,因为这将显示错误的温度图表。

Chrome控制台显示此错误:

Uncaught (in promise) Error: Row given with size different than 5 (the number of columns in the table).

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用null代替空数据点...

["20180629", 24.5, 28, 27.52, 24.6],
["20180630", 23, 28, 23.57, 24.4],
["20180701", 22.6, 26, 23, 23.5],
["20180702", 23, 25, 22.44, 23.5],
["20180703", 25.1, 28, 24.43, 26.3],
["20180704", 27.6, 30, 24.59, 21.4],
["20180705", 28.9, 24.1, 23.8, null],
["20180706", 24.4, null, null, null],
["20180707", 23.7, null, null, null],
["20180708", 24.8, null, null, null]

请参阅以下工作片段...

google.charts.load('current', {
  packages: ['corechart']
}).then(function () {
  var data = google.visualization.arrayToDataTable([
    ["20180629", 24.5, 28, 27.52, 24.6],
    ["20180630", 23, 28, 23.57, 24.4],
    ["20180701", 22.6, 26, 23, 23.5],
    ["20180702", 23, 25, 22.44, 23.5],
    ["20180703", 25.1, 28, 24.43, 26.3],
    ["20180704", 27.6, 30, 24.59, 21.4],
    ["20180705", 28.9, 24.1, 23.8, null],
    ["20180706", 24.4, null, null, null],
    ["20180707", 23.7, null, null, null],
    ["20180708", 24.8, null, null, null]
  ], true);

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