Google visualization 利用融合表生成折线图

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 返回如下数据:

我有一个以日期时间(例如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
现在我想用这些数据画一个折线图:

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吗?看起来是这样的——因为我们无法访问您的融合表,所以测试起来有点困难。我错误地假设了问题所在——抱歉!