Interface: Plugin | Chart.js
Description: Open source HTML5 Charts for your website

# # Interface: Plugin<TType, O>

## # Type parameters

Name | Type
--- | ---
`TType` | extends `ChartType` = `ChartType`
`O` | `AnyObject`

## # Hierarchy

- `ExtendedPlugin`<`TType`, `O`>

  ↳ `Plugin`

  ↳↳ `Tooltip`

## # Properties

### # id

• id: `string`

#### # Defined in

index.esm.d.ts:808
(opens new window)

## # Methods

### # afterBuildTicks

▸ `Optional` afterBuildTicks(`chart`, `args`, `options`): `void`

`desc` Called after scale has build its ticks. This hook is called separately for each scale in the chart.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.scale` | `Scale`<`CoreScaleOptions`> | The scale.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:967
(opens new window)

### # afterDataLimits

▸ `Optional` afterDataLimits(`chart`, `args`, `options`): `void`

`desc` Called after scale data limits are calculated. This hook is called separately for each scale in the chart.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.scale` | `Scale`<`CoreScaleOptions`> | The scale.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:951
(opens new window)

### # afterDatasetDraw

▸ `Optional` afterDatasetDraw(`chart`, `args`, `options`): `void`

`desc` Called after the `chart` datasets at the given `args.index` have been drawn (datasets are drawn in the reverse order). Note that this hook will not be called if the datasets drawing has been previously cancelled.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.index` | `number` | The dataset index.
`args.meta` | `ChartMeta`<`Element`<`AnyObject`, `AnyObject`>, `Element`<`AnyObject`, `AnyObject`>, keyof `ChartTypeRegistry`> | The dataset metadata.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:1049
(opens new window)

### # afterDatasetUpdate

▸ `Optional` afterDatasetUpdate(`chart`, `args`, `options`): `void`

`desc` Called after the `chart` datasets at the given `args.index` has been updated. Note that this hook will not be called if the datasets update has been previously cancelled.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.cancelable` | `false` | -
`args.index` | `number` | The dataset index.
`args.meta` | `ChartMeta`<`Element`<`AnyObject`, `AnyObject`>, `Element`<`AnyObject`, `AnyObject`>, keyof `ChartTypeRegistry`> | The dataset metadata.
`args.mode` | `"resize"` | `"reset"` | `"none"` | `"hide"` | `"show"` | `"normal"` | `"active"` | The update mode.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:926
(opens new window)

### # afterDatasetsDraw

▸ `Optional` afterDatasetsDraw(`chart`, `args`, `options`, `cancelable`): `void`

`desc` Called after the `chart` datasets have been drawn. Note that this hook will not be called if the datasets drawing has been previously cancelled.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.
`cancelable` | `false` | -

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:1026
(opens new window)

### # afterDatasetsUpdate

▸ `Optional` afterDatasetsUpdate(`chart`, `args`, `options`): `void`

`desc` Called after the `chart` datasets have been updated. Note that this hook will not be called if the datasets update has been previously cancelled.

`since` version 2.1.5

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.cancelable` | `true` | -
`args.mode` | `"resize"` | `"reset"` | `"none"` | `"hide"` | `"show"` | `"normal"` | `"active"` | The update mode.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:903
(opens new window)

### # afterDestroy

▸ `Optional` afterDestroy(`chart`, `args`, `options`): `void`

Called after the chart has been destroyed.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:1102
(opens new window)

### # afterDraw

▸ `Optional` afterDraw(`chart`, `args`, `options`): `void`

`desc` Called after the `chart` has been drawn. Note that this hook will not be called if the drawing has been previously cancelled.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:1009
(opens new window)

### # afterEvent

▸ `Optional` afterEvent(`chart`, `args`, `options`): `void`

`desc` Called after the `event` has been consumed. Note that this hook will not be called if the `event` has been previously discarded.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.cancelable` | `false` | -
`args.changed?` | `boolean` | -
`args.event` | `ChartEvent` | The event object.
`args.inChartArea` | `boolean` | The event position is inside chartArea
`args.replay` | `boolean` | True if this event is replayed from `Chart.update`
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:1072
(opens new window)

### # afterInit

▸ `Optional` afterInit(`chart`, `args`, `options`): `void`

`desc` Called after `chart` has been initialized and before the first update.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:847
(opens new window)

### # afterLayout

▸ `Optional` afterLayout(`chart`, `args`, `options`): `void`

`desc` Called after the `chart` has been laid out. Note that this hook will not be called if the layout update has been previously cancelled.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:975
(opens new window)

### # afterRender

▸ `Optional` afterRender(`chart`, `args`, `options`): `void`

`desc` Called after the `chart` has been fully rendered (and animation completed). Note that this hook will not be called if the rendering has been previously cancelled.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:992
(opens new window)

### # afterTooltipDraw

▸ `Optional` afterTooltipDraw(`chart`, `args`, `options`): `void`

`desc` Called after drawing the `tooltip`. Note that this hook will not be called if the tooltip drawing has been previously cancelled.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.tooltip` | `TooltipModel`<`TType`> | The tooltip.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Inherited from

ExtendedPlugin.afterTooltipDraw

#### # Defined in

index.esm.d.ts:2601
(opens new window)

### # afterUpdate

▸ `Optional` afterUpdate(`chart`, `args`, `options`): `void`

`desc` Called after `chart` has been updated and before rendering. Note that this hook will not be called if the chart update has been previously cancelled.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.mode` | `"resize"` | `"reset"` | `"none"` | `"hide"` | `"show"` | `"normal"` | `"active"` | The update mode
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:866
(opens new window)

### # beforeBuildTicks

▸ `Optional` beforeBuildTicks(`chart`, `args`, `options`): `void`

`desc` Called before scale builds its ticks. This hook is called separately for each scale in the chart.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.scale` | `Scale`<`CoreScaleOptions`> | The scale.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:959
(opens new window)

### # beforeDataLimits

▸ `Optional` beforeDataLimits(`chart`, `args`, `options`): `void`

`desc` Called before scale data limits are calculated. This hook is called separately for each scale in the chart.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.scale` | `Scale`<`CoreScaleOptions`> | The scale.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:943
(opens new window)

### # beforeDatasetDraw

▸ `Optional` beforeDatasetDraw(`chart`, `args`, `options`): `boolean` | `void`

`desc` Called before drawing the `chart` dataset at the given `args.index` (datasets are drawn in the reverse order). If any plugin returns `false`, the datasets drawing is cancelled until another `render` is triggered.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.index` | `number` | The dataset index.
`args.meta` | `ChartMeta`<`Element`<`AnyObject`, `AnyObject`>, `Element`<`AnyObject`, `AnyObject`>, keyof `ChartTypeRegistry`> | The dataset metadata.
`options` | `O` | The plugin options.

#### # Returns

`boolean` | `void`

`false` to cancel the chart datasets drawing.

#### # Defined in

index.esm.d.ts:1038
(opens new window)

### # beforeDatasetUpdate

▸ `Optional` beforeDatasetUpdate(`chart`, `args`, `options`): `boolean` | `void`

`desc` Called before updating the `chart` dataset at the given `args.index`. If any plugin returns `false`, the datasets update is cancelled until another `update` is triggered.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.cancelable` | `true` | -
`args.index` | `number` | The dataset index.
`args.meta` | `ChartMeta`<`Element`<`AnyObject`, `AnyObject`>, `Element`<`AnyObject`, `AnyObject`>, keyof `ChartTypeRegistry`> | The dataset metadata.
`args.mode` | `"resize"` | `"reset"` | `"none"` | `"hide"` | `"show"` | `"normal"` | `"active"` | The update mode.
`options` | `O` | The plugin options.

#### # Returns

`boolean` | `void`

`false` to cancel the chart datasets drawing.

#### # Defined in

index.esm.d.ts:915
(opens new window)

### # beforeDatasetsDraw

▸ `Optional` beforeDatasetsDraw(`chart`, `args`, `options`): `boolean` | `void`

`desc` Called before drawing the `chart` datasets. If any plugin returns `false`, the datasets drawing is cancelled until another `render` is triggered.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.cancelable` | `true` | -
`options` | `O` | The plugin options.

#### # Returns

`boolean` | `void`

`false` to cancel the chart datasets drawing.

#### # Defined in

index.esm.d.ts:1018
(opens new window)

### # beforeDatasetsUpdate

▸ `Optional` beforeDatasetsUpdate(`chart`, `args`, `options`): `boolean` | `void`

`desc` Called before updating the `chart` datasets. If any plugin returns `false`, the datasets update is cancelled until another `update` is triggered.

`since` version 2.1.5

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.mode` | `"resize"` | `"reset"` | `"none"` | `"hide"` | `"show"` | `"normal"` | `"active"` | The update mode.
`options` | `O` | The plugin options.

#### # Returns

`boolean` | `void`

false to cancel the datasets update.

#### # Defined in

index.esm.d.ts:893
(opens new window)

### # beforeDestroy

▸ `Optional` beforeDestroy(`chart`, `args`, `options`): `void`

Called before the chart is being destroyed.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:1087
(opens new window)

### # beforeDraw

▸ `Optional` beforeDraw(`chart`, `args`, `options`): `boolean` | `void`

`desc` Called before drawing `chart` at every animation frame. If any plugin returns `false`, the frame drawing is cancelled untilanother `render` is triggered.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.cancelable` | `true` | -
`options` | `O` | The plugin options.

#### # Returns

`boolean` | `void`

`false` to cancel the chart drawing.

#### # Defined in

index.esm.d.ts:1001
(opens new window)

### # beforeElementsUpdate

▸ `Optional` beforeElementsUpdate(`chart`, `args`, `options`): `void`

`desc` Called during the update process, before any chart elements have been created. This can be used for data decimation by changing the data array inside a dataset.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:874
(opens new window)

### # beforeEvent

▸ `Optional` beforeEvent(`chart`, `args`, `options`): `boolean` | `void`

`desc` Called before processing the specified `event`. If any plugin returns `false`, the event will be discarded.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.cancelable` | `true` | -
`args.event` | `ChartEvent` | The event object.
`args.inChartArea` | `boolean` | The event position is inside chartArea
`args.replay` | `boolean` | True if this event is replayed from `Chart.update`
`options` | `O` | The plugin options.

#### # Returns

`boolean` | `void`

#### # Defined in

index.esm.d.ts:1060
(opens new window)

### # beforeInit

▸ `Optional` beforeInit(`chart`, `args`, `options`): `void`

`desc` Called before initializing `chart`.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:840
(opens new window)

### # beforeLayout

▸ `Optional` beforeLayout(`chart`, `args`, `options`): `boolean` | `void`

`desc` Called before laying out `chart`. If any plugin returns `false`, the layout update is cancelled until another `update` is triggered.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.cancelable` | `true` | -
`options` | `O` | The plugin options.

#### # Returns

`boolean` | `void`

`false` to cancel the chart layout.

#### # Defined in

index.esm.d.ts:935
(opens new window)

### # beforeRender

▸ `Optional` beforeRender(`chart`, `args`, `options`): `boolean` | `void`

`desc` Called before rendering `chart`. If any plugin returns `false`, the rendering is cancelled until another `render` is triggered.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.cancelable` | `true` | -
`options` | `O` | The plugin options.

#### # Returns

`boolean` | `void`

`false` to cancel the chart rendering.

#### # Defined in

index.esm.d.ts:984
(opens new window)

### # beforeTooltipDraw

▸ `Optional` beforeTooltipDraw(`chart`, `args`, `options`): `boolean` | `void`

`desc` Called before drawing the `tooltip`. If any plugin returns `false`, the tooltip drawing is cancelled until another `render` is triggered.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.tooltip` | `TooltipModel`<`TType`> | The tooltip.
`options` | `O` | The plugin options.

#### # Returns

`boolean` | `void`

`false` to cancel the chart tooltip drawing.

#### # Inherited from

ExtendedPlugin.beforeTooltipDraw

#### # Defined in

index.esm.d.ts:2592
(opens new window)

### # beforeUpdate

▸ `Optional` beforeUpdate(`chart`, `args`, `options`): `boolean` | `void`

`desc` Called before updating `chart`. If any plugin returns `false`, the update is cancelled (and thus subsequent render(s)) until another `update` is triggered.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.cancelable` | `true` | -
`args.mode` | `"resize"` | `"reset"` | `"none"` | `"hide"` | `"show"` | `"normal"` | `"active"` | The update mode
`options` | `O` | The plugin options.

#### # Returns

`boolean` | `void`

`false` to cancel the chart update.

#### # Defined in

index.esm.d.ts:857
(opens new window)

### # destroy

▸ `Optional` destroy(`chart`, `args`, `options`): `void`

Called after the chart has been destroyed.

`deprecated` since version 3.7.0 in favour of afterDestroy

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:1095
(opens new window)

### # install

▸ `Optional` install(`chart`, `args`, `options`): `void`

`desc` Called when plugin is installed for this chart instance. This hook is also invoked for disabled plugins (options === false).

`since` 3.0.0

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:817
(opens new window)

### # reset

▸ `Optional` reset(`chart`, `args`, `options`): `void`

`desc` Called during chart reset

`since` version 3.0.0

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:882
(opens new window)

### # resize

▸ `Optional` resize(`chart`, `args`, `options`): `void`

`desc` Called after the chart as been resized.

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `Object` | The call arguments.
`args.size` | `Object` | The new canvas display size (eq. canvas.style width & height).
`args.size.height` | `number` | -
`args.size.width` | `number` | -
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:1080
(opens new window)

### # start

▸ `Optional` start(`chart`, `args`, `options`): `void`

`desc` Called when a plugin is starting. This happens when chart is created or plugin is enabled.

`since` 3.0.0

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:825
(opens new window)

### # stop

▸ `Optional` stop(`chart`, `args`, `options`): `void`

`desc` Called when a plugin stopping. This happens when chart is destroyed or plugin is disabled.

`since` 3.0.0

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:833
(opens new window)

### # uninstall

▸ `Optional` uninstall(`chart`, `args`, `options`): `void`

Called after chart is destroyed on all plugins that were installed for that chart. This hook is also invoked for disabled plugins (options === false).

`since` 3.0.0

#### # Parameters

Name | Type | Description
--- | --- | ---
`chart` | `Chart`<keyof `ChartTypeRegistry`, (`number` | `ScatterDataPoint` | `BubbleDataPoint`)[], `unknown`> | The chart instance.
`args` | `EmptyObject` | The call arguments.
`options` | `O` | The plugin options.

#### # Returns

`void`

#### # Defined in

index.esm.d.ts:1110
(opens new window)