Builder используется для редактирования EmbeddedChart
. Изменения, внесенные в диаграмму, не сохраняются до тех пор, пока Sheet.updateChart(chart)
не будет вызван для перестроенной диаграммы.
var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getRange("A1:B8"); var 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);
Методы
Метод | Тип возврата | Краткое описание |
---|---|---|
addRange(range) | EmbeddedChartBuilder | Добавляет диапазон в диаграмму, которую изменяет этот построитель. |
asAreaChart() | EmbeddedAreaChartBuilder | Задает тип диаграммы AreaChart и возвращает EmbeddedAreaChartBuilder . |
asBarChart() | EmbeddedBarChartBuilder | Устанавливает тип диаграммы BarChart и возвращает EmbeddedBarChartBuilder . |
asColumnChart() | EmbeddedColumnChartBuilder | Задает тип диаграммы ColumnChart и возвращает EmbeddedColumnChartBuilder . |
asComboChart() | EmbeddedComboChartBuilder | Задает тип диаграммы ComboChart и возвращает EmbeddedComboChartBuilder . |
asHistogramChart() | EmbeddedHistogramChartBuilder | Задает тип диаграммы HistogramChart и возвращает EmbeddedHistogramChartBuilder . |
asLineChart() | EmbeddedLineChartBuilder | Устанавливает тип диаграммы LineChart и возвращает EmbeddedLineChartBuilder . |
asPieChart() | EmbeddedPieChartBuilder | Задает тип диаграммы PieChart и возвращает EmbeddedPieChartBuilder . |
asScatterChart() | EmbeddedScatterChartBuilder | Задает тип диаграммы ScatterChart и возвращает EmbeddedScatterChartBuilder . |
asTableChart() | EmbeddedTableChartBuilder | Задает тип диаграммы TableChart и возвращает EmbeddedTableChartBuilder . |
build() | EmbeddedChart | Строит диаграмму, отражающую все внесенные в нее изменения. |
clearRanges() | EmbeddedChartBuilder | Удаляет все диапазоны из диаграммы, которую изменяет этот построитель. |
getChartType() | ChartType | Возвращает текущий тип диаграммы. |
getContainer() | ContainerInfo | Верните диаграмму ContainerInfo , которая инкапсулирует расположение диаграммы на листе. |
getRanges() | Range[] | Возвращает копию списка диапазонов, в настоящее время предоставляющих данные для этой диаграммы. |
removeRange(range) | EmbeddedChartBuilder | Удаляет указанный диапазон из диаграммы, которую изменяет этот построитель. |
setChartType(type) | EmbeddedChartBuilder | Изменяет тип диаграммы. |
setHiddenDimensionStrategy(strategy) | EmbeddedChartBuilder | Устанавливает стратегию, используемую для скрытых строк и столбцов. |
setMergeStrategy(mergeStrategy) | EmbeddedChartBuilder | Устанавливает стратегию слияния, которая будет использоваться при наличии более одного диапазона. |
setNumHeaders(headers) | EmbeddedChartBuilder | Устанавливает количество строк или столбцов диапазона, которые следует рассматривать как заголовки. |
setOption(option, value) | EmbeddedChartBuilder | Устанавливает дополнительные параметры для этой диаграммы. |
setPosition(anchorRowPos, anchorColPos, offsetX, offsetY) | EmbeddedChartBuilder | Устанавливает положение, изменяя расположение диаграммы на листе. |
setTransposeRowsAndColumns(transpose) | EmbeddedChartBuilder | Определяет, транспонируются ли строки и столбцы диаграммы. |
Подробная документация
addRange(range)
Добавляет диапазон в диаграмму, которую изменяет этот построитель. Не добавляет диапазон, если он уже добавлен на диаграмму.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(sheet.getRange("A1:B8")) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Параметры
Имя | Тип | Описание |
---|---|---|
range | Range | Добавляемый диапазон. |
Возвращаться
EmbeddedChartBuilder
— этот конструктор для связывания
asAreaChart()
Задает тип диаграммы AreaChart и возвращает EmbeddedAreaChartBuilder
.
Возвращаться
EmbeddedAreaChartBuilder
— построитель диаграммы с областями.
asBarChart()
Устанавливает тип диаграммы BarChart и возвращает EmbeddedBarChartBuilder
.
Возвращаться
EmbeddedBarChartBuilder
— построитель гистограммы
asColumnChart()
Задает тип диаграммы ColumnChart и возвращает EmbeddedColumnChartBuilder
.
Возвращаться
EmbeddedColumnChartBuilder
— построитель гистограммы.
asComboChart()
Задает тип диаграммы ComboChart и возвращает EmbeddedComboChartBuilder
.
Возвращаться
EmbeddedComboChartBuilder
— построитель комбинированной диаграммы
asHistogramChart()
Задает тип диаграммы HistogramChart и возвращает EmbeddedHistogramChartBuilder
.
Возвращаться
EmbeddedHistogramChartBuilder
— построитель гистограммы.
asLineChart()
Устанавливает тип диаграммы LineChart и возвращает EmbeddedLineChartBuilder
.
Возвращаться
EmbeddedLineChartBuilder
— конструктор линейного графика
asPieChart()
Задает тип диаграммы PieChart и возвращает EmbeddedPieChartBuilder
.
Возвращаться
EmbeddedPieChartBuilder
— построитель круговой диаграммы
asScatterChart()
Задает тип диаграммы ScatterChart и возвращает EmbeddedScatterChartBuilder
.
Возвращаться
EmbeddedScatterChartBuilder
— построитель точечной диаграммы
asTableChart()
Устанавливает тип диаграммы TableChart и возвращает EmbeddedTableChartBuilder
.
Возвращаться
EmbeddedTableChartBuilder
— конструктор табличной диаграммы
build()
Строит диаграмму, отражающую все внесенные в нее изменения.
Этот метод не рисует диаграмму автоматически поверх таблицы. Новую диаграмму необходимо вставить с sheet.insertChart(chart)
, а существующую диаграмму следует обновить с sheet.updateChart(chart)
.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var range = sheet.getRange("A1:B5"); var chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(range) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Возвращаться
EmbeddedChart
— созданная диаграмма, которую еще нужно добавить в таблицу
clearRanges()
Удаляет все диапазоны из диаграммы, которую изменяет этот построитель.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; // This code updates the chart to use only the new ranges while preserving the existing // formatting of the chart. var chart = sheet.getCharts()[0]; var newChart = chart .modify() .clearRanges() .addRange(sheet.getRange("A1:A5")) .addRange(sheet.getRange("B1:B5")) .build(); sheet.updateChart(newChart);
Возвращаться
EmbeddedChartBuilder
— этот конструктор для связывания
getChartType()
getContainer()
Верните диаграмму ContainerInfo
, которая инкапсулирует расположение диаграммы на листе.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var 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() var containerInfo = chartBuilder.getContainer(); // Logs the values we 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());
Возвращаться
ContainerInfo
— объект, содержащий позицию контейнера диаграммы.
getRanges()
Возвращает копию списка диапазонов, в настоящее время предоставляющих данные для этой диаграммы. Используйте addRange(range)
и removeRange(range)
чтобы изменить этот список.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var chartBuilder = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(sheet.getRange("A1:B8")) .setPosition(5, 5, 0, 0); var ranges = chartBuilder.getRanges(); // There's only one range as a data source for this chart, // so this logs "A1:B8" for (var i in ranges) { var range = ranges[i]; Logger.log(range.getA1Notation()); }
Возвращаться
Range[]
— массив диапазонов, которые служат источником данных для построения диаграммы.
removeRange(range)
Удаляет указанный диапазон из диаграммы, которую изменяет этот построитель. Не выдает ошибку, если диапазон отсутствует на этой диаграмме.
Удаленный диапазон должен совпадать с диапазоном, добавленным с помощью addRange(range)
; в противном случае в диаграмму не вносятся никакие изменения. Этот метод нельзя использовать для частичного удаления значений из диапазона.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var firstRange = sheet.getRange("A1:B5"); var secondRange = sheet.getRange("A6:B8"); var chartBuilder = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(firstRange) // This range will render 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 // will not be removed, and will not throw an exception chartBuilder.removeRange(firstRange); chartBuilder.removeRange(sheet.getRange("A6:B8")); var chart = chartBuilder.build(); sheet.insertChart(chart);
Параметры
Имя | Тип | Описание |
---|---|---|
range | Range | Диапазон, который нужно удалить. |
Возвращаться
EmbeddedChartBuilder
— этот конструктор для связывания
setChartType(type)
Изменяет тип диаграммы. В настоящее время поддерживаются не все типы встроенных диаграмм. См. ChartType
.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var range = sheet.getRange("A1:B5"); var chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(range) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Параметры
Имя | Тип | Описание |
---|---|---|
type | ChartType | Тип, на который нужно изменить эту диаграмму. |
Возвращаться
EmbeddedChartBuilder
— этот конструктор для связывания
setHiddenDimensionStrategy(strategy)
Устанавливает стратегию, используемую для скрытых строк и столбцов. По умолчанию IGNORE_ROWS
.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var range = sheet.getRange("A1:B5"); var chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(range) .setHiddenDimensionStrategy(Charts.ChartHiddenDimensionStrategy.IGNORE_COLUMNS) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Параметры
Имя | Тип | Описание |
---|---|---|
strategy | ChartHiddenDimensionStrategy | Стратегия, используемая для скрытых строк и столбцов. |
Возвращаться
EmbeddedChartBuilder
— этот конструктор для связывания
setMergeStrategy(mergeStrategy)
Устанавливает стратегию слияния, которая будет использоваться при наличии более одного диапазона. Если MERGE_ROWS
, строки объединяются; если MERGE_COLUMNS
, столбцы объединяются. По умолчанию MERGE_COLUMNS
.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var range = sheet.getRange("A1:B10"); var range2 = sheet.getRange("C:C10"); var 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);
Параметры
Имя | Тип | Описание |
---|---|---|
mergeStrategy | ChartMergeStrategy | Используемая стратегия слияния. |
Возвращаться
EmbeddedChartBuilder
— этот конструктор для связывания
setNumHeaders(headers)
Устанавливает количество строк или столбцов диапазона, которые следует рассматривать как заголовки.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var range = sheet.getRange("A1:B5"); var chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(range) .setNumHeaders(1) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Параметры
Имя | Тип | Описание |
---|---|---|
headers | Integer | Количество строк или столбцов, которые следует рассматривать как заголовки. Отрицательные значения приводят к автоматическому обнаружению заголовков. |
Возвращаться
EmbeddedChartBuilder
— этот конструктор для связывания
setOption(option, value)
Устанавливает дополнительные параметры для этой диаграммы. Чтобы просмотреть список доступных параметров, см. Параметры конфигурации диаграммы .
Этот метод не проверяет правильность указанного вами параметра для этого типа диаграммы и правильность формата/структуры значения.
В этом примере показано, как изменить заголовок и установить легенду.
builder.setOption('title', 'Earnings projections'); builder.setOption('legend', {position: 'top', textStyle: {color: 'blue', fontSize: 16}});
Параметры
Имя | Тип | Описание |
---|---|---|
option | String | Название опции. |
value | Object | Стоимость опциона. |
Возвращаться
EmbeddedChartBuilder
— этот построитель для создания цепочек.
setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)
Устанавливает положение, изменяя расположение диаграммы на листе. anchorRowPos
и anchorColPos
имеют 1-индекс.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var range = sheet.getRange("A1:B5"); var chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(range) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Параметры
Имя | Тип | Описание |
---|---|---|
anchorRowPos | Integer | Верхняя часть диаграммы привязана к этой строке. |
anchorColPos | Integer | Левая часть диаграммы привязана к этому столбцу. |
offsetX | Integer | Верхний правый угол диаграммы смещен на это количество пикселей. |
offsetY | Integer | Нижний левый угол диаграммы смещен на это количество пикселей. |
Возвращаться
EmbeddedChartBuilder
— этот конструктор для связывания
setTransposeRowsAndColumns(transpose)
Определяет, транспонируются ли строки и столбцы диаграммы. Если установлено значение true
, строки и столбцы переключаются. По умолчанию установлено значение false
.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var range = sheet.getRange("A1:B5"); var chart = sheet.newChart() .setChartType(Charts.ChartType.BAR) .addRange(range) .setTransposeRowsAndColumns(true) .setPosition(5, 5, 0, 0) .build(); sheet.insertChart(chart);
Параметры
Имя | Тип | Описание |
---|---|---|
transpose | Boolean | Если true , строки и столбцы, используемые для построения диаграммы, транспонируются. |
Возвращаться
EmbeddedChartBuilder
— этот конструктор для связывания