DataViewDefinition 对象的构建器。
下面是使用构建器的示例。数据 从 Google 电子表格导入。
function doGet() { // This example creates two table charts side by side. One uses a data view // definition to restrict the number of displayed columns. // Get sample data from a spreadsheet. const dataSourceUrl = 'https://docs.google.com/spreadsheet/tq?range=A1%3AF' + '&key=0Aq4s9w_HxMs7dHpfX05JdmVSb1FpT21sbXd4NVE3UEE&gid=4&headers=-1'; // Create a chart to display all of the data. const originalChart = Charts.newTableChart() .setDimensions(600, 500) .setDataSourceUrl(dataSourceUrl) .build(); // Create another chart to display a subset of the data (only columns 1 and // 4). const dataViewDefinition = Charts.newDataViewDefinition().setColumns([0, 3]); const limitedChart = Charts.newTableChart() .setDimensions(200, 500) .setDataSourceUrl(dataSourceUrl) .setDataViewDefinition(dataViewDefinition) .build(); const htmlOutput = HtmlService.createHtmlOutput(); const originalChartData = Utilities.base64Encode( originalChart.getAs('image/png').getBytes(), ); const originalChartUrl = `data:image/png;base64,${encodeURI(originalChartData)}`; const limitedChartData = Utilities.base64Encode( limitedChart.getAs('image/png').getBytes(), ); const limitedChartUrl = `data:image/png;base64,${encodeURI(limitedChartData)}`; htmlOutput.append('<table><tr><td>'); htmlOutput.append(`<img border="1" src="${originalChartUrl}">`); htmlOutput.append('</td><td>'); htmlOutput.append(`<img border="1" src="${limitedChartUrl}">`); htmlOutput.append('</td></tr></table>'); return htmlOutput; }
方法
| 方法 | 返回类型 | 简介 |
|---|---|---|
build() | Data | 构建并返回使用此构建器构建的数据视图定义对象。 |
set | Data | 设置要包含在数据视图中的列的索引,并指定角色列信息。 |
详细文档
build()
setColumns(columns)
设置要包含在数据视图中的列的索引,并指定角色列信息。此列索引子集是指数据视图所源自的数据源的列。
列角色用于描述相应列中数据的用途:例如,某列可能包含描述工具提示文本、数据点注释或不确定性指标的数据。如需了解详情,请参阅 Google 图表 文档中的 DataTable 角色。
假设电子表格中 A1:C3 包含以下数据:
'abc', 20, 'blue'; 'def', 30, 'red'; 'ghi', 40, 'orange';
const COLUMN_SPEC = [ 0, // categories 1, // counts {sourceColumn: 2, role: 'style'}, ]; function roleColumnChart() { const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); const sheet = spreadsheet.getActiveSheet(); const viewSpec = Charts.newDataViewDefinition().setColumns(COLUMN_SPEC).build(); const chartBuilder = sheet.newChart() .setChartType(Charts.ChartType.BAR) .setDataViewDefinition(viewSpec) .setOption('useFirstColumnAsDomain', true) .setPosition(5, 1, 0, 0) .setOption('hAxis', {title: 'Counts'}) .setOption('vAxis', {title: 'Categories'}) .addRange(sheet.getRange('A1:C3')); sheet.insertChart(chartBuilder.build()); }
参数
| 名称 | 类型 | 说明 |
|---|---|---|
columns | Object[] | 要包含在数据视图中的列索引或列说明(对象)的数组。列说明用于定义列的角色。数据表和数据视图列的枚举从零开始。 |
返回
DataViewDefinitionBuilder - 此构建器,适用于链式调用。