Class EmbeddedChartBuilder

ВстроенныйПостроитель диаграмм

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()

Возвращает текущий тип диаграммы.

Возвращаться

ChartType — тип диаграммы


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 — этот конструктор для связывания