Class EmbeddedChartBuilder

EmbeddedChartBuilder

Builder используется для редактирования EmbeddedChart . Изменения, внесенные в диаграмму, не сохраняются до тех пор, пока не будет вызван метод 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 Устанавливает тип диаграммы на «Круговая диаграмма» и возвращает объект 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 Определяет, будут ли строки и столбцы диаграммы поменяны местами.

Подробная документация

addRange(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 Диапазон для добавления.

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

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

Устанавливает тип диаграммы на "Круговая диаграмма" и возвращает объект EmbeddedPieChartBuilder .

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

EmbeddedPieChartBuilder — конструктор круговых диаграмм.


asScatterChart()

Устанавливает тип диаграммы на ScatterChart и возвращает объект EmbeddedScatterChartBuilder .

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

EmbeddedScatterChartBuilder — конструктор для построения точечной диаграммы.


asTableChart()

Устанавливает тип диаграммы на TableChart и возвращает объект EmbeddedTableChartBuilder .

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

EmbeddedTableChartBuilder — конструктор табличных диаграмм.


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

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

EmbeddedChart — созданная диаграмма, которую еще необходимо добавить в электронную таблицу.


clearRanges()

Удаляет все диапазоны из диаграммы, которую изменяет данный конструктор.

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

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

EmbeddedChartBuilder — Этот конструктор предназначен для создания цепочек диаграмм.


getChartType()

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

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

ChartType — Тип диаграммы.


getContainer()

Возвращает объект ContainerInfo , который указывает местоположение диаграммы на листе.

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

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

ContainerInfo — объект, содержащий положение контейнера диаграммы.


getRanges()

Возвращает копию списка диапазонов, которые в данный момент предоставляют данные для этой диаграммы. Используйте addRange(range) и removeRange(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[] — массив диапазонов, служащий источником данных для создаваемой диаграммы.


removeRange(range)

Удаляет указанный диапазон из диаграммы, которую изменяет данный построитель. Не выдает ошибку, если диапазон отсутствует в данной диаграмме.

Удаляемый диапазон должен совпадать с диапазоном, добавленным с помощью addRange(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 Диапазон, который необходимо удалить.

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

EmbeddedChartBuilder — Этот конструктор предназначен для создания цепочек диаграмм.


setChartType(type)

Изменяет тип диаграммы. В настоящее время поддерживаются не все типы встроенных диаграмм. См. ChartType .

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 Тип, в который нужно преобразовать эту диаграмму.

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

EmbeddedChartBuilder — Этот конструктор предназначен для создания цепочек диаграмм.


setHiddenDimensionStrategy(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 Стратегия, которую следует использовать для скрытых строк и столбцов.

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

EmbeddedChartBuilder — Этот конструктор предназначен для создания цепочек диаграмм.


setMergeStrategy(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 Какую стратегию слияния следует использовать.

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

EmbeddedChartBuilder — Этот конструктор предназначен для создания цепочек диаграмм.


setNumHeaders(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 Количество строк или столбцов, которые следует рассматривать как заголовки. Отрицательные значения приводят к автоматическому определению заголовков.

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

EmbeddedChartBuilder — Этот конструктор предназначен для создания цепочек диаграмм.


setOption(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 Стоимость опциона.

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

EmbeddedChartBuilder — Этот конструктор предназначен для создания цепочек диаграмм.


setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)

Задает положение, изменяя место отображения диаграммы на листе. anchorRowPos и anchorColPos имеют индекс с 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 Нижний левый угол диаграммы смещен на указанное количество пикселей.

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

EmbeddedChartBuilder — Этот конструктор предназначен для создания цепочек диаграмм.


setTransposeRowsAndColumns(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 , строки и столбцы, использованные для построения диаграммы, меняются местами.

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

EmbeddedChartBuilder — Этот конструктор предназначен для создания цепочек диаграмм.