# Chart.js - v3.5.1

# Enumerations

# Classes

# Interfaces

# Type aliases

# AnimationOptions

Ƭ AnimationOptions<TType>: Object

# Type parameters

Name Type
TType extends ChartType

# Type declaration

Name Type
animation false | AnimationSpec<TType> & { onComplete?: (event: AnimationEvent) => void ; onProgress?: (event: AnimationEvent) => void }
animations AnimationsSpec<TType>
transitions TransitionsSpec<TType>

# Defined in

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


# AnimationSpec

Ƭ AnimationSpec<TType>: Object

# Type parameters

Name Type
TType extends ChartType

# Type declaration

Name Type Description
delay? Scriptable<number, ScriptableContext<TType>> Delay before starting the animations. default 0
duration? Scriptable<number, ScriptableContext<TType>> The number of milliseconds an animation takes. default 1000
easing? Scriptable<EasingFunction, ScriptableContext<TType>> Easing function to use default 'easeOutQuart'
loop? Scriptable<boolean, ScriptableContext<TType>> If set to true, the animations loop endlessly. default false

# Defined in

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


# AnimationsSpec

Ƭ AnimationsSpec<TType>: Object

# Type parameters

Name Type
TType extends ChartType

# Index signature

▪ [name: string]: false | AnimationSpec<TType> & { from: Scriptable<Color | number | boolean, ScriptableContext<TType>> ; properties: string[] ; to: Scriptable<Color | number | boolean, ScriptableContext<TType>> ; type: "color" | "number" | "boolean" ; fn: <T>(from: T, to: T, factor: number) => T }

# Defined in

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


# BarController

Ƭ BarController: DatasetController

# Defined in

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


# BubbleController

Ƭ BubbleController: DatasetController

# Defined in

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


# CategoryScale

Ƭ CategoryScale<O>: Scale<O>

# Type parameters

Name Type
O extends CategoryScaleOptionsCategoryScaleOptions

# Defined in

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


# CategoryScaleOptions

Ƭ CategoryScaleOptions: CartesianScaleOptions & { labels: string[] | string[][] ; max: string | number ; min: string | number }

# Defined in

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


# ChartComponentLike

Ƭ ChartComponentLike: ChartComponent | ChartComponent[] | { [key: string]: ChartComponent; }

# Defined in

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


# ChartDataset

Ƭ ChartDataset<TType, TData>: DeepPartial<{ [key in ChartType]: object & ChartTypeRegistry[key]["datasetOptions"]}[TType]> & ChartDatasetProperties<TType, TData>

# Type parameters

Name Type
TType extends ChartTypeChartType
TData DefaultDataPoint<TType>

# Defined in

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


# ChartItem

Ƭ ChartItem: string | CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D | HTMLCanvasElement | OffscreenCanvas | { canvas: HTMLCanvasElement | OffscreenCanvas } | ArrayLike<CanvasRenderingContext2D | HTMLCanvasElement | OffscreenCanvas>

# Defined in

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


# ChartMeta

Ƭ ChartMeta<TElement, TDatasetElement, TType>: DeepPartial<{ [key in ChartType]: ChartTypeRegistry[key]["metaExtensions"]}[TType]> & ChartMetaCommon<TElement, TDatasetElement>

# Type parameters

Name Type
TElement extends ElementElement
TDatasetElement extends ElementElement
TType extends ChartTypeChartType

# Defined in

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


# ChartOptions

Ƭ ChartOptions<TType>: DeepPartial<CoreChartOptions<TType> & ElementChartOptions<TType> & PluginChartOptions<TType> & DatasetChartOptions<TType> & ScaleChartOptions<TType> & ChartTypeRegistry[TType]["chartOptions"]>

# Type parameters

Name Type
TType extends ChartTypeChartType

# Defined in

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


# ChartType

Ƭ ChartType: keyof ChartTypeRegistry

# Defined in

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


# Color

Ƭ Color: string | CanvasGradient | CanvasPattern

# Defined in

color.d.ts:1 (opens new window)


# DatasetChartOptions

Ƭ DatasetChartOptions<TType>: { [key in TType]: object}

# Type parameters

Name Type
TType extends ChartTypeChartType

# Defined in

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


# DecimationOptions

Ƭ DecimationOptions: LttbDecimationOptions | MinMaxDecimationOptions

# Defined in

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


# DefaultDataPoint

Ƭ DefaultDataPoint<TType>: DistributiveArray<ChartTypeRegistry[TType]["defaultDataPoint"]>

# Type parameters

Name Type
TType extends ChartType

# Defined in

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


# DoughnutDataPoint

Ƭ DoughnutDataPoint: number

# Defined in

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


# EasingFunction

Ƭ EasingFunction: "linear" | "easeInQuad" | "easeOutQuad" | "easeInOutQuad" | "easeInCubic" | "easeOutCubic" | "easeInOutCubic" | "easeInQuart" | "easeOutQuart" | "easeInOutQuart" | "easeInQuint" | "easeOutQuint" | "easeInOutQuint" | "easeInSine" | "easeOutSine" | "easeInOutSine" | "easeInExpo" | "easeOutExpo" | "easeInOutExpo" | "easeInCirc" | "easeOutCirc" | "easeInOutCirc" | "easeInElastic" | "easeOutElastic" | "easeInOutElastic" | "easeInBack" | "easeOutBack" | "easeInOutBack" | "easeInBounce" | "easeOutBounce" | "easeInOutBounce"

# Defined in

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


# ElementChartOptions

Ƭ ElementChartOptions<TType>: Object

# Type parameters

Name Type
TType extends ChartTypeChartType

# Type declaration

Name Type
elements ElementOptionsByType<TType>

# Defined in

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


# FillTarget

Ƭ FillTarget: number | string | { value: number } | "start" | "end" | "origin" | "stack" | "shape" | boolean

# Defined in

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


# InteractionMode

Ƭ InteractionMode: keyof InteractionModeMap

# Defined in

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


# InteractionModeFunction

Ƭ InteractionModeFunction: (chart: Chart, e: ChartEvent, options: InteractionOptions, useFinalPosition?: boolean) => InteractionItem[]

# Type declaration

▸ (chart, e, options, useFinalPosition?): InteractionItem[]

# Parameters
Name Type
chart Chart
e ChartEvent
options InteractionOptions
useFinalPosition? boolean
# Returns

InteractionItem[]

# Defined in

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


# LayoutPosition

Ƭ LayoutPosition: "left" | "top" | "right" | "bottom" | "center" | "chartArea" | { [scaleId: string]: number; }

# Defined in

layout.d.ts:3 (opens new window)


# LineController

Ƭ LineController: DatasetController

# Defined in

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


# LinearScale

Ƭ LinearScale<O>: Scale<O>

# Type parameters

Name Type
O extends LinearScaleOptionsLinearScaleOptions

# Defined in

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


# LinearScaleOptions

Ƭ LinearScaleOptions: CartesianScaleOptions & { beginAtZero: boolean ; grace?: string | number ; suggestedMax?: number ; suggestedMin?: number ; ticks: { count: number ; format: Intl.NumberFormatOptions ; maxTicksLimit: number ; precision: number ; stepSize: number } }

# Defined in

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


# LogarithmicScale

Ƭ LogarithmicScale<O>: Scale<O>

# Type parameters

Name Type
O extends LogarithmicScaleOptionsLogarithmicScaleOptions

# Defined in

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


# LogarithmicScaleOptions

Ƭ LogarithmicScaleOptions: CartesianScaleOptions & { suggestedMax?: number ; suggestedMin?: number ; ticks: { format: Intl.NumberFormatOptions } }

# Defined in

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


# Overrides

Ƭ Overrides: { [key in ChartType]: CoreChartOptions<key> & ElementChartOptions<key> & PluginChartOptions<key> & DatasetChartOptions<ChartType> & ScaleChartOptions<key> & ChartTypeRegistry[key]["chartOptions"]}

# Defined in

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


# ParsedDataType

Ƭ ParsedDataType<TType>: ChartTypeRegistry[TType]["parsedDataType"]

# Type parameters

Name Type
TType extends ChartTypeChartType

# Defined in

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


# PieAnimationOptions

Ƭ PieAnimationOptions: DoughnutAnimationOptions

# Defined in

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


# PieController

Ƭ PieController: DoughnutController

# Defined in

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


# PieControllerChartOptions

Ƭ PieControllerChartOptions: DoughnutControllerChartOptions

# Defined in

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


# PieControllerDatasetOptions

Ƭ PieControllerDatasetOptions: DoughnutControllerDatasetOptions

# Defined in

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


# PieDataPoint

Ƭ PieDataPoint: DoughnutDataPoint

# Defined in

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


# PieMetaExtensions

Ƭ PieMetaExtensions: DoughnutMetaExtensions

# Defined in

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


# PointStyle

Ƭ PointStyle: "circle" | "cross" | "crossRot" | "dash" | "line" | "rect" | "rectRounded" | "rectRot" | "star" | "triangle" | HTMLImageElement | HTMLCanvasElement

# Defined in

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


# PolarAreaAnimationOptions

Ƭ PolarAreaAnimationOptions: DoughnutAnimationOptions

# Defined in

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


# RadarController

Ƭ RadarController: DatasetController

# Defined in

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


# RadarControllerChartOptions

Ƭ RadarControllerChartOptions: LineControllerChartOptions

# Defined in

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


# RadialLinearScaleOptions

Ƭ RadialLinearScaleOptions: CoreScaleOptions & { angleLines: { borderDash: Scriptable<number[], ScriptableScaleContext> ; borderDashOffset: Scriptable<number, ScriptableScaleContext> ; color: Scriptable<Color, ScriptableScaleContext> ; display: boolean ; lineWidth: Scriptable<number, ScriptableScaleContext> } ; animate: boolean ; beginAtZero: boolean ; grid: GridLineOptions ; max: number ; min: number ; pointLabels: { backdropColor: Scriptable<Color, ScriptableScalePointLabelContext> ; backdropPadding: Scriptable<number | ChartArea, ScriptableScalePointLabelContext> ; color: Scriptable<Color, ScriptableScalePointLabelContext> ; display: boolean ; font: Scriptable<FontSpec, ScriptableScalePointLabelContext> ; callback: (label: string, index: number) => string } ; suggestedMax: number ; suggestedMin: number ; ticks: TickOptions & { count: number ; format: Intl.NumberFormatOptions ; maxTicksLimit: number ; precision: number ; stepSize: number } }

# Defined in

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


# ScaleChartOptions

Ƭ ScaleChartOptions<TType>: Object

# Type parameters

Name Type
TType extends ChartTypeChartType

# Type declaration

Name Type
scales Object

# Defined in

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


# ScaleOptions

Ƭ ScaleOptions<TScale>: DeepPartial<ScaleOptionsByType<TScale>>

# Type parameters

Name Type
TScale extends ScaleTypeScaleType

# Defined in

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


# ScaleOptionsByType

Ƭ ScaleOptionsByType<TScale>: { [key in ScaleType]: object & ScaleTypeRegistry[key]["options"]}[TScale]

# Type parameters

Name Type
TScale extends ScaleTypeScaleType

# Defined in

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


# ScaleType

Ƭ ScaleType: keyof ScaleTypeRegistry

# Defined in

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


# ScatterController

Ƭ ScatterController: LineController

# Defined in

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


# ScatterControllerChartOptions

Ƭ ScatterControllerChartOptions: LineControllerChartOptions

# Defined in

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


# ScatterControllerDatasetOptions

Ƭ ScatterControllerDatasetOptions: LineControllerDatasetOptions

# Defined in

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


# Scriptable

Ƭ Scriptable<T, TContext>: T | (ctx: TContext, options: AnyObject) => T

# Type parameters

Name
T
TContext

# Defined in

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


# ScriptableAndArray

Ƭ ScriptableAndArray<T, TContext>: readonly T[] | Scriptable<T, TContext>

# Type parameters

Name
T
TContext

# Defined in

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


# ScriptableAndArrayOptions

Ƭ ScriptableAndArrayOptions<T, TContext>: { [P in keyof T]: ScriptableAndArray<T[P], TContext>}

# Type parameters

Name
T
TContext

# Defined in

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


# ScriptableOptions

Ƭ ScriptableOptions<T, TContext>: { [P in keyof T]: Scriptable<T[P], TContext>}

# Type parameters

Name
T
TContext

# Defined in

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


# TextAlign

Ƭ TextAlign: "left" | "center" | "right"

# Defined in

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


# TimeScaleOptions

Ƭ TimeScaleOptions: CartesianScaleOptions & { adapters: { date: unknown } ; bounds: "ticks" | "data" ; ticks: { source: "labels" | "auto" | "data" } ; time: { displayFormats: { [key: string]: string; } ; isoWeekday: boolean | number ; minUnit: TimeUnit ; parser: string | (v: unknown) => number ; round: false | TimeUnit ; stepSize: number ; tooltipFormat: string ; unit: false | TimeUnit } }

# Defined in

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


# TimeSeriesScale

Ƭ TimeSeriesScale<O>: TimeScale<O>

# Type parameters

Name Type
O extends TimeScaleOptionsTimeScaleOptions

# Defined in

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


# TimeUnit

Ƭ TimeUnit: "millisecond" | "second" | "minute" | "hour" | "day" | "week" | "month" | "quarter" | "year"

# Defined in

adapters.d.ts:1 (opens new window)


# TooltipXAlignment

Ƭ TooltipXAlignment: "left" | "center" | "right"

# Defined in

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


# TooltipYAlignment

Ƭ TooltipYAlignment: "top" | "center" | "bottom"

# Defined in

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


# TransitionSpec

Ƭ TransitionSpec<TType>: Object

# Type parameters

Name Type
TType extends ChartType

# Type declaration

Name Type
animation AnimationSpec<TType>
animations AnimationsSpec<TType>

# Defined in

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


# TransitionsSpec

Ƭ TransitionsSpec<TType>: Object

# Type parameters

Name Type
TType extends ChartType

# Index signature

▪ [mode: string]: TransitionSpec<TType>

# Defined in

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


# UpdateMode

Ƭ UpdateMode: keyof typeof UpdateModeEnum

# Defined in

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

# Variables

# ArcElement

ArcElement: ChartComponent & { prototype: ArcElement<ArcProps, ArcOptions> }

# Defined in

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


# BarController

BarController: ChartComponent & { prototype: BarController }

# Defined in

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


# BarElement

BarElement: ChartComponent & { prototype: BarElement<BarProps, BarOptions> }

# Defined in

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


# BubbleController

BubbleController: ChartComponent & { prototype: BubbleController }

# Defined in

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


# CategoryScale

CategoryScale: ChartComponent & { prototype: CategoryScale<CategoryScaleOptions> }

# Defined in

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


# Decimation

Const Decimation: Plugin

# Defined in

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


# DoughnutController

DoughnutController: ChartComponent & { prototype: DoughnutController }

# Defined in

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


# Element

Element: Object

# Type declaration

Name Type
prototype Element<AnyObject, AnyObject>

# Defined in

element.d.ts:14 (opens new window)


# Filler

Const Filler: Plugin

# Defined in

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


# Interaction

Const Interaction: Object

# Type declaration

Name Type
modes InteractionModeMap

# Defined in

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


# Legend

Const Legend: Plugin

# Defined in

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


# LineController

LineController: ChartComponent & { prototype: LineController }

# Defined in

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


# LineElement

LineElement: ChartComponent & { prototype: LineElement<LineProps, LineOptions> }

# Defined in

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


# LinearScale

LinearScale: ChartComponent & { prototype: LinearScale<LinearScaleOptions> }

# Defined in

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


# LogarithmicScale

LogarithmicScale: ChartComponent & { prototype: LogarithmicScale<LogarithmicScaleOptions> }

# Defined in

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


# PieController

PieController: ChartComponent & { prototype: DoughnutController }

# Defined in

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


# PointElement

PointElement: ChartComponent & { prototype: PointElement<PointProps, PointOptions> }

# Defined in

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


# PolarAreaController

PolarAreaController: ChartComponent & { prototype: PolarAreaController }

# Defined in

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


# RadarController

RadarController: ChartComponent & { prototype: RadarController }

# Defined in

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


# RadialLinearScale

RadialLinearScale: ChartComponent & { prototype: RadialLinearScale<RadialLinearScaleOptions> }

# Defined in

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


# ScatterController

ScatterController: ChartComponent & { prototype: LineController }

# Defined in

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


# SubTitle

Const SubTitle: Plugin

# Defined in

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


# Ticks

Const Ticks: Object

# Type declaration

Name Type
formatters Object
formatters.logarithmic [object Object]
formatters.numeric [object Object]
formatters.values [object Object]

# Defined in

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


# TimeScale

TimeScale: ChartComponent & { prototype: TimeScale<TimeScaleOptions> }

# Defined in

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


# TimeSeriesScale

TimeSeriesScale: ChartComponent & { prototype: TimeSeriesScale<TimeScaleOptions> }

# Defined in

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


# Title

Const Title: Plugin

# Defined in

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


# Tooltip

Const Tooltip: Plugin & { positioners: { [key: string]: (items: readonly ActiveElement[], eventPosition: { x: number ; y: number }) => { x: number ; y: number } | false; } ; getActiveElements: () => ActiveElement[] ; setActiveElements: (active: ActiveDataPoint[], eventPosition: { x: number ; y: number }) => void }

# Defined in

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


# _adapters

Const _adapters: Object

# Type declaration

Name Type
_date DateAdapter

# Defined in

adapters.d.ts:61 (opens new window)


# defaults

Const defaults: Defaults

# Defined in

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


# layouts

Const layouts: Object

# Type declaration

Name Type
addBox (chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>, item: LayoutItem) => void
configure (chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>, item: LayoutItem, options: { fullSize?: number ; position?: LayoutPosition ; weight?: number }) => void
removeBox (chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>, layoutItem: LayoutItem) => void
update (chart: Chart<keyof ChartTypeRegistry, (number | ScatterDataPoint | BubbleDataPoint)[], unknown>, width: number, height: number) => void

# Defined in

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


# registerables

Const registerables: readonly ChartComponentLike[]

# Defined in

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


# registry

Const registry: Registry

# Defined in

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