Class EmbeddedTableChartBuilder

EmbeddedTableChartBuilder

表格图表的构建器。如需了解详情,请参阅 Gviz 文档

方法

方法返回类型简介
addRange(range)EmbeddedChartBuilder向此构建器修改的图表添加一个范围。
asAreaChart()EmbeddedAreaChartBuilder将图表类型设置为 AreaChart,并返回一个 EmbeddedAreaChartBuilder
asBarChart()EmbeddedBarChartBuilder将图表类型设置为条形图并返回 EmbeddedBarChartBuilder
asColumnChart()EmbeddedColumnChartBuilder将图表类型设置为 ColumnChart,并返回一个 EmbeddedColumnChartBuilder
asComboChart()EmbeddedComboChartBuilder将图表类型设置为 ComboChart 值,并返回 EmbeddedComboChartBuilder
asHistogramChart()EmbeddedHistogramChartBuilder将图表类型设置为直方图类型并返回 EmbeddedHistogramChartBuilder
asLineChart()EmbeddedLineChartBuilder将图表类型设置为折线图,并返回 EmbeddedLineChartBuilder
asPieChart()EmbeddedPieChartBuilder将图表类型设置为 PieChart 并返回 EmbeddedPieChartBuilder
asScatterChart()EmbeddedScatterChartBuilder将图表类型设置为 ScatterChart 并返回 EmbeddedScatterChartBuilder
asTableChart()EmbeddedTableChartBuilder将图表类型设置为 TableChart,并返回 EmbeddedTableChartBuilder
build()EmbeddedChart构建图表以反映对其做出的所有更改。
clearRanges()EmbeddedChartBuilder从此构建器修改的图表中移除所有范围。
enablePaging(enablePaging)EmbeddedTableChartBuilder设置是否启用数据分页。
enablePaging(pageSize)EmbeddedTableChartBuilder启用分页并设置每页中的行数。
enablePaging(pageSize, startPage)EmbeddedTableChartBuilder启用分页,设置每页和要显示的第一个表格页的行数(页码从零开始)。
enableRtlTable(rtlEnabled)EmbeddedTableChartBuilder通过反向排序表的列顺序,添加对从右到左书写的语言(例如阿拉伯语或希伯来语)的基本支持,使 0 列位于最右边的列,最后一列位于最左边的列。
enableSorting(enableSorting)EmbeddedTableChartBuilder设置是否在用户点击列标题时对列进行排序。
getChartType()ChartType返回当前的图表类型。
getContainer()ContainerInfo返回图表 ContainerInfo,其中封装了图表在工作表上的显示位置。
getRanges()Range[]返回当前为此图表提供数据的范围列表的副本。
removeRange(range)EmbeddedChartBuilder从此构建器修改的图表中移除指定范围。
setChartType(type)EmbeddedChartBuilder更改图表类型。
setFirstRowNumber(number)EmbeddedTableChartBuilder设置数据表中第一行的行号。
setHiddenDimensionStrategy(strategy)EmbeddedChartBuilder设置用于隐藏的行和列的策略。
setInitialSortingAscending(column)EmbeddedTableChartBuilder设置最初对表进行排序(升序)时所依据的列的索引。
setInitialSortingDescending(column)EmbeddedTableChartBuilder设置最初对表进行排序(降序)所依据的列的索引。
setMergeStrategy(mergeStrategy)EmbeddedChartBuilder设置当存在多个范围时要使用的合并策略。
setNumHeaders(headers)EmbeddedChartBuilder设置范围应被视为标题的行数或列数。
setOption(option, value)EmbeddedChartBuilder设置此图表的高级选项。
setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)EmbeddedChartBuilder设置位置,更改图表在工作表中的显示位置。
setTransposeRowsAndColumns(transpose)EmbeddedChartBuilder设置是否转置图表的行和列。
showRowNumberColumn(showRowNumber)EmbeddedTableChartBuilder设置是否将行号显示为表格的第一列。
useAlternatingRowStyle(alternate)EmbeddedTableChartBuilder设置是否将交替颜色样式分配给表格图表的奇数行和偶数行。

详细文档

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

参数

名称类型说明
rangeRange要添加的范围。

弃踢回攻

EmbeddedChartBuilder - 此构建器,用于链接


asAreaChart()

将图表类型设置为 AreaChart,并返回一个 EmbeddedAreaChartBuilder

弃踢回攻

EmbeddedAreaChartBuilder - 面积图的构建器


asBarChart()

将图表类型设置为条形图并返回 EmbeddedBarChartBuilder

弃踢回攻

EmbeddedBarChartBuilder - 条形图的构建器


asColumnChart()

将图表类型设置为 ColumnChart,并返回一个 EmbeddedColumnChartBuilder

弃踢回攻

EmbeddedColumnChartBuilder - 柱形图的构建器


asComboChart()

将图表类型设置为 ComboChart 值,并返回 EmbeddedComboChartBuilder

弃踢回攻

EmbeddedComboChartBuilder - 组合图表的构建器


asHistogramChart()

将图表类型设置为直方图类型并返回 EmbeddedHistogramChartBuilder

弃踢回攻

EmbeddedHistogramChartBuilder - 直方图的构建器


asLineChart()

将图表类型设置为折线图,并返回 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 - 此构建器,用于链接


enablePaging(enablePaging)

设置是否启用数据分页。

默认行为是停用分页。如果启用了分页,则默认页面大小为 10。

参数

名称类型说明
enablePagingBoolean如果应启用分页,则为 true;否则为 false

弃踢回攻

EmbeddedTableChartBuilder - 此构建器,可用于链接。


enablePaging(pageSize)

启用分页并设置每页中的行数。

默认页面大小为 10。

// Creates a table chart builder and enables paging with page size of 5.
var builder = Charts.newTableChart();
builder.enablePaging(5);

参数

名称类型说明
pageSizeInteger表格每页中的行数。

弃踢回攻

EmbeddedTableChartBuilder - 此构建器,可用于链接。


enablePaging(pageSize, startPage)

启用分页,设置每页中的行数和要显示的第一个表格页的行数(页码从零开始)。

默认页面大小为 10,默认初始页为 0。

// Creates a table chart builder and enables paging with page size of 5 and displays page 2
// first.
var builder = Charts.newTableChart();
builder.enablePaging(5, 2);

参数

名称类型说明
pageSizeInteger表格每页中的行数。
startPageInteger要显示的第一个表格页(页码从 0 开始)。

弃踢回攻

EmbeddedTableChartBuilder - 此构建器,可用于链接。


enableRtlTable(rtlEnabled)

通过反向排序表的列顺序,添加对从右到左书写的语言(例如阿拉伯语或希伯来语)的基本支持,使 0 列位于最右边的列,最后一列位于最左边的列。

这不会影响基础数据中的列索引,只会影响显示顺序。即使使用此选项,表格可视化图表也不支持完全双向 (BiDi) 语言显示。如果您启用分页(使用页面选项),或表具有滚动条(因为您指定了小于所需表大小的高度和宽度选项),则会忽略此选项。默认行为是停用 RTL 支持。

参数

名称类型说明
rtlEnabledBoolean如果应启用从右到左支持,则为 true;否则,为 false

弃踢回攻

EmbeddedTableChartBuilder - 此构建器,可用于链接。


enableSorting(enableSorting)

设置是否在用户点击列标题时对列进行排序。

如果启用了排序功能,当用户点击列标题时,系统会自动对行进行排序。默认行为是启用排序。

参数

名称类型说明
enableSortingBooleantrue,点击列标题即可启用排序,否则为 false

弃踢回攻

EmbeddedTableChartBuilder - 此构建器,可用于链接。


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

参数

名称类型说明
rangeRange要移除的范围。

弃踢回攻

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

参数

名称类型说明
typeChartType要将此图表更改为哪种类型。

弃踢回攻

EmbeddedChartBuilder - 此构建器,用于链接


setFirstRowNumber(number)

设置数据表中第一行的行号。

第一行的默认行号为 1。

// Creates a table chart builder and sets the first row to be 2.
var builder = Charts.newTableChart();
builder.setFirstRowNumber(2);

参数

名称类型说明
numberInteger数据表中第一行的行号。

弃踢回攻

EmbeddedTableChartBuilder - 此构建器,可用于链接。


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

参数

名称类型说明
strategyChartHiddenDimensionStrategy用于隐藏行和列的策略。

弃踢回攻

EmbeddedChartBuilder - 此构建器,用于链接


setInitialSortingAscending(column)

设置最初对表进行排序(升序)时所依据的列的索引。

列 os 按升序排序,并标有小箭头指示。

// Creates a table chart builder and sorts it by the second column (ascending).
var builder = Charts.newTableChart();
builder.setInitialSortingAscending(2);

参数

名称类型说明
columnInteger对表进行初始排序时应依据的列的编号。

弃踢回攻

EmbeddedTableChartBuilder - 此构建器,可用于链接。


setInitialSortingDescending(column)

设置最初对表进行排序(降序)所依据的列的索引。

列 os 按降序排序,并标有一个小箭头指示。

// Creates a table chart builder and sorts it by the second column (descending).
var builder = Charts.newTableChart();
builder.setInitialSortingDescending(2);

参数

名称类型说明
columnInteger对表进行初始排序时应依据的列的编号。

弃踢回攻

EmbeddedTableChartBuilder - 此构建器,可用于链接。


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

参数

名称类型说明
mergeStrategyChartMergeStrategy要使用的合并策略。

弃踢回攻

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

参数

名称类型说明
headersInteger要视为标题的行数或列数。负值会导致系统自动检测标头。

弃踢回攻

EmbeddedChartBuilder - 此构建器,用于链接


setOption(option, value)

设置此图表的高级选项。如需查看可用选项的列表,请参阅图表配置选项

此方法不会验证您指定的选项是否对此图表类型有效,也不会验证该值的格式/结构是否正确。

以下示例展示了如何更改标题和设置图例。

builder.setOption('title', 'Earnings projections');
builder.setOption('legend', {position: 'top', textStyle: {color: 'blue', fontSize: 16}});

参数

名称类型说明
optionString选项的名称。
valueObject选项的值。

弃踢回攻

EmbeddedChartBuilder - 此构建器,用于链接。


setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)

设置位置,更改图表在工作表中的显示位置。anchorRowPosanchorColPos 从 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);

参数

名称类型说明
anchorRowPosInteger图表的顶部锚定在此行中。
anchorColPosInteger图表的左侧锚定在此列中。
offsetXInteger图表的右上角会偏移这么多像素。
offsetYInteger图表的左下角偏移这么多像素。

弃踢回攻

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

参数

名称类型说明
transposeBoolean如果为 true,则转置用于构建图表的行和列。

弃踢回攻

EmbeddedChartBuilder - 此构建器,用于链接


showRowNumberColumn(showRowNumber)

设置是否将行号显示为表格的第一列。

默认行为不显示行号。

参数

名称类型说明
showRowNumberBoolean如果表的第一列应显示行号,则为 true;否则为 false

弃踢回攻

EmbeddedTableChartBuilder - 此构建器,可用于链接。


useAlternatingRowStyle(alternate)

设置是否将交替颜色样式分配给表格图表的奇数行和偶数行。

默认行为是采用交替颜色样式的行。

参数

名称类型说明
alternateBoolean如果颜色样式应该交替使用,则返回 true;否则,返回 false

弃踢回攻

EmbeddedTableChartBuilder - 此构建器,可用于链接。