【发布时间】:2019-07-18 02:20:54
【问题描述】:
这是我尝试生成的示例草稿图
这是我 Google 驱动器中的文件
目前,我已经成功地自动生成了 Google 表格,其中的数据来自我的 Google 云端硬盘中的 CSV 文件。即使 CSV 文件被删除并替换为新文件,生成的 Google 表格中的数据也会更新,并且仅保留一张表格,而不是创建另一张表格。但现在,我希望进一步实现自动生成自定义(仅从更新的 Google 表格中获取 2 列数据)条形图,并将其生成为同一 Google 表格中的另一个选项卡。整个 Google 云端硬盘应该只包含一个 CSV 文件,以及一个具有相同名称的 Google 表格。
我在使用 Apps 脚本方面没有太多经验,这就是为什么我在尝试使用自动生成的图表时遇到问题的原因。我无法创建具有特定要求的自定义图表。目前,我什至无法在工作表内创建普通图表。请帮忙。
function createGraph() {
var data =
SpreadsheetApp.openById('17wjzTLFBML_iN4Arnx6vos1JrHAme3ukvGDaoBSCGw');
var sheet = data.getSheets()[0];
//create chart
//if chart created, this will update the existing chart
if (sheet.getCharts().length > 0){
var chart = sheet.getCharts()[0];
chart = chart.modify()
.removeRange(chart.getRanges()[0])
.addRange(sheet.getRange("Y1:Y501"))
.addRange(sheet.getRange("V1:V501"))
.setOption('useFirstColumnAsDomain', true)
.setOption('treatLabelsAsText', true)
.setOption('applyAggregateData',0)
.setNumHeaders(1)
.setPosition(5, 6, 5, 5)
.setOption("title", "Chart")
.build()
sheet.updateChart(chart)
}
else{
//create new chart
var chart = sheet.newChart()
.setChartType(Charts.ChartType.COLUMN)
//.addRange(sheet.getRange("Y1:Y501"))
.addRange(sheet.getRange("V1:V501"))
.setMergeStrategy(Charts.ChartMergeStrategy.MERGE_ROWS)
.setOption('useFirstColumnAsDomain', true)
.setOption('applyAggregateData',0)
.setOption('treatLabelsAsText', true)
.setNumHeaders(1)
.setPosition(5, 6, 5, 5)
.setOption("title", "Chart")
.build()
sheet.insertChart(chart)
}
}
从 Google 表格中的数据来看,我希望只选取“条件”列和“案例类型 3”列和“所有者列”。其中图表 x 轴是条件,由所有者和案例类型 3 分隔。而图表 y 轴是数量。
【问题讨论】:
-
您能否提供一些有关您如何在 sn-p 中创建图表的信息?
-
我正在使用另一个名为 Tableau 的软件来可视化数据,对于 Tableau,我只是将数据拖到里面,它会生成各种图表模式,但现在,我想使用用于根据 Google 表格中的更新数据生成图表的应用程序脚本,您能帮忙吗?