我正在尝试在折线图上绘制多条线,但每条线都有不同的数据采样间隔 - 有些每 4 小时一次,有些每 8 小时一次。
如果我将间隔合并在一起,数据看起来像这样。
Interval, Avg-8h, Avg-4h
0 , 0.45, 0.33
4 , , 0.21
8 , 0.32, 0.55
12 , , 0.65
目前,我能得到的最好结果是显示 Avg-4h 线,但由于“差距”,Avg-8h 线只是点。
一个最小的例子(为大量的 HTML 道歉):
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
var data;
var chart;
google.load('visualization', '1', {'packages':['corechart']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = {
"cols": [
{ "label": "Interval", "type": "number" },
{ "label": "Avg-8h", "type": "number" },
{ "label": "Avg-4h", "type": "number" }],
"rows": [
{ "c": [{ "v": 24 }, { "v": 0.2275 }, { "v": 0.1527 }] },
{ "c": [{ "v": 20 }, { }, { "v": 0.0664 }] },
{ "c": [{ "v": 16 }, { "v": 0.0624 }, { "v": 0.0495 }] },
{ "c": [{ "v": 12 }, { }, { "v": 0.0555 }] },
{ "c": [{ "v": 8 }, { "v": 0.109 }, { "v": 0.1112 }] },
{ "c": [{ "v": 4 }, { }, { "v": 0.1403 }] },
{ "c": [{ "v": 0 }, { "v": 0.1403 }, { }] }
]
};
var table = new google.visualization.DataTable(data);
var options = {
legend: 'none',
pointSize: 5
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(table, options);
}
</script>
</head>
<body>
<div id="chart_div" style="width:400; height:300"></div>
</body>
</html>
除了插入假/虚拟值(我不想这样做 - 这歪曲了实际数据)之外,有没有办法做到这一点?
我已经尝试将空值设置为 null 或空 - 到目前为止没有运气。