Class EmbeddedChart

Wbudowany wykres

Reprezentuje wykres osadzony w arkuszu kalkulacyjnym.

Ten przykład pokazuje, jak zmodyfikować istniejący wykres:

const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange('A2: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);

Ten przykład pokazuje, jak utworzyć nowy wykres:

function newChart(range) {
  const sheet = SpreadsheetApp.getActiveSheet();
  const chartBuilder = sheet.newChart();
  chartBuilder.addRange(range)
      .setChartType(Charts.ChartType.LINE)
      .setOption('title', 'My Line Chart!');
  sheet.insertChart(chartBuilder.build());
}

Metody

MetodaZwracany typKrótki opis
asDataSourceChart()DataSourceChartPrzekształca się w przypadku wykresu źródła danych, jeśli jest to wykres źródła danych, lub nullw innym przypadku.
getAs(contentType)BlobZwraca dane z tego obiektu jako blob przekonwertowany na określony typ treści.
getBlob()BlobZwraca dane z tego obiektu jako blob.
getChartId()IntegerZwraca stabilny identyfikator wykresu, który jest niepowtarzalny w arkuszu kalkulacyjnym zawierającym wykres, lub null, jeśli wykres nie znajduje się w arkuszu kalkulacyjnym.
getContainerInfo()ContainerInfoZwraca informacje o tym, gdzie wykres jest umieszczony na arkuszu.
getHiddenDimensionStrategy()ChartHiddenDimensionStrategyZwraca strategię używaną do obsługi ukrytych wierszy i kolumn.
getMergeStrategy()ChartMergeStrategyZwraca strategię scalania używaną, gdy istnieje więcej niż 1 zakres.
getNumHeaders()IntegerZwraca liczbę wierszy lub kolumn w zakresie, które są traktowane jako nagłówki.
getOptions()ChartOptionsZwraca opcje wykresu, takie jak wysokość, kolory i osi.
getRanges()Range[]Zwraca zakresy, których używa ten wykres jako źródła danych.
getTransposeRowsAndColumns()BooleanJeśli true, wiersze i kolumny używane do wypełniania wykresu są zamieniane.
modify()EmbeddedChartBuilderZwraca EmbeddedChartBuilder, którego można użyć do zmodyfikowania tego wykresu.

Szczegółowa dokumentacja

asDataSourceChart()

Przekształca się w przypadku wykresu źródła danych, jeśli jest to wykres źródła danych, lub nullw innym przypadku.

Powrót

DataSourceChart – wykres źródła danych.


getAs(contentType)

Zwraca dane z tego obiektu jako blob przekonwertowany na określony typ treści. Ta metoda dodaje odpowiednie rozszerzenie do nazwy pliku, np. „mójplik.pdf”. Zakłada ona jednak, że część nazwy pliku, która następuje po ostatnim okresie (jeśli w ogóle występuje), to istniejące rozszerzenie, które należy zastąpić. W rezultacie plik „ShoppingList.12.25.2014” staje się „ShoppingList.12.25.pdf”.

Informacje o limitach dziennych konwersji znajdziesz w artykule Limity dotyczące usług Google. Nowo utworzone domeny Google Workspace mogą być tymczasowo objęte bardziej rygorystycznymi limitami.

Parametry

NazwaTypOpis
contentTypeStringTyp MIME, na który ma nastąpić konwersja. W przypadku większości blobów opcja 'application/pdf' jest jedyną prawidłową opcją. W przypadku obrazów w formacie BMP, GIF, JPEG lub PNG prawidłowe są również wartości 'image/bmp', 'image/gif', 'image/jpeg' lub 'image/png'. W przypadku dokumentu w Dokumentach Google możesz też użyć 'text/markdown'.

Powrót

Blob – dane w postaci bloba.


getBlob()

Zwraca dane z tego obiektu jako blob.

Powrót

Blob – dane w postaci bloba.


getChartId()

Zwraca stabilny identyfikator wykresu, który jest niepowtarzalny w arkuszu kalkulacyjnym zawierającym wykres, lub null, jeśli wykres nie znajduje się w arkuszu kalkulacyjnym.

Powrót

Integer – stabilny identyfikator wykresu.


getContainerInfo()

Zwraca informacje o tym, gdzie wykres jest umieszczony na arkuszu.

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

const containerInfo = chart.getContainerInfo();

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

Powrót

ContainerInfo – obiekt zawierający położenie kontenera wykresu


getHiddenDimensionStrategy()

Zwraca strategię używaną do obsługi ukrytych wierszy i kolumn. Domyślna wartość to 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();

// Logs the strategy to use for hidden rows and columns which is
// Charts.ChartHiddenDimensionStrategy.IGNORE_COLUMNS in this case.
Logger.log(chart.getHiddenDimensionStrategy());

Powrót

ChartHiddenDimensionStrategy – strategia stosowana w przypadku ukrytych wierszy i kolumn.


getMergeStrategy()

Zwraca strategię scalania używaną, gdy istnieje więcej niż 1 zakres. Jeśli MERGE_ROWS, wiersze są scalane; jeśli MERGE_COLUMNS, kolumny są scalane. Domyślna wartość to MERGE_COLUMNS.

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];

const range = sheet.getRange('A1:B10');
const range2 = sheet.getRange('C1:C10');
const chart = sheet.newChart()
                  .setChartType(Charts.ChartType.BAR)
                  .addRange(range)
                  .addRange(range2)
                  .setMergeStrategy(Charts.ChartMergeStrategy.MERGE_ROWS)
                  .setPosition(5, 5, 0, 0)
                  .build();

// Logs whether rows of multiple ranges are merged, which is MERGE_ROWS in this
// case.
Logger.log(chart.getMergeStrategy());

Powrót

ChartMergeStrategy – MERGE_ROWS, jeśli wiersze są scalone w kilku zakresach; MERGE_COLUMNS, jeśli kolumny są scalone w kilku zakresach


getNumHeaders()

Zwraca liczbę wierszy lub kolumn w zakresie, które są traktowane jako nagłówki.

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

// Logs the number of rows or columns to use as headers, which is 1 in this
// case.
Logger.log(chart.getHeaders());

Powrót

Integer – liczba wierszy lub kolumn traktowanych jako nagłówki. Wartości ujemne wskazują, że nagłówki są wykrywane automatycznie.


getOptions()

Zwraca opcje wykresu, takie jak wysokość, kolory i osi.

Zwrócone opcje są niemodyfikowalne.

Powrót

ChartOptions – opcje wykresu, takie jak wysokość, kolory i osi.


getRanges()

Zwraca zakresy, których używa ten wykres jako źródła danych.

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

const ranges = chart.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());
}

Powrót

Range[] – tablica zakresów, które służą jako źródło danych tego wykresu


getTransposeRowsAndColumns()

Jeśli true, wiersze i kolumny używane do wypełniania wykresu są zamieniane. Domyślna wartość to false.

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];

const range = sheet.getRange('A1:B5');
const chart = sheet.newChart()
                  .addRange(range)
                  .setChartType(Charts.ChartType.BAR)
                  .setTransposeRowsAndColumns(true)
                  .setPosition(5, 5, 0, 0)
                  .build();

// Logs whether rows and columns should be transposed, which is true in this
// case.
Logger.log(chart.getTransposeRowsAndColumns());

Powrót

Boolean – true, jeśli wiersze i kolumny użyte do stworzenia wykresu są przestawione.


modify()

Zwraca EmbeddedChartBuilder, którego można użyć do zmodyfikowania tego wykresu. Aby zapisać zmiany, kliknij sheet.updateChart(chart).

const sheet = SpreadsheetApp.getActiveSheet();
let chart = sheet.getCharts()[0];
chart = chart.modify()
            .setOption('width', 800)
            .setOption('height', 640)
            .setPosition(5, 5, 0, 0)
            .build();
sheet.updateChart(chart);

Powrót

EmbeddedChartBuilder – kreator do tworzenia wykresów umieszczonych