Class EmbeddedChart

EmbeddedChart

Đại diện cho một biểu đồ được nhúng vào bảng tính.

Ví dụ này cho thấy cách sửa đổi một biểu đồ hiện có:

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

Ví dụ này cho thấy cách tạo một biểu đồ mới:

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

Phương thức

Phương thứcKiểu dữ liệu trả vềMô tả ngắn
asDataSourceChart()DataSourceChart|nullTruyền đến một thực thể biểu đồ nguồn dữ liệu nếu biểu đồ là biểu đồ nguồn dữ liệu, hoặc null nếu không.
getAs(contentType)BlobTrả về dữ liệu bên trong đối tượng này dưới dạng một blob được chuyển đổi thành loại nội dung đã chỉ định.
getBlob()BlobTrả về dữ liệu bên trong đối tượng này dưới dạng một blob.
getChartId()Integer|nullTrả về một giá trị nhận dạng ổn định cho biểu đồ, giá trị này là duy nhất trên bảng tính chứa biểu đồ hoặc null nếu biểu đồ không nằm trong bảng tính.
getContainerInfo()ContainerInfoTrả về thông tin về vị trí của biểu đồ trong một trang tính.
getHiddenDimensionStrategy()ChartHiddenDimensionStrategyTrả về chiến lược dùng để xử lý các hàng và cột ẩn.
getMergeStrategy()ChartMergeStrategyTrả về chiến lược hợp nhất được dùng khi có nhiều dải ô.
getNumHeaders()IntegerTrả về số hàng hoặc cột trong dải ô được coi là tiêu đề.
getOptions()ChartOptionsTrả về các lựa chọn cho biểu đồ này, chẳng hạn như chiều cao, màu sắc và trục.
getRanges()Range[]Trả về các dải ô mà biểu đồ này dùng làm nguồn dữ liệu.
getTransposeRowsAndColumns()BooleanNếu true, các hàng và cột dùng để điền biểu đồ sẽ được chuyển đổi.
modify()EmbeddedChartBuilderTrả về một EmbeddedChartBuilder có thể dùng để sửa đổi biểu đồ này.

Tài liệu chi tiết

asDataSourceChart()

Truyền đến một thực thể biểu đồ nguồn dữ liệu nếu biểu đồ là biểu đồ nguồn dữ liệu, hoặc null nếu không.

Trả về

DataSourceChart|null – Biểu đồ nguồn dữ liệu.


getAs(contentType)

Trả về dữ liệu bên trong đối tượng này dưới dạng một blob được chuyển đổi thành loại nội dung đã chỉ định. Phương thức này thêm phần đuôi thích hợp vào tên tệp, ví dụ: "myfile.pdf". Tuy nhiên, phương thức này giả định rằng phần tên tệp theo sau dấu chấm cuối cùng (nếu có) là một phần đuôi hiện có cần được thay thế. Do đó, "ShoppingList.12.25.2014" sẽ trở thành "ShoppingList.12.25.pdf".

Để xem hạn mức hằng ngày cho lượt chuyển đổi, hãy xem bài viết Hạn mức cho các dịch vụ của Google. Các miền Google Workspace mới tạo có thể tạm thời phải tuân theo hạn mức nghiêm ngặt hơn.

Thông số

TênLoạiMô tả
contentTypeStringLoại MIME để chuyển đổi. Đối với hầu hết các blob, 'application/pdf' là lựa chọn hợp lệ duy nhất. Đối với hình ảnh ở định dạng BMP, GIF, JPEG hoặc PNG, bất kỳ định dạng nào trong số 'image/bmp', 'image/gif', 'image/jpeg' hoặc 'image/png' cũng đều hợp lệ. Đối với tài liệu Google Tài liệu, 'text/markdown' cũng hợp lệ.

Trả về

Blob – Dữ liệu dưới dạng một blob.


getBlob()

Trả về dữ liệu bên trong đối tượng này dưới dạng một blob.

Trả về

Blob – Dữ liệu dưới dạng một blob.


getChartId()

Trả về một giá trị nhận dạng ổn định cho biểu đồ, giá trị này là duy nhất trên bảng tính chứa biểu đồ hoặc null nếu biểu đồ không nằm trong bảng tính.

Trả về

Integer|null – Giá trị nhận dạng biểu đồ ổn định.


getContainerInfo()

Trả về thông tin về vị trí của biểu đồ trong một trang tính.

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

Trả về

ContainerInfo – Một đối tượng chứa vị trí của vùng chứa biểu đồ.


getHiddenDimensionStrategy()

Trả về chiến lược dùng để xử lý các hàng và cột ẩn. Giá trị mặc định là 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());

Trả về

ChartHiddenDimensionStrategy – Chiến lược dùng cho các hàng và cột ẩn.


getMergeStrategy()

Trả về chiến lược hợp nhất được dùng khi có nhiều dải ô. Nếu MERGE_ROWS, hàng sẽ được hợp nhất; nếu MERGE_COLUMNS, cột sẽ được hợp nhất. Giá trị mặc định là 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());

Trả về

ChartMergeStrategyMERGE_ROWS nếu các hàng được hợp nhất trên nhiều dải ô; MERGE_COLUMNS nếu các cột được hợp nhất trên nhiều dải ô.


getNumHeaders()

Trả về số hàng hoặc cột trong dải ô được coi là tiêu đề.

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

Trả về

Integer – Số hàng hoặc cột được coi là tiêu đề. Giá trị âm cho biết tiêu đề được tự động phát hiện.


getOptions()

Trả về các lựa chọn cho biểu đồ này, chẳng hạn như chiều cao, màu sắc và trục.

Các lựa chọn được trả về là không thể thay đổi.

Trả về

ChartOptions – Các lựa chọn cho biểu đồ này, chẳng hạn như chiều cao, màu sắc và trục.


getRanges()

Trả về các dải ô mà biểu đồ này dùng làm nguồn dữ liệu.

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

Trả về

Range[] – Một mảng các dải ô đóng vai trò là nguồn dữ liệu của biểu đồ này.


getTransposeRowsAndColumns()

Nếu true, các hàng và cột dùng để điền biểu đồ sẽ được chuyển đổi. Giá trị mặc định là 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());

Trả về

BooleanTrue nếu các hàng và cột dùng để tạo biểu đồ được chuyển đổi.


modify()

Trả về một EmbeddedChartBuilder có thể dùng để sửa đổi biểu đồ này. Gọi sheet.updateChart(chart) để lưu mọi thay đổi.

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

Trả về

EmbeddedChartBuilder – Trình tạo để tạo biểu đồ nhúng.