如何在x轴为日期时加载面积图?

时间:2014-12-15 18:24:06

标签: google-apps-script google-sheets google-visualization

我想使用图表可视化服务在Google电子表格中构建区域图表。

这就是我的数据:

enter image description here

脚本:

var data = google.visualization.arrayToDataTable(range);
  var options = {
    title: 'Dados',
    hAxis: {title: 'Data',  titleTextStyle: {color: '#333'}}
  };
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, options);

哪个没有返回任何图表!

这是检索范围值的代码:

var range=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('mySheet').getRange("A1:B10").getValues();`

如果第一列数据被字符串替换,则它可以完美地工作。所以我猜这个问题与第一列的数据类型有关。我已检查过引用,并且应允许日期:https://google-developers.appspot.com/chart/interactive/docs/gallery/areachart#Data_Format

帮助任何人?

1 个答案:

答案 0 :(得分:0)

您是否收到The script completed but the returned value is not a supported return type.等错误?如果是这样,这是因为即使Google Charts API支持Date值,也无法将Date值从Apps Script服务器端功能传递到客户端功能。我使用map函数创建一个新的2D数组,在将Dates发送到客户端之前将其转换为字符串,并且我能够成功创建图表:

var range = ...
return range.map(function (row) { return [row[0].toString(), row[1]]; } );