Class EmbeddedLineChartBuilder

EmbeddedLineChartBuilder

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

方法

方法返回类型简介
addRange(range)EmbeddedChartBuilder向此构建器修改的图表中添加范围。
asAreaChart()EmbeddedAreaChartBuilder将图表类型设置为 AreaChart 并返回 EmbeddedAreaChartBuilder
asBarChart()EmbeddedBarChartBuilder将图表类型设置为 BarChart 并返回 EmbeddedBarChartBuilder
asColumnChart()EmbeddedColumnChartBuilder将图表类型设置为 ColumnChart 并返回 EmbeddedColumnChartBuilder
asComboChart()EmbeddedComboChartBuilder将图表类型设置为 ComboChart 并返回 EmbeddedComboChartBuilder
asHistogramChart()EmbeddedHistogramChartBuilder将图表类型设置为 HistogramChart 并返回 EmbeddedHistogramChartBuilder
asLineChart()EmbeddedLineChartBuilder将图表类型设置为 LineChart 并返回 EmbeddedLineChartBuilder
asPieChart()EmbeddedPieChartBuilder将图表类型设置为 PieChart 并返回 EmbeddedPieChartBuilder
asScatterChart()EmbeddedScatterChartBuilder将图表类型设置为 ScatterChart 并返回 EmbeddedScatterChartBuilder
asTableChart()EmbeddedTableChartBuilder将图表类型设置为 TableChart 并返回 EmbeddedTableChartBuilder
build()EmbeddedChart构建图表以反映对其所做的所有更改。
clearRanges()EmbeddedChartBuilder从此构建器修改的图表中移除所有范围。
getChartType()ChartType返回当前图表类型。
getContainer()ContainerInfo返回图表 ContainerInfo,其中封装了图表在工作表中的显示位置。
getRanges()Range[]返回当前为此图表提供数据的范围列表的副本。
removeRange(range)EmbeddedChartBuilder从相应构建器修改的图表中移除指定范围。
reverseCategories()EmbeddedLineChartBuilder反转网域轴中序列的绘制顺序。
setBackgroundColor(cssValue)EmbeddedLineChartBuilder设置图表的背景颜色。
setChartType(type)EmbeddedChartBuilder更改图表类型。
setColors(cssValues)EmbeddedLineChartBuilder设置图表中线条的颜色。
setCurveStyle(style)EmbeddedLineChartBuilder设置要在图表中使用的曲线样式。
setHiddenDimensionStrategy(strategy)EmbeddedChartBuilder设置用于隐藏行和列的策略。
setLegendPosition(position)EmbeddedLineChartBuilder设置图例相对于图表的位置。
setLegendTextStyle(textStyle)EmbeddedLineChartBuilder设置图表图例的文字样式。
setMergeStrategy(mergeStrategy)EmbeddedChartBuilder设置存在多个范围时要使用的合并策略。
setNumHeaders(headers)EmbeddedChartBuilder设置应被视为标题的范围的行数或列数。
setOption(option, value)EmbeddedChartBuilder设置相应图表的高级选项。
setPointStyle(style)EmbeddedLineChartBuilder设置折线中各点的样式。
setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)EmbeddedChartBuilder设置位置,更改图表在工作表中的显示位置。
setRange(start, end)EmbeddedLineChartBuilder设置图表的范围。
setTitle(chartTitle)EmbeddedLineChartBuilder设置图表的标题。
setTitleTextStyle(textStyle)EmbeddedLineChartBuilder设置图表标题的文字样式。
setTransposeRowsAndColumns(transpose)EmbeddedChartBuilder设置图表的行和列是否转置。
setXAxisTextStyle(textStyle)EmbeddedLineChartBuilder设置横轴文本样式。
setXAxisTitle(title)EmbeddedLineChartBuilder为横轴添加标题。
setXAxisTitleTextStyle(textStyle)EmbeddedLineChartBuilder设置横轴标题文本样式。
setYAxisTextStyle(textStyle)EmbeddedLineChartBuilder设置纵轴文本样式。
setYAxisTitle(title)EmbeddedLineChartBuilder为纵轴添加标题。
setYAxisTitleTextStyle(textStyle)EmbeddedLineChartBuilder设置纵轴标题文本样式。
useLogScale()EmbeddedLineChartBuilder将范围轴设置为对数刻度(要求所有值均为正数)。

详细文档

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

参数

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

返回

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

将图表类型设置为 PieChart 并返回 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);

参数

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

返回

EmbeddedChartBuilder - 此构建器,用于链式调用。


reverseCategories()

反转网域轴中序列的绘制顺序。对于垂直范围图表(例如折线图、面积图或柱状图),这意味着水平轴是从右向左绘制的。对于横向范围图表(例如条形图),这意味着垂直轴是从上到下绘制的。对于饼图,这意味着扇形是按逆时针方向绘制的。

// Creates a pie chart builder and sets drawing of the slices in a
// counter-clockwise manner.
const builder = Charts.newPieChart();
builder.reverseCategories();

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。


setBackgroundColor(cssValue)

设置图表的背景颜色。

// Creates a line chart builder and sets the background color to gray
const builder = Charts.newLineChart();
builder.setBackgroundColor('gray');

参数

名称类型说明
cssValueString颜色的 CSS 值(例如 "blue""#00f")。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。


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

参数

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

返回

EmbeddedChartBuilder - 此构建器,用于链式调用。


setColors(cssValues)

设置图表中线条的颜色。

// Creates a line chart builder and sets the first two lines to be drawn in
// green and red, respectively.
const builder = Charts.newLineChart();
builder.setColors(['green', 'red']);

参数

名称类型说明
cssValuesString[]颜色 CSS 值数组,例如 ["red", "#acf"]。数组中的第 n 个元素表示图表中第 n 条线的颜色。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。


setCurveStyle(style)

设置要在图表中使用的曲线样式。如需了解允许的曲线样式,请参阅 CurveStyle

// Creates a line chart builder and curves the lines in the chart.
const builder = Charts.newLineChart();
builder.setCurveStyle(Charts.CurveStyle.SMOOTH);

参数

名称类型说明
styleCurveStyle图表中曲线的样式。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。

另请参阅


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

参数

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

返回

EmbeddedChartBuilder - 此构建器,用于链式调用。


setLegendPosition(position)

设置图例相对于图表的位置。默认情况下,没有图例。

// Creates a line chart builder and sets the legend position to right.
const builder = Charts.newLineChart();
builder.setLegendPosition(Charts.Position.RIGHT);

参数

名称类型说明
positionPosition图例的位置。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。


setLegendTextStyle(textStyle)

设置图表图例的文本样式。

// Creates a line chart builder and sets it up for a  blue, 26-point legend.
const textStyleBuilder =
    Charts.newTextStyle().setColor('#0000FF').setFontSize(26);
const style = textStyleBuilder.build();
const builder = Charts.newLineChart();
builder.setLegendTextStyle(style);

参数

名称类型说明
textStyleTextStyle图表图例所用的文字样式。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。


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

参数

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

返回

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

参数

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

返回

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

参数

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

返回

EmbeddedChartBuilder - 此构建器,用于链式调用。


setPointStyle(style)

设置折线中各点的样式。默认情况下,点没有特定样式,只有折线可见。

// Creates a line chart builder and sets large point style.
const builder = Charts.newLineChart();
builder.setPointStyle(Charts.PointStyle.LARGE);

参数

名称类型说明
stylePointStyle用于线条中各点的样式。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。

另请参阅


setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)

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

参数

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

返回

EmbeddedChartBuilder - 此构建器,用于链式调用。


setRange(start, end)

设置图表的范围。

如果有任何数据点超出该范围,系统会扩大该范围以纳入这些数据点。

参数

名称类型说明
startNumber范围轴上最低网格线的值。
endNumber范围轴上最高网格线的值。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。


setTitle(chartTitle)

设置图表的标题。标题显示在图表上方的中心位置。

// Creates a line chart builder and title to 'My Line Chart'.
const builder = Charts.newLineChart();
builder.setTitle('My Line Chart');

参数

名称类型说明
chartTitleString图表标题。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。


setTitleTextStyle(textStyle)

设置图表标题的文字样式。

// Creates a line chart builder and sets it up for a  blue, 26-point title.
const textStyleBuilder =
    Charts.newTextStyle().setColor('#0000FF').setFontSize(26);
const style = textStyleBuilder.build();
const builder = Charts.newLineChart();
builder.setTitleTextStyle(style);

参数

名称类型说明
textStyleTextStyle图表标题所用的文字样式。您可以通过调用 Charts.newTextStyle() 来创建 TextStyleBuilder 对象。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。


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

参数

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

返回

EmbeddedChartBuilder - 此构建器,用于链式调用。


setXAxisTextStyle(textStyle)

设置横轴文本样式。

// Creates a line chart builder and sets the X-axis text style to blue, 18-point
// font.
const textStyle =
    Charts.newTextStyle().setColor('blue').setFontSize(18).build();
const builder = Charts.newLineChart();
builder.setXAxisTextStyle(textStyle);

参数

名称类型说明
textStyleTextStyle用于横轴标题的文字样式。您可以通过调用 Charts.newTextStyle() 来创建 TextStyleBuilder 对象。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。


setXAxisTitle(title)

为横轴添加标题。标题居中显示,并显示在轴值标签下方。

// Creates a line chart builder and sets the X-axis title.
const builder = Charts.newLineChart();
builder.setTitle('X-axis Title');

参数

名称类型说明
titleStringX 轴的标题。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。


setXAxisTitleTextStyle(textStyle)

设置横轴标题文本样式。

// Creates a line chart builder and sets the X-axis title text style to blue,
// 18-point font.
const textStyle =
    Charts.newTextStyle().setColor('blue').setFontSize(18).build();
const builder = Charts.newLineChart();
builder.setXAxisTitleTextStyle(textStyle);

参数

名称类型说明
textStyleTextStyle用于横轴标题的文字样式。您可以通过调用 Charts.newTextStyle() 来创建 TextStyleBuilder 对象。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。


setYAxisTextStyle(textStyle)

设置纵轴文本样式。

// Creates a line chart builder and sets the Y-axis text style to blue, 18-point
// font.
const textStyle =
    Charts.newTextStyle().setColor('blue').setFontSize(18).build();
const builder = Charts.newLineChart();
builder.setYAxisTextStyle(textStyle);

参数

名称类型说明
textStyleTextStyle用于横轴标题的文字样式。您可以通过调用 Charts.newTextStyle() 来创建 TextStyleBuilder 对象。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。


setYAxisTitle(title)

为纵轴添加标题。标题居中显示,位于值标签的左侧。

// Creates a line chart builder and sets the Y-axis title.
const builder = Charts.newLineChart();
builder.setYAxisTitle('Y-axis Title');

参数

名称类型说明
titleStringY 轴的标题。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。


setYAxisTitleTextStyle(textStyle)

设置纵轴标题文本样式。

// Creates a line chart builder and sets the Y-axis title text style to blue,
// 18-point font.
const textStyle =
    Charts.newTextStyle().setColor('blue').setFontSize(18).build();
const builder = Charts.newLineChart();
builder.setYAxisTitleTextStyle(textStyle);

参数

名称类型说明
textStyleTextStyle用于横轴标题的文字样式。您可以通过调用 Charts.newTextStyle() 来创建 TextStyleBuilder 对象。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。


useLogScale()

将范围轴设为对数刻度(要求所有值均为正数)。范围轴是垂直图表(例如折线图、面积图或柱形图)的纵轴,也是水平图表(例如条形图)的横轴。

返回

EmbeddedLineChartBuilder - 此构建器,适用于链式调用。