提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我目前有一个脚本,它可以获取数据、对其进行格式化并在数据下方创建一个图表。
我知道如何使用setPosition
在选项卡内移动图表,但不知道如何将图表写入不同的选项卡(创建一个“仪表板”,您不必在其中查看所有源数据)。 对此有什么想法吗?
我尝试更改.setPosition
中的内容,但这只会在现有选项卡中移动图表。
我也遇到了一些问题,在某些情况下,我让图表移动到数据的右侧,但是在不同的工作表中使用相同的代码,它根本不会写图表。
这是我正在使用的代码:
var chartTitle = columnHeader;
if (typeof subtitle[columnHeader] != 'undefined') {
chartTitle = chartTitle + " - " + subtitle[columnHeader];
}
var chartBuilder = sheet.newChart()
.setChartType(Charts.ChartType.LINE)
.setOption('chartArea', {left:'10%',top:'15%',width:'80%',height:'70%'})
.setPosition(4 + output.length, 1, 0, 0)
.setOption('width', width)
.setOption('height', 500)
.setOption('title', chartTitle)
.setOption('legend', {position: 'top'});
var statFormat = {CPC: 'currency', CTR: 'percent', Impressions: 'decimal', Searches: 'decimal'};
if (statsInChart.length == 0) {
chartBuilder.setOption('vAxes', {
// Adds titles to the axis.
0: {title: columnHeader} });
} else if (statsInChart.length == 1) {
chartBuilder.setOption('vAxes', {
// Adds titles to both axes.
0: {title: columnHeader} ,
1: {title: statsInChart[0], format: statFormat[statsInChart[0]]}});
} else {
chartBuilder.setOption('vAxes', {
// Adds title to the first axis, blanks the others.
0: {title: columnHeader} ,
1: {format: statFormat[statsInChart[0]], textPosition: 'in'},
2: {format: statFormat[statsInChart[1]], textPosition: 'out'},
3: {textStyle: {color: 'white'}}
});
}
您提供的代码未涵盖您实际构建图表的时间,也未涵盖将其插入工作表时的代码。
当您通过调用sheet.newChart()
方法创建EmbeddedChartBuilder
时,您将拥有一个与电子表格中的特定工作表相关联的工作sheet
object。
您要做的是使用不同的工作表 object 调用insertChart()
方法,该工作表与您希望图表出现的工作表相关联。
这是一个小例子:
function createChart() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheet = ss.getSheetByName('data');
var chartSheet = ss.getSheetByName('chart');
var dataRange = dataSheet.getDataRange();
var chart = chartSheet.newChart()
.addRange(dataRange)
.setPosition(1, 1, 0, 0)
.build();
chartSheet.insertChart(chart);
}
在我的测试电子表格中,我有两张纸。 一个是命名data
,它包含一个小数据表。 另一个是名为chart
的空白表。
当我执行上面的 function 时,根据从data
在chart
表中放置了一个图表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.