Google visualization 利用融合表生成折线图
我有一个以日期时间(例如01-01-1970)和时间戳列的形式存储事件的表 当我想查询每天的事件数时,我会这样做:Google visualization 利用融合表生成折线图,google-visualization,google-fusion-tables,Google Visualization,Google Fusion Tables,我有一个以日期时间(例如01-01-1970)和时间戳列的形式存储事件的表 当我想查询每天的事件数时,我会这样做: SELECT date, COUNT() FROM tableId GROUP BY date ORDER BY date ASC date count() 1 1 2 1 3 1 4 3 5 1 6 1 7 1 8 4 9 4 10 3 返回如下数据:
SELECT date, COUNT() FROM tableId GROUP BY date ORDER BY date ASC
date count()
1 1
2 1
3 1
4 3
5 1
6 1
7 1
8 4
9 4
10 3
返回如下数据:
SELECT date, COUNT() FROM tableId GROUP BY date ORDER BY date ASC
date count()
1 1
2 1
3 1
4 3
5 1
6 1
7 1
8 4
9 4
10 3
现在我想用这些数据画一个折线图:
google.visualization.drawChart({
"containerId": "report",
"dataSourceUrl": "http://www.google.com/fusiontables/gvizdata?tq=",
"query":"SELECT date, COUNT() FROM tableId GROUP BY date ORDER BY date ASC",
// "chartType": "Table",
"chartType": "LineChart",
"options": {
"enableInteractivity": false,
"showRowNumber" : true,
"vAxis": { "title": "Events" },
"hAxis": { "title": "Days" }
}
});
但由于某种原因,它似乎不起作用,如图所示,但没有绘制数据
有什么提示吗?我猜这是因为您实际上没有将任何内容保存为。您可以查看以了解查询如何作为Google可视化对象的源 如果您了解如何处理查询,那么您将看到需要保存查询响应并将其作为DataTable对象输入图表:
function drawVisualization() {
// To see the data that this visualization uses, browse to
// http://spreadsheets.google.com/ccc?key=pCQbetd-CptGXxxQIG7VFIQ
var query = new google.visualization.Query(
'http://spreadsheets.google.com/tq?key=pCQbetd-CptGXxxQIG7VFIQ&range=B1:D11&pub=1');
// Send the query with a callback function.
query.send(handleQueryResponse);
}
function handleQueryResponse(response) {
if (response.isError()) {
alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var data = response.getDataTable();
visualization = new google.visualization.IntensityMap(document.getElementById('visualization'));
visualization.draw(data, null);
}
因此,请确保您有一个中间步骤,使用
queryResponse.getDataTable()
将查询结果保存为DataTable对象,这可能会解决您的问题。谢谢您的回答,尽管我不确定这是否是问题所在。例如,如果使用“表格”图表类型,则图表绘制正确。此外,如果我将sql查询更改为类似于选择时间戳(这是我的fusion表中的另一列)的内容,则会绘制一个图表,尽管显示了一条单调递增的线(正如预期的那样,时间戳意味着随着日期的增加而增长),我的意思是,如果这些案例有效,那么这不意味着问题可能在其他地方而不是DataTable吗?看起来是这样的——因为我们无法访问您的融合表,所以测试起来有点困难。我错误地假设了问题所在——抱歉!