Stay organized with collections Save and categorize content based on your preferences.
EmbeddedAreaChartBuilderBuilder for area charts. For more details, see the Gviz documentation.
Detailed documentationaddRange(range)
Adds a range to the chart this builder modifies. Does not add the range if it has already been added to the chart.
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);Parameters Name Type Description
range
Range
The range to add. Return
EmbeddedChartBuilder
— This builder, for chaining.
build()
Builds the chart to reflect all changes made to it.
This method does not automatically draw the chart on top of the spreadsheet. A new chart must be inserted via sheet.insertChart(chart)
, and an existing chart should be updated via 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);Return
EmbeddedChart
— The created chart, which must still be added to the spreadsheet.
clearRanges()
Removes all ranges from the chart this builder modifies.
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);Return
EmbeddedChartBuilder
— This builder, for chaining.
getChartType()
Returns the current chart type.
ReturnChartType
— The chart type.
getContainer()
Return the chart ContainerInfo
, which encapsulates where the chart appears on the 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(), );Return
ContainerInfo
— An object containing the chart container's position.
getRanges()
Returns a copy of the list of ranges currently providing data for this chart. Use addRange(range)
and removeRange(range)
to modify this list.
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()); }Return
Range[]
— An array of ranges that serve as the chart to be built's data source.
removeRange(range)
Removes the specified range from the chart this builder modifies. Does not throw an error if the range is not in this chart.
The range removed must match up with a range added via addRange(range)
; otherwise no change is made to the chart. This method cannot be used to partially remove values from a 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);Parameters Name Type Description
range
Range
The range to remove. Return
EmbeddedChartBuilder
— This builder, for chaining.
reverseCategories()
Reverses the drawing of series in the domain axis. For vertical-range charts (such as line, area or column charts), this means the horizontal axis is drawn from right to left. For horizontal-range charts (such as bar charts), this means the vertical axis is drawn from top to bottom. For pie charts, this means the slices are drawn counterclockwise.
// Creates a pie chart builder and sets drawing of the slices in a // counter-clockwise manner. const builder = Charts.newPieChart(); builder.reverseCategories();Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
setBackgroundColor(cssValue)
Sets the background color for the chart.
// Creates a line chart builder and sets the background color to gray const builder = Charts.newLineChart(); builder.setBackgroundColor('gray');Parameters Name Type Description
cssValue
String
The CSS value for the color (such as "blue"
or "#00f"
). Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
setChartType(type)
Changes the type of chart. Not all embedded chart types are currently supported. See 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);Parameters Name Type Description
type
ChartType
The type to change this chart into. Return
EmbeddedChartBuilder
— This builder, for chaining.
setColors(cssValues)
Sets the colors for the lines in the chart.
// 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']);Parameters Name Type Description
cssValues
String[]
An array of color CSS values, such as ["red", "#acf"]
. The nth element in the array represents the color of the nth line in the chart. Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
setLegendPosition(position)
Sets the position of the legend with respect to the chart. By default, there is no legend.
// Creates a line chart builder and sets the legend position to right. const builder = Charts.newLineChart(); builder.setLegendPosition(Charts.Position.RIGHT);Parameters Name Type Description
position
Position
The position of the legend. Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
setLegendTextStyle(textStyle)
Sets the text style of the chart legend.
// 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);Parameters Name Type Description
textStyle
TextStyle
The text style to use for the chart legend. Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
setMergeStrategy(mergeStrategy)
Sets the merge strategy to use when more than one range exists. If MERGE_ROWS
, rows are merged; if MERGE_COLUMNS
, columns are merged. Defaults to 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);Parameters Return
EmbeddedChartBuilder
— This builder, for chaining.
setOption(option, value)
Sets advanced options for this chart. To view a list of the available options, see Chart configuration options.
This method doesn't validate the option you specify is valid for this chart type nor if the value is of the correct format/structure.
This example shows how to change the title and set a legend.
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();Parameters Name Type Description
option
String
The name of the option. value
Object
The value of the option. Return
EmbeddedChartBuilder
— This builder, for chaining.
setPointStyle(style)
Sets the style for points in the line. By default, points have no particular styles, and only the line is visible.
// Creates a line chart builder and sets large point style. const builder = Charts.newLineChart(); builder.setPointStyle(Charts.PointStyle.LARGE);Parameters Name Type Description
style
PointStyle
The style to use for points in the line. Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
setPosition(anchorRowPos, anchorColPos, offsetX, offsetY)
Sets the position, changing where the chart appears on the sheet. anchorRowPos
and anchorColPos
are 1-indexed.
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);Parameters Name Type Description
anchorRowPos
Integer
The chart's top side is anchored in this row. anchorColPos
Integer
The chart's left side is anchored in this column. offsetX
Integer
The chart's upper right-hand corner is offset by this many pixels. offsetY
Integer
The chart's lower left-hand corner is offset by this many pixels. Return
EmbeddedChartBuilder
— This builder, for chaining.
setRange(start, end)
Sets the range for the chart.
If any data points fall outside the range, the range is expanded to include those data points.
Parameters Name Type Descriptionstart
Number
The value for the lowest grid line of the range axis. end
Number
The value for the highest grid line of the range axis. Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
setStacked()
Uses stacked lines, meaning that line and bar values are stacked (accumulated). By default, there is no stacking.
ReturnEmbeddedAreaChartBuilder
— This builder, useful for chaining.
setTitle(chartTitle)
Sets the title of the chart. The title is displayed centered above the chart.
// Creates a line chart builder and title to 'My Line Chart'. const builder = Charts.newLineChart(); builder.setTitle('My Line Chart');Parameters Name Type Description
chartTitle
String
the chart title. Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
setTitleTextStyle(textStyle)
Sets the text style of the chart title.
// 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);Parameters Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
setTransposeRowsAndColumns(transpose)
Sets whether the chart's rows and columns are transposed. If set to true
, the rows and columns are switched. Defaults to 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);Parameters Name Type Description
transpose
Boolean
If true
, the rows and columns used to construct the chart are transposed. Return
EmbeddedChartBuilder
— This builder, for chaining.
setXAxisTextStyle(textStyle)
Sets the horizontal axis text style.
// 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);Parameters Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
setXAxisTitle(title)
Adds a title to the horizontal axis. The title is centered and appears below the axis value labels.
// Creates a line chart builder and sets the X-axis title. const builder = Charts.newLineChart(); builder.setTitle('X-axis Title');Parameters Name Type Description
title
String
The title for the X-axis. Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
setXAxisTitleTextStyle(textStyle)
Sets the horizontal axis title text style.
// 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);Parameters Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
setYAxisTextStyle(textStyle)
Sets the vertical axis text style.
// 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);Parameters Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
setYAxisTitle(title)
Adds a title to the vertical axis. The title is centered and appears to the left of the value labels.
// Creates a line chart builder and sets the Y-axis title. const builder = Charts.newLineChart(); builder.setYAxisTitle('Y-axis Title');Parameters Name Type Description
title
String
The title for the Y-axis. Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
setYAxisTitleTextStyle(textStyle)
Sets the vertical axis title text style.
// 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);Parameters Return
EmbeddedAreaChartBuilder
— This builder, useful for chaining.
useLogScale()
Makes the range axis into a logarithmic scale (requires all values to be positive). The range axis are the vertical axis for vertical charts (such as line, area, or column) and the horizontal axis for horizontal charts (such as bar).
ReturnEmbeddedAreaChartBuilder
— This builder, useful for chaining.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-12 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-12 UTC."],[[["The `EmbeddedAreaChartBuilder` is used to create and customize area charts within Google Sheets using Apps Script."],["It provides methods for data handling, chart type conversion, appearance customization, behavior modification, and chart positioning."],["Developers can chain methods together to build complex and visually appealing charts, improving data representation."],["The `build()` method finalizes the chart, which is then inserted or updated on the sheet using dedicated sheet methods."],["All customization is done before calling the `build()` method, which returns the finalized chart object for sheet placement."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4