Class EmbeddedChartBuilder

PenyematanPembuatDiagram

Builder yang digunakan untuk mengedit EmbeddedChart. Perubahan yang dilakukan pada diagram tidak akan disimpan hingga Sheet.updateChart(chart) dipanggil pada diagram yang dibangun ulang.

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

Metode

MetodeJenis hasil yang ditampilkanDeskripsi singkat
addRange(range)EmbeddedChartBuilderMenambahkan rentang ke diagram yang diubah oleh builder ini.
asAreaChart()EmbeddedAreaChartBuilderMenetapkan jenis diagram ke AreaChart dan menampilkan EmbeddedAreaChartBuilder.
asBarChart()EmbeddedBarChartBuilderMenetapkan jenis diagram ke BarChart dan menampilkan EmbeddedBarChartBuilder.
asColumnChart()EmbeddedColumnChartBuilderMenetapkan jenis diagram ke ColumnChart dan menampilkan EmbeddedColumnChartBuilder.
asComboChart()EmbeddedComboChartBuilderMenetapkan jenis diagram ke ComboChart dan menampilkan EmbeddedComboChartBuilder.
asHistogramChart()EmbeddedHistogramChartBuilderMenetapkan jenis diagram ke HistogramChart dan menampilkan EmbeddedHistogramChartBuilder.
asLineChart()EmbeddedLineChartBuilderMenetapkan jenis diagram ke LineChart dan menampilkan EmbeddedLineChartBuilder.
asPieChart()EmbeddedPieChartBuilderMenetapkan jenis diagram ke PieChart dan menampilkan EmbeddedPieChartBuilder.
asScatterChart()EmbeddedScatterChartBuilderMenetapkan jenis diagram ke ScatterChart dan menampilkan EmbeddedScatterChartBuilder.
asTableChart()EmbeddedTableChartBuilderMenetapkan jenis diagram ke TableChart dan menampilkan EmbeddedTableChartBuilder.
build()EmbeddedChartMembangun diagram untuk mencerminkan semua perubahan yang dilakukan padanya.
clearRanges()EmbeddedChartBuilderMenghapus semua rentang dari diagram yang diubah oleh builder ini.
getChartType()ChartTypeMenampilkan jenis diagram saat ini.
getContainer()ContainerInfoMenampilkan ContainerInfo diagram, yang mencakup tempat diagram muncul di sheet.
getRanges()Range[]Menampilkan salinan daftar rentang yang saat ini menyediakan data untuk diagram ini.
removeRange(range)EmbeddedChartBuilderMenghapus rentang yang ditentukan dari diagram yang diubah oleh builder ini.
setChartType(type)EmbeddedChartBuilderMengubah jenis diagram.
setHiddenDimensionStrategy(strategy)EmbeddedChartBuilderMenetapkan strategi yang akan digunakan untuk baris dan kolom tersembunyi.
setMergeStrategy(mergeStrategy)EmbeddedChartBuilderMenetapkan strategi penggabungan yang akan digunakan jika ada lebih dari satu rentang.
setNumHeaders(headers)EmbeddedChartBuilderMenetapkan jumlah baris atau kolom rentang yang harus diperlakukan sebagai header.
setOption(option, value)EmbeddedChartBuilderMenetapkan opsi lanjutan untuk diagram ini.
setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)EmbeddedChartBuilderMenetapkan posisi, mengubah tempat munculnya diagram pada sheet.
setTransposeRowsAndColumns(transpose)EmbeddedChartBuilderMenetapkan apakah baris dan kolom diagram diubah urutannya.

Dokumentasi mendetail

addRange(range)

Menambahkan rentang ke diagram yang diubah oleh builder ini. Tidak menambahkan rentang jika sudah ditambahkan ke diagram.

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

Parameter

NamaJenisDeskripsi
rangeRangeRentang yang akan ditambahkan.

Pulang pergi

EmbeddedChartBuilder — Builder ini, untuk membuat rantai.


asAreaChart()

Menetapkan jenis diagram ke AreaChart dan menampilkan EmbeddedAreaChartBuilder.

Pulang pergi

EmbeddedAreaChartBuilder — Builder untuk diagram area.


asBarChart()

Menetapkan jenis diagram ke BarChart dan menampilkan EmbeddedBarChartBuilder.

Pulang pergi

EmbeddedBarChartBuilder — Builder untuk diagram batang.


asColumnChart()

Menetapkan jenis diagram ke ColumnChart dan menampilkan EmbeddedColumnChartBuilder.

Pulang pergi

EmbeddedColumnChartBuilder — Builder untuk diagram kolom.


asComboChart()

Menetapkan jenis diagram ke ComboChart dan menampilkan EmbeddedComboChartBuilder.

Pulang pergi

EmbeddedComboChartBuilder — Builder untuk diagram kombinasi.


asHistogramChart()

Menetapkan jenis diagram ke HistogramChart dan menampilkan EmbeddedHistogramChartBuilder.

Pulang pergi

EmbeddedHistogramChartBuilder — Builder untuk diagram histogram.


asLineChart()

Menetapkan jenis diagram ke LineChart dan menampilkan EmbeddedLineChartBuilder.

Pulang pergi

EmbeddedLineChartBuilder — Builder untuk diagram garis.


asPieChart()

Menetapkan jenis diagram ke PieChart dan menampilkan EmbeddedPieChartBuilder.

Pulang pergi

EmbeddedPieChartBuilder — Builder untuk diagram lingkaran.


asScatterChart()

Menetapkan jenis diagram ke ScatterChart dan menampilkan EmbeddedScatterChartBuilder.

Pulang pergi

EmbeddedScatterChartBuilder — Builder untuk diagram sebar.


asTableChart()

Menetapkan jenis diagram ke TableChart dan menampilkan EmbeddedTableChartBuilder.

Pulang pergi

EmbeddedTableChartBuilder — Builder untuk diagram tabel.


build()

Membangun diagram untuk mencerminkan semua perubahan yang dilakukan padanya.

Metode ini tidak otomatis menggambar diagram di atas spreadsheet. Diagram baru harus disisipkan melalui sheet.insertChart(chart), dan diagram yang ada harus diperbarui melalui 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);

Pulang pergi

EmbeddedChart — Diagram yang dibuat, yang masih harus ditambahkan ke spreadsheet.


clearRanges()

Menghapus semua rentang dari diagram yang diubah oleh builder ini.

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

Pulang pergi

EmbeddedChartBuilder — Builder ini, untuk membuat rantai.


getChartType()

Menampilkan jenis diagram saat ini.

Pulang pergi

ChartType — Jenis diagram.


getContainer()

Menampilkan ContainerInfo diagram, yang mencakup tempat diagram muncul di sheet.

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

Pulang pergi

ContainerInfo — Objek yang berisi posisi penampung diagram.


getRanges()

Menampilkan salinan daftar rentang yang saat ini menyediakan data untuk diagram ini. Gunakan addRange(range) dan removeRange(range) untuk mengubah daftar ini.

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

Pulang pergi

Range[] — Array rentang yang berfungsi sebagai sumber data diagram yang akan dibuat.


removeRange(range)

Menghapus rentang yang ditentukan dari diagram yang diubah oleh builder ini. Tidak menampilkan error jika rentang tidak ada dalam diagram ini.

Rentang yang dihapus harus cocok dengan rentang yang ditambahkan melalui addRange(range); jika tidak, tidak ada perubahan yang dilakukan pada diagram. Metode ini tidak dapat digunakan untuk menghapus sebagian nilai dari rentang.

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

Parameter

NamaJenisDeskripsi
rangeRangeRentang yang akan dihapus.

Pulang pergi

EmbeddedChartBuilder — Builder ini, untuk membuat rantai.


setChartType(type)

Mengubah jenis diagram. Tidak semua jenis diagram sematan didukung saat ini. Lihat 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);

Parameter

NamaJenisDeskripsi
typeChartTypeJenis yang akan diubah menjadi diagram ini.

Pulang pergi

EmbeddedChartBuilder — Builder ini, untuk membuat rantai.


setHiddenDimensionStrategy(strategy)

Menetapkan strategi yang akan digunakan untuk baris dan kolom tersembunyi. Default-nya adalah 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);

Parameter

NamaJenisDeskripsi
strategyChartHiddenDimensionStrategyStrategi yang akan digunakan untuk baris dan kolom tersembunyi.

Pulang pergi

EmbeddedChartBuilder — Builder ini, untuk membuat rantai.


setMergeStrategy(mergeStrategy)

Menetapkan strategi penggabungan yang akan digunakan jika ada lebih dari satu rentang. Jika MERGE_ROWS, baris akan digabungkan; jika MERGE_COLUMNS, kolom akan digabungkan. Default-nya adalah 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);

Parameter

NamaJenisDeskripsi
mergeStrategyChartMergeStrategyStrategi penggabungan yang akan digunakan.

Pulang pergi

EmbeddedChartBuilder — Builder ini, untuk membuat rantai.


setNumHeaders(headers)

Menetapkan jumlah baris atau kolom rentang yang harus diperlakukan sebagai header.

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

Parameter

NamaJenisDeskripsi
headersIntegerJumlah baris atau kolom yang akan diperlakukan sebagai header. Nilai negatif menyebabkan header terdeteksi secara otomatis.

Pulang pergi

EmbeddedChartBuilder — Builder ini, untuk membuat rantai.


setOption(option, value)

Menetapkan opsi lanjutan untuk diagram ini. Untuk melihat daftar opsi yang tersedia, lihat Opsi konfigurasi diagram.

Metode ini tidak memvalidasi apakah opsi yang Anda tentukan valid untuk jenis diagram ini atau apakah nilai memiliki format/struktur yang benar.

Contoh ini menunjukkan cara mengubah judul dan menyetel legenda.

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

Parameter

NamaJenisDeskripsi
optionStringNama opsi.
valueObjectNilai opsi.

Pulang pergi

EmbeddedChartBuilder — Builder ini, untuk membuat rantai.


setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)

Menetapkan posisi, mengubah tempat munculnya diagram pada sheet. anchorRowPos dan anchorColPos diindeks 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);

Parameter

NamaJenisDeskripsi
anchorRowPosIntegerSisi atas diagram ditambatkan di baris ini.
anchorColPosIntegerSisi kiri diagram ditambatkan di kolom ini.
offsetXIntegerSudut kanan atas diagram diimbangi dengan jumlah piksel ini.
offsetYIntegerPojok kiri bawah diagram di-offset sebanyak piksel ini.

Pulang pergi

EmbeddedChartBuilder — Builder ini, untuk membuat rantai.


setTransposeRowsAndColumns(transpose)

Menetapkan apakah baris dan kolom diagram diubah urutannya. Jika disetel ke true, baris dan kolom akan ditukar. Nilai defaultnya adalah 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);

Parameter

NamaJenisDeskripsi
transposeBooleanJika true, baris dan kolom yang digunakan untuk membuat diagram akan ditransposisikan.

Pulang pergi

EmbeddedChartBuilder — Builder ini, untuk membuat rantai.