PieChartBuilder

A builder for pie charts. For more details, see the [Google Charts documentation](https://developers.google.com/chart/interactive/docs/gallery/piechart).

Here is an example that shows how to build a pie chart. The data is [imported from a Google spreadsheet](https://developers.google.com/chart/interactive/docs/spreadsheets#Google_Spreadsheets_as_a_Data_Source).

```javascript
// Get sample data from a spreadsheet.
const dataSourceUrl = 'https://docs.google.com/spreadsheet/tq?range=A1%3AB8' +
    '&key=0Aq4s9w_HxMs7dHpfX05JdmVSb1FpT21sbXd4NVE3UEE&gid=3&headers=-1';

const chartBuilder = Charts.newPieChart()
                         .setTitle('World Population by Continent')
                         .setDimensions(600, 500)
                         .set3D()
                         .setDataSourceUrl(dataSourceUrl);

const chart = chartBuilder.build();
```

### Methods

| Method | Return type | Brief description |
|---|---|---|
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#build()` | `https://developers.google.com/apps-script/reference/charts/chart` | Builds the chart. |
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#reverseCategories()` | `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` | Reverses the drawing of series in the domain axis. |
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#set3D()` | `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` | Sets the chart to be three-dimensional. |
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#setBackgroundColor(String)` | `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` | Sets the background color for the chart. |
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#setColors(String)` | `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` | Sets the colors for the lines in the chart. |
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#setDataSourceUrl(String)` | `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` | Sets the data source URL that is used to pull data in from an external source, such as Google Sheets. |
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#setDataTable(DataTableBuilder)` | `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` | Sets the data table to use for the chart using a DataTableBuilder. |
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#setDataTable(DataTableSource)` | `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` | Sets the data table which contains the lines for the chart, as well as the X-axis labels. |
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#setDataViewDefinition(DataViewDefinition)` | `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` | Sets the data view definition to use for the chart. |
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#setDimensions(Integer,Integer)` | `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` | Sets the dimensions for the chart. |
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#setLegendPosition(Position)` | `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` | Sets the position of the legend with respect to the chart. |
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#setLegendTextStyle(TextStyle)` | `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` | Sets the text style of the chart legend. |
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#setOption(String,Object)` | `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` | Sets advanced options for this chart. |
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#setTitle(String)` | `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` | Sets the title of the chart. |
| `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#setTitleTextStyle(TextStyle)` | `https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` | Sets the text style of the chart title. |

## Detailed documentation

### `build()`

Builds the chart.

#### Return


`https://developers.google.com/apps-script/reference/charts/chart` --- A Chart object, which can be embedded into documents, UI elements, or used as a static
image.

*** ** * ** ***

### `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.

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

#### Return


`https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` --- This builder, useful for chaining.

*** ** * ** ***

### `set3D()`

Sets the chart to be three-dimensional.

#### Return


`https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` --- This builder, useful for chaining.

*** ** * ** ***

### `setBackgroundColor(cssValue)`

Sets the background color for the chart.

```javascript
// 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


`https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` --- This builder, useful for chaining.

*** ** * ** ***

### `setColors(cssValues)`

Sets the colors for the lines in the chart.

```javascript
// 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


`https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` --- This builder, useful for chaining.

*** ** * ** ***

### `setDataSourceUrl(url)`

Sets the data source URL that is used to pull data in from an external source, such as Google
Sheets. If a data source URL and a DataTable are provided, the data source URL is ignored.

For more information about querying data sources, check out the [Google Charts documentation](https://developers.google.com/chart/interactive/docs/queries).

#### Parameters

| Name | Type | Description |
|---|---|---|
| `url` | `String` | The data source URL, including any query parameters. |

#### Return


`https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` --- This builder, useful for chaining.

*** ** * ** ***

### `setDataTable(tableBuilder)`

Sets the data table to use for the chart using a DataTableBuilder. This is a convenience method
for setting the data table without needing to call `build()`.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `tableBuilder` | `https://developers.google.com/apps-script/reference/charts/data-table-builder` | A data table builder. A new data table is created instantly as part of this call, so any further updates to the builder won't be reflected in the chart. |

#### Return


`https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` --- This builder, useful for chaining.

*** ** * ** ***

### `setDataTable(table)`

Sets the data table which contains the lines for the chart, as well as the X-axis labels. The
first column should be a string, and contain the horizontal axis labels. Any number of columns
can follow, all must be numeric. Each column is displayed as a separate line.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `table` | `https://developers.google.com/apps-script/reference/charts/data-table-source` | The data table to use for the chart. |

#### Return


`https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` --- This builder, useful for chaining.

*** ** * ** ***

### `setDataViewDefinition(dataViewDefinition)`

Sets the data view definition to use for the chart.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `dataViewDefinition` | `https://developers.google.com/apps-script/reference/charts/data-view-definition` | A data view definition object that defines the view that should be derived from the given data source for the chart drawing. |

#### Return


`https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` --- This builder, useful for chaining.

*** ** * ** ***

### `setDimensions(width, height)`

Sets the dimensions for the chart.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `width` | `Integer` | The width of the chart, in pixels. |
| `height` | `Integer` | The height of the chart, in pixels. |

#### Return


`https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` --- This builder, useful for chaining.

*** ** * ** ***

### `setLegendPosition(position)`

Sets the position of the legend with respect to the chart. By default, there is no legend.

```javascript
// 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` | `https://developers.google.com/apps-script/reference/charts/position` | The position of the legend. |

#### Return


`https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` --- This builder, useful for chaining.

*** ** * ** ***

### `setLegendTextStyle(textStyle)`

Sets the text style of the chart legend.

```javascript
// 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` | `https://developers.google.com/apps-script/reference/charts/text-style` | The text style to use for the chart legend. |

#### Return


`https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` --- This builder, useful for chaining.

*** ** * ** ***

### `setOption(option, value)`

Sets advanced options for this chart. See [the available options for
this chart](https://developers.google.com/chart/interactive/docs/gallery/piechart). This method has no effect if the given option is invalid.

```javascript
// Build a pie chart with a pretty legend.
const builder = Charts.newPieChart();
builder.setOption('legend', {textStyle: {color: 'blue', fontSize: 16}});
const chart = builder.build();
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `option` | `String` | The option to set. |
| `value` | `Object` | The value to set. |

#### Return


`https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` --- This builder, useful for chaining.

*** ** * ** ***

### `setTitle(chartTitle)`

Sets the title of the chart. The title is displayed centered above the chart.

```javascript
// 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


`https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` --- This builder, useful for chaining.

*** ** * ** ***

### `setTitleTextStyle(textStyle)`

Sets the text style of the chart title.

```javascript
// 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

| Name | Type | Description |
|---|---|---|
| `textStyle` | `https://developers.google.com/apps-script/reference/charts/text-style` | The text style to use for the chart title. You can create a `https://developers.google.com/apps-script/reference/charts/text-style-builder` object by calling `https://developers.google.com/apps-script/reference/charts/charts#newTextStyle()`. |

#### Return


`https://developers.google.com/apps-script/reference/charts/pie-chart-builder#` --- This builder, useful for chaining.