通常归结为您传递数据的方式。使用arrayToDataTable,您的日期只是字符串。如果您实例化一个 JS 日期对象并构建 dataTable,您应该会得到更好的结果。这段代码对我有用(见live):
function drawVisualization() {
var data = new google.visualization.DataTable();
data.addColumn('datetime', 'Time of Day');
data.addColumn('number', 'Some Measurement');
data.addRows([
[new Date(2012,10,3,11,30,0), 12],
[new Date(2012,10,3,11,45,0), 2],
[new Date(2012,10,3,12,1,0), 16],
[new Date(2012,10,3,12,15,0), 3],
[new Date(2012,10,3,12,30,0), 12],
[new Date(2012,10,3,12,45,0), 7]
]);
new google.visualization.LineChart(document.getElementById('visualization')).
draw(data, {curveType: "function",
width: 500, height: 400,
vAxis: {maxValue: 10}}
);
}
我曾经是 Google Visualization 的粉丝,但被他们的未宣布更新烧伤了太多次。它也有很多限制。查看Dygraph,它很好地处理了时间序列。