如何在Apps Script中基于指定数据源创建折线图?
补充完成的折线图创建代码
以下是补充完整后的createLineGraph函数代码,已实现基于指定X轴范围和数据系列创建折线图并放置到Graph工作表的功能:
function createLineGraph(){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var attendance = ss.getSheetByName("Attendance"); var graph = ss.getSheetByName("Graph"); // 删除工作表中所有现有图表 var chts=graph.getCharts(); for(var i=0;i<chts.length;i++){ graph.removeChart(chts[i]); } var xRange = attendance.getRange("B1:"+getColumnLetter(findTotalAttendanceColumn(attendance)-1)+"1"); var yValues = attendance.getRange("B"+findTotalAttendanceRow(attendance)+":"+getColumnLetter(findTotalAttendanceColumn(attendance)-1)+findTotalAttendanceRow(attendance)); // 创建折线图实例并配置参数 var lineChart = Charts.newLineChart() .setXAxisRange(xRange) // 设置X轴标签范围 .addRange(yValues) // 添加数据系列 .setTitle("出勤数据折线图") // 设置图表标题 .setXAxisTitle("分类标签") // 设置X轴标题 .setYAxisTitle("数值") // 设置Y轴标题 .setLegendPosition(Charts.Position.BOTTOM) // 图例放置在底部 .setOption("series", {0: {lineWidth: 2, pointSize: 5}}) // 自定义折线和数据点样式 .build(); // 将图表插入到Graph工作表的A1起始位置 graph.insertChart(lineChart, 1, 1); }
关键配置说明:
setXAxisRange(xRange):直接将你获取的xRange数据绑定为X轴的分类标签addRange(yValues):把yValues作为折线图的核心数据系列添加- 标题、坐标轴标签可根据实际业务需求修改文字内容
graph.insertChart(lineChart, 1, 1)中的最后两个参数控制图表插入的起始行和列,可按需调整位置- 样式配置部分(
setOption)为可选项,可根据视觉需求修改折线宽度、点的大小等属性
内容的提问来源于stack exchange,提问作者Ramen Noodles
相关产品推荐
相关产品推荐

