Построитель объектов 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. var 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. var originalChart = Charts.newTableChart() .setDimensions(600, 500) .setDataSourceUrl(dataSourceUrl) .build(); // Create another chart to display a subset of the data (only columns 1 and 4). var dataViewDefinition = Charts.newDataViewDefinition().setColumns([0, 3]); var limitedChart = Charts.newTableChart() .setDimensions(200, 500) .setDataSourceUrl(dataSourceUrl) .setDataViewDefinition(dataViewDefinition) .build(); var htmlOutput = HtmlService.createHtmlOutput(); var originalChartData = Utilities.base64Encode(originalChart.getAs('image/png').getBytes()); var originalChartUrl = "data:image/png;base64," + encodeURI(originalChartData); var limitedChartData = Utilities.base64Encode(limitedChart.getAs('image/png').getBytes()); var 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)
Устанавливает индексы столбцов для включения в представление данных, а также указывает информацию о ролевых столбцах. Это подмножество индексов столбцов относится к столбцам источника данных, из которого получено представление данных.
Роль столбца описывает назначение данных в этом столбце: например, столбец может содержать данные, описывающие текст всплывающей подсказки, аннотации к точкам данных или индикаторы неопределенности. Дополнительные сведения см. в разделе Роли DataTable в документации Google Charts.
Предположим, что имеется электронная таблица со следующими данными в формате A1:C3:
"abc", 20, "blue" "def", 30, "red" "ghi", 40, "orange"Следующий код создает гистограмму, где каждая полоса имеет свой цвет. Цвета назначаются с помощью стиля «столбец ролей».
var COLUMN_SPEC = [ 0, // categories 1, // counts {sourceColumn: 2, role: 'style'} ]; function roleColumnChart() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spreadsheet.getActiveSheet(); var viewSpec = Charts.newDataViewDefinition() .setColumns(COLUMN_SPEC) .build(); var 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
— этот построитель, полезный для создания цепочек.