Class DataViewDefinitionBuilder

数据视图定义构建器

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()DataViewDefinition构建并返回使用此构建器构建的数据视图定义对象。
setColumns(columns)DataViewDefinitionBuilder设置要包含在数据视图中的列的编号,以及指定角色-列信息。

详细文档

build()

构建并返回使用此构建器构建的数据视图定义对象。

返回

DataViewDefinition - 使用此构建器构建的数据视图定义对象。


setColumns(columns)

设置要包含在数据视图中的列的编号,以及指定角色-列信息。这部分列编号是指数据视图派生自的数据源的列。

列角色用于描述该列中数据的用途:例如,某个列可能包含用于描述提示文本、数据点注释或不确定性指示器的数据。如需了解详情,请参阅 Google 图表文档中的数据表角色

假设电子表格中的 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()); }

参数

名称类型说明
columnsObject[]要包含在数据视图中的列编号或列说明(对象)的数组。列说明用于定义列角色。数据表格和数据视图列的枚举从零开始。

返回

DataViewDefinitionBuilder - 此构建器适用于链接。