Конструктор используется для редактирования Embedded Chart . Изменения, внесённые в диаграмму, не сохраняются до тех пор, пока для перестроенной диаграммы не будет вызван метод Sheet.updateChart(chart) .
const sheet = SpreadsheetApp.getActiveSheet(); const range = sheet.getRange('A1:B8'); let chart = sheet.getCharts()[0]; chart = chart.modify() .addRange(range) .setOption('title', 'Updated!') .setOption('animation.duration', 500) .setPosition(2, 2, 0, 0) .build(); sheet.updateChart(chart);
Методы
| Метод | Тип возврата | Краткое описание | 
|---|---|---|
 add Range(range) |  Embedded Chart Builder | Добавляет диапазон к диаграмме, которую изменяет этот конструктор. | 
 as Area Chart() |  Embedded Area Chart Builder |  Устанавливает тип диаграммы как AreaChart и возвращает Embedded Area Chart Builder . | 
 as Bar Chart() |  Embedded Bar Chart Builder |  Устанавливает тип диаграммы на BarChart и возвращает Embedded Bar Chart Builder . | 
 as Column Chart() |  Embedded Column Chart Builder |  Устанавливает тип диаграммы как ColumnChart и возвращает Embedded Column Chart Builder . | 
 as Combo Chart() |  Embedded Combo Chart Builder |  Устанавливает тип диаграммы на ComboChart и возвращает Embedded Combo Chart Builder . | 
 as Histogram Chart() |  Embedded Histogram Chart Builder |  Устанавливает тип диаграммы как HistogramChart и возвращает Embedded Histogram Chart Builder . | 
 as Line Chart() |  Embedded Line Chart Builder |  Устанавливает тип диаграммы как LineChart и возвращает Embedded Line Chart Builder . | 
 as Pie Chart() |  Embedded Pie Chart Builder |  Устанавливает тип диаграммы как PieChart и возвращает Embedded Pie Chart Builder . | 
 as Scatter Chart() |  Embedded Scatter Chart Builder |  Устанавливает тип диаграммы как ScatterChart и возвращает Embedded Scatter Chart Builder . | 
 as Table Chart() |  Embedded Table Chart Builder |  Устанавливает тип диаграммы на TableChart и возвращает Embedded Table Chart Builder . | 
 build() |  Embedded Chart | Создает диаграмму, отражающую все внесенные в нее изменения. | 
 clear Ranges() |  Embedded Chart Builder | Удаляет все диапазоны из диаграммы, которую изменяет этот конструктор. | 
 get Chart Type() |  Chart Type | Возвращает текущий тип диаграммы. | 
 get Container() |  Container Info |  Возвращает Container Info диаграммы, которая определяет место расположения диаграммы на листе. | 
 get Ranges() |  Range[] | Возвращает копию списка диапазонов, которые в данный момент предоставляют данные для этой диаграммы. | 
 remove Range(range) |  Embedded Chart Builder | Удаляет указанный диапазон из диаграммы, которую изменяет этот конструктор. | 
 set Chart Type(type) |  Embedded Chart Builder | Изменяет тип диаграммы. | 
 set Hidden Dimension Strategy(strategy) |  Embedded Chart Builder | Задает стратегию, используемую для скрытых строк и столбцов. | 
 set Merge Strategy(mergeStrategy) |  Embedded Chart Builder | Задает стратегию слияния, используемую при наличии более одного диапазона. | 
 set Num Headers(headers) |  Embedded Chart Builder | Задает количество строк или столбцов диапазона, которые следует рассматривать как заголовки. | 
 set Option(option, value) |  Embedded Chart Builder | Устанавливает расширенные параметры для этой диаграммы. | 
 set Position(anchorRowPos, anchorColPos, offsetX, offsetY) |  Embedded Chart Builder | Задает положение, изменяя место отображения диаграммы на листе. | 
 set Transpose Rows And Columns(transpose) |  Embedded Chart Builder | Устанавливает, транспонированы ли строки и столбцы диаграммы. | 
Подробная документация
 add Range(range)
Добавляет диапазон к диаграмме, которую изменяет этот конструктор. Не добавляет диапазон, если он уже добавлен к диаграмме.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(sheet.getRange('A1:B8')) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Параметры
| Имя | Тип | Описание | 
|---|---|---|
 range |  Range | Диапазон для добавления. | 
Возвращаться
 Embedded Chart Builder — этот конструктор предназначен для создания цепочек. 
 as Area Chart()
 Устанавливает тип диаграммы как AreaChart и возвращает Embedded Area Chart Builder .
Возвращаться
 Embedded Area Chart Builder — конструктор для построения площадных диаграмм. 
 as Bar Chart()
 Устанавливает тип диаграммы на BarChart и возвращает Embedded Bar Chart Builder .
Возвращаться
 Embedded Bar Chart Builder — конструктор столбчатых диаграмм. 
 as Column Chart()
 Устанавливает тип диаграммы как ColumnChart и возвращает Embedded Column Chart Builder .
Возвращаться
 Embedded Column Chart Builder — конструктор столбчатых диаграмм. 
 as Combo Chart()
 Устанавливает тип диаграммы на ComboChart и возвращает Embedded Combo Chart Builder .
Возвращаться
 Embedded Combo Chart Builder — конструктор для комбинированных диаграмм. 
 as Histogram Chart()
 Устанавливает тип диаграммы как HistogramChart и возвращает Embedded Histogram Chart Builder .
Возвращаться
 Embedded Histogram Chart Builder — конструктор для построения гистограмм. 
 as Line Chart()
 Устанавливает тип диаграммы как LineChart и возвращает Embedded Line Chart Builder .
Возвращаться
 Embedded Line Chart Builder — конструктор для линейных диаграмм. 
 as Pie Chart()
 Устанавливает тип диаграммы как PieChart и возвращает Embedded Pie Chart Builder .
Возвращаться
 Embedded Pie Chart Builder — конструктор круговых диаграмм. 
 as Scatter Chart()
 Устанавливает тип диаграммы как ScatterChart и возвращает Embedded Scatter Chart Builder .
Возвращаться
 Embedded Scatter Chart Builder — конструктор для диаграмм рассеяния. 
 as Table Chart()
 Устанавливает тип диаграммы на TableChart и возвращает Embedded Table Chart Builder .
Возвращаться
 Embedded Table Chart Builder — конструктор для создания табличных диаграмм. 
 build()
Создает диаграмму, отражающую все внесенные в нее изменения.
 Этот метод не отображает диаграмму автоматически поверх электронной таблицы. Новая диаграмма должна быть вставлена с помощью метода sheet.insertChart(chart) , а существующая диаграмма должна быть обновлена с помощью метода sheet.updateChart(chart) .
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const range = sheet.getRange('A1:B5'); const chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(range) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Возвращаться
 Embedded Chart — созданная диаграмма, которую еще необходимо добавить в электронную таблицу. 
 clear Ranges()
Удаляет все диапазоны из диаграммы, которую изменяет этот конструктор.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; // This code updates the chart to use only the new ranges while preserving the // existing formatting of the chart. const chart = sheet.getCharts()[0]; const newChart = chart.modify() .clearRanges() .addRange(sheet.getRange('A1:A5')) .addRange(sheet.getRange('B1:B5')) .build(); sheet.updateChart(newChart);
Возвращаться
 Embedded Chart Builder — этот конструктор предназначен для создания цепочек. 
 get Chart Type()
 get Container()
 Возвращает Container Info диаграммы, которая определяет место расположения диаграммы на листе.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const chartBuilder = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(sheet.getRange('A1:B8')) .setPosition(5, 5, 0, 0); // This method returns the exact same data as Chart#getContainerInfo() const containerInfo = chartBuilder.getContainer(); // Logs the values used in setPosition() Logger.log( 'Anchor Column: %s\r\nAnchor Row %s\r\nOffset X %s\r\nOffset Y %s', containerInfo.getAnchorColumn(), containerInfo.getAnchorRow(), containerInfo.getOffsetX(), containerInfo.getOffsetY(), );
Возвращаться
 Container Info — объект, содержащий позицию контейнера диаграммы. 
 get Ranges()
 Возвращает копию списка диапазонов, из которых в данный момент поступают данные для этой диаграммы. Для изменения этого списка используйте add Range(range) и remove Range(range) .
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const chartBuilder = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(sheet.getRange('A1:B8')) .setPosition(5, 5, 0, 0); const ranges = chartBuilder.getRanges(); // There's only one range as a data source for this chart, // so this logs "A1:B8" for (const i in ranges) { const range = ranges[i]; Logger.log(range.getA1Notation()); }
Возвращаться
 Range[] — Массив диапазонов, которые служат источником данных для построения диаграммы. 
 remove Range(range)
Удаляет указанный диапазон из диаграммы, которую редактирует этот конструктор. Не выдаёт ошибку, если диапазон отсутствует в этой диаграмме.
 Удаляемый диапазон должен совпадать с диапазоном, добавленным с помощью add Range(range) ; в противном случае изменения в диаграмму не вносятся. Этот метод нельзя использовать для частичного удаления значений из диапазона.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const firstRange = sheet.getRange('A1:B5'); const secondRange = sheet.getRange('A6:B8'); const chartBuilder = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(firstRange) // This range renders in a different color .addRange(secondRange) .setPosition(5, 5, 0, 0); // Note that you can use either of these two formats, but the range // MUST match up with a range that was added via addRange(), or it // is not removed, and does not throw an exception chartBuilder.removeRange(firstRange); chartBuilder.removeRange(sheet.getRange('A6:B8')); const chart = chartBuilder.build(); sheet.insertChart(chart);
Параметры
| Имя | Тип | Описание | 
|---|---|---|
 range |  Range | Диапазон для удаления. | 
Возвращаться
 Embedded Chart Builder — этот конструктор предназначен для создания цепочек. 
 set Chart Type(type)
 Изменяет тип диаграммы. В настоящее время поддерживаются не все типы встроенных диаграмм. См. Chart Type .
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const range = sheet.getRange('A1:B5'); const chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(range) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Параметры
| Имя | Тип | Описание | 
|---|---|---|
 type |  Chart Type | Тип, в который следует изменить данную диаграмму. | 
Возвращаться
 Embedded Chart Builder — этот конструктор предназначен для создания цепочек. 
 set Hidden Dimension Strategy(strategy)
 Задаёт стратегию для скрытых строк и столбцов. По умолчанию — IGNORE_ROWS .
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const range = sheet.getRange('A1:B5'); const chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(range) .setHiddenDimensionStrategy( Charts.ChartHiddenDimensionStrategy.IGNORE_COLUMNS, ) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Параметры
| Имя | Тип | Описание | 
|---|---|---|
 strategy |  Chart Hidden Dimension Strategy | Стратегия, используемая для скрытых строк и столбцов. | 
Возвращаться
 Embedded Chart Builder — этот конструктор предназначен для создания цепочек. 
 set Merge Strategy(mergeStrategy)
 Задаёт стратегию слияния, используемую при наличии нескольких диапазонов. Если MERGE_ROWS , объединяются строки; если MERGE_COLUMNS , объединяются столбцы. Значение по умолчанию — MERGE_COLUMNS . 
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const range = sheet.getRange('A1:B10'); const range2 = sheet.getRange('C:C10'); const chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(range) .addRange(range2) .setMergeStrategy(Charts.ChartMergeStrategy.MERGE_ROWS) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Параметры
| Имя | Тип | Описание | 
|---|---|---|
 merge Strategy |  Chart Merge Strategy | Стратегия слияния, которую следует использовать. | 
Возвращаться
 Embedded Chart Builder — этот конструктор предназначен для создания цепочек. 
 set Num Headers(headers)
Задает количество строк или столбцов диапазона, которые следует рассматривать как заголовки.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const range = sheet.getRange('A1:B5'); const chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(range) .setNumHeaders(1) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Параметры
| Имя | Тип | Описание | 
|---|---|---|
 headers |  Integer | Количество строк или столбцов, которые следует рассматривать как заголовки. Отрицательные значения приводят к автоматическому определению заголовков. | 
Возвращаться
 Embedded Chart Builder — этот конструктор предназначен для создания цепочек. 
 set Option(option, value)
Задаёт расширенные параметры для этой диаграммы. Список доступных параметров см. в разделе «Параметры конфигурации диаграммы» .
Этот метод не проверяет, является ли указанный вами параметр допустимым для данного типа диаграммы, а также имеет ли значение правильный формат/структуру.
В этом примере показано, как изменить заголовок и установить легенду.
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); const sheet = spreadsheet.getSheets()[0]; const chart = sheet.newChart() .setOption('title', 'Earnings projections') .setOption('legend', { position: 'top', textStyle: { color: 'blue', fontSize: 16 }, }).build();
Параметры
| Имя | Тип | Описание | 
|---|---|---|
 option |  String | Название опции. | 
 value |  Object | Стоимость опциона. | 
Возвращаться
 Embedded Chart Builder — этот конструктор предназначен для создания цепочек. 
 set Position(anchorRowPos, anchorColPos, offsetX, offsetY)
 Задает положение, изменяя место отображения диаграммы на листе. anchor Row Pos и anchor Col Pos индексируются на 1. 
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const range = sheet.getRange('A1:B5'); const chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(range) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Параметры
| Имя | Тип | Описание | 
|---|---|---|
 anchor Row Pos |  Integer | Верхняя часть диаграммы закреплена в этой строке. | 
 anchor Col Pos |  Integer | Левая сторона диаграммы закреплена в этом столбце. | 
 offsetX |  Integer | Верхний правый угол диаграммы смещен на такое количество пикселей. | 
 offsetY |  Integer | Нижний левый угол диаграммы смещен на такое количество пикселей. | 
Возвращаться
 Embedded Chart Builder — этот конструктор предназначен для создания цепочек. 
 set Transpose Rows And Columns(transpose)
 Устанавливает, транспонированы ли строки и столбцы диаграммы. Если установлено значение true , строки и столбцы меняются местами. Значение по умолчанию — false . 
const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheets()[0]; const range = sheet.getRange('A1:B5'); const chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(range) .setTransposeRowsAndColumns(true) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Параметры
| Имя | Тип | Описание | 
|---|---|---|
 transpose |  Boolean |  Если true , строки и столбцы, используемые для построения диаграммы, транспонируются. | 
Возвращаться
 Embedded Chart Builder — этот конструктор предназначен для создания цепочек.