# FCombinationChartBuilder

> Language fallback: requested `zh-CN`; content is `en-US`.

- Human documentation: [https://docs.univer.ai/zh-CN/reference/facade/combination-chart-builder](https://docs.univer.ai/zh-CN/reference/facade/combination-chart-builder)

- Agent Markdown: [https://docs.univer.ai/zh-CN/reference/facade/combination-chart-builder.md](https://docs.univer.ai/zh-CN/reference/facade/combination-chart-builder.md)

- Requested language: `zh-CN`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

- Source: [facade/combination-chart-builder.mdx](https://github.com/dream-num/documentation/blob/dev/content/reference/facade/combination-chart-builder.mdx)

---

Fluent, type-specific Builder for mixed Column, Line, and Area Combination Charts.

## Inheritance

Extends [`FCartesianChartBuilder`](https://docs.univer.ai/zh-CN/reference/facade/cartesian-chart-builder.md). Its inherited members are available on this object.

## Example

Sheet

```ts
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getSheetByName('Sheet1')
const chartInfo = fWorksheet
  .newChart(univerAPI.Enum.ChartTypeString.Combination)
  .setSource('A1:D8')
  .setSeriesType(0, univerAPI.Enum.ChartSeriesTypeString.ColumnStacked)
  .setSeriesType(1, univerAPI.Enum.ChartSeriesTypeString.ColumnStacked)
  .setSeriesType(2, univerAPI.Enum.ChartSeriesTypeString.Line)
  .setSeriesAxis(0, univerAPI.Enum.ChartSeriesAxis.Right)
  .build()
await fWorksheet.insertChart(chartInfo)
```

Doc

```ts
const fDocument = univerAPI.getActiveDocument()
const chartInfo = fDocument
  .newChart(univerAPI.Enum.ChartTypeString.Combination)
  .setSource([
    ['Month', 'Sales', 'Profit'],
    ['Jan', 120, 24],
    ['Feb', 180, 38],
  ])
  .setSeriesType(0, univerAPI.Enum.ChartSeriesTypeString.Line)
  .setSeriesAxis(0, univerAPI.Enum.ChartSeriesAxis.Right)
  .build()
await fDocument.insertChart(chartInfo)
```

Slide

```ts
const fPresentation = univerAPI.getActivePresentation()
const fSlide = fPresentation.getSlideByIndex(0)
const chartInfo = fSlide
  .newChart(univerAPI.Enum.ChartTypeString.Combination)
  .setSource([
    ['Month', 'Sales', 'Profit'],
    ['Jan', 120, 24],
    ['Feb', 180, 38],
  ])
  .setSeriesType(0, univerAPI.Enum.ChartSeriesTypeString.Line)
  .setSeriesAxis(0, univerAPI.Enum.ChartSeriesAxis.Right)
  .build()
await fSlide.insertChart(chartInfo)
```

Board

```ts
const fBoard = univerAPI.getActiveBoard()
const chartInfo = fBoard
  .newChart(univerAPI.Enum.ChartTypeString.Combination)
  .setSource([
    ['Month', 'Sales', 'Profit'],
    ['Jan', 120, 24],
    ['Feb', 180, 38],
  ])
  .setSeriesType(0, univerAPI.Enum.ChartSeriesTypeString.Line)
  .setSeriesAxis(0, univerAPI.Enum.ChartSeriesAxis.Right)
  .build()
await fBoard.insertChart(chartInfo)
```

## Setup

Register [`@univerjs-pro/engine-chart`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/engine-chart.md) or a preset that includes it. In plugin mode, import `@univerjs-pro/engine-chart/facade`. Additional methods below require their listed plugin packages. See [Facade setup](https://docs.univer.ai/zh-CN/guides/sheets/getting-started/facade.md).

## `@univerjs-pro/engine-chart`

### `FCombinationChartBuilder.resetSeriesAxis`

Removes the series override so the series uses the primary value axis.

This method executes synchronously.

```typescript
resetSeriesAxis(selector: ChartPublicSeriesSelector): this
```

**Parameters**

* `selector` — Required. The target series selector.

**Returns**

This builder for chaining.

**Examples**

```ts
builder.resetSeriesAxis(0)
```

**Types:** [`ChartPublicSeriesSelector`](https://unpkg.com/@univerjs-pro/engine-chart@1.0.0-rc.0/lib/types/chart-builder/configuration/cartesian-series.d.ts)

**Package:** [`@univerjs-pro/engine-chart`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/engine-chart.md) · [Type definitions](https://unpkg.com/@univerjs-pro/engine-chart@1.0.0-rc.0/lib/types/facade/builders/f-combination-chart-builder.d.ts)

### `FCombinationChartBuilder.resetSeriesType`

Removes the series override. The first series defaults to `Column` and later series default to `Line`.

This method executes synchronously.

```typescript
resetSeriesType(selector: ChartPublicSeriesSelector): this
```

**Parameters**

* `selector` — Required. The target series selector.

**Returns**

This builder for chaining.

**Examples**

```ts
builder.resetSeriesType(0)
```

**Types:** [`ChartPublicSeriesSelector`](https://unpkg.com/@univerjs-pro/engine-chart@1.0.0-rc.0/lib/types/chart-builder/configuration/cartesian-series.d.ts)

**Package:** [`@univerjs-pro/engine-chart`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/engine-chart.md) · [Type definitions](https://unpkg.com/@univerjs-pro/engine-chart@1.0.0-rc.0/lib/types/facade/builders/f-combination-chart-builder.d.ts)

### `FCombinationChartBuilder.setSeriesAxis`

Sets the series axis configuration and returns this builder for chaining.

This method executes synchronously.

```typescript
setSeriesAxis(selector: ChartPublicSeriesSelector, value: ChartSeriesAxis): this
```

**Parameters**

* `selector` — Required. The target series selector.
* `value` — Required. The semantic value to record.

**Returns**

This builder for chaining.

**Examples**

```ts
builder.setSeriesAxis(0, univerAPI.Enum.ChartSeriesAxis.Right)
```

**Types:** [`ChartPublicSeriesSelector`](https://unpkg.com/@univerjs-pro/engine-chart@1.0.0-rc.0/lib/types/chart-builder/configuration/cartesian-series.d.ts) · [`ChartSeriesAxis`](https://unpkg.com/@univerjs-pro/engine-chart@1.0.0-rc.0/lib/types/chart-builder/configuration/combination.d.ts)

**Package:** [`@univerjs-pro/engine-chart`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/engine-chart.md) · [Type definitions](https://unpkg.com/@univerjs-pro/engine-chart@1.0.0-rc.0/lib/types/facade/builders/f-combination-chart-builder.d.ts)

### `FCombinationChartBuilder.setSeriesType`

Sets the series type configuration and returns this builder for chaining.

This method executes synchronously.

```typescript
setSeriesType(selector: ChartPublicSeriesSelector, value: ChartSeriesTypeString): this
```

**Parameters**

* `selector` — Required. The target series selector.
* `value` — Required. The semantic value to record.

**Returns**

This builder for chaining.

**Examples**

```ts
builder.setSeriesType(0, univerAPI.Enum.ChartSeriesTypeString.ColumnStacked)
```

**Types:** [`ChartPublicSeriesSelector`](https://unpkg.com/@univerjs-pro/engine-chart@1.0.0-rc.0/lib/types/chart-builder/configuration/cartesian-series.d.ts) · [`ChartSeriesTypeString`](https://unpkg.com/@univerjs-pro/engine-chart@1.0.0-rc.0/lib/types/chart-builder/chart-types.d.ts)

**Package:** [`@univerjs-pro/engine-chart`](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs-pro/engine-chart.md) · [Type definitions](https://unpkg.com/@univerjs-pro/engine-chart@1.0.0-rc.0/lib/types/facade/builders/f-combination-chart-builder.d.ts)
