Skip to content

FunnelChart

Defined in: charts/funnel.ts:23

Conversion funnel chart. Each stage is drawn as a centred trapezoid whose width is proportional to its value relative to the first stage.

Default orientation: largest at the top, narrowing downward (a standard funnel). Set pyramid: true to invert vertically so the chart grows from a narrow apex at the top into a wide base at the bottom.

Example

new FunnelChart('#chart').setData([
{ stage: 'Visited', value: 10000 },
{ stage: 'Signup', value: 4200 },
{ stage: 'Activated', value: 2100 },
{ stage: 'Paid', value: 480 },
], { labelField: 'stage', valueField: 'value' });

Extends

Constructors

Constructor

new FunnelChart(container, config?): FunnelChart

Defined in: charts/funnel.ts:28

Parameters

container

string | HTMLElement

config?

FunnelChartConfig = {}

Returns

FunnelChart

Overrides

BaseChart.constructor

Properties

animator

animator: Animator

Defined in: core/base.ts:34

Inherited from

BaseChart.animator


animProgress

animProgress: number = 1

Defined in: core/base.ts:37

Inherited from

BaseChart.animProgress


canvas

canvas: HTMLCanvasElement

Defined in: core/base.ts:31

Inherited from

BaseChart.canvas


config

config: FunnelChartConfig & Required<Pick<BaseChartConfig, "title" | "animate" | "animDuration" | "animEasing" | "responsive" | "showGrid" | "showTooltip" | "showLegend" | "legendPosition" | "subtitle">> & BaseChartConfig

Defined in: charts/funnel.ts:24

Overrides

BaseChart.config


container

container: HTMLElement

Defined in: core/base.ts:22

Inherited from

BaseChart.container


ctx

ctx: CanvasRenderingContext2D

Defined in: core/base.ts:32

Inherited from

BaseChart.ctx


height

height: number = 0

Defined in: core/base.ts:40

Inherited from

BaseChart.height


hoverIndex

hoverIndex: number = -1

Defined in: core/base.ts:36

Inherited from

BaseChart.hoverIndex


padding

padding: Padding

Defined in: core/base.ts:41

Inherited from

BaseChart.padding


resolved

resolved: ResolvedData

Defined in: core/base.ts:38

Inherited from

BaseChart.resolved


theme

theme: Theme

Defined in: core/base.ts:33

Inherited from

BaseChart.theme


tooltip

tooltip: Tooltip | null

Defined in: core/base.ts:35

Inherited from

BaseChart.tooltip


width

width: number = 0

Defined in: core/base.ts:39

Inherited from

BaseChart.width

Accessors

plotArea

Get Signature

get plotArea(): PlotArea

Defined in: core/base.ts:154

Returns

PlotArea

Inherited from

BaseChart.plotArea

Methods

_draw()

_draw(): void

Defined in: charts/funnel.ts:70

Returns

void

Overrides

BaseChart._draw


_onMouse()

_onMouse(e): void

Defined in: charts/funnel.ts:47

Parameters

e

MouseEvent

Returns

void

Overrides

BaseChart._onMouse


destroy()

destroy(): void

Defined in: core/base.ts:222

Returns

void

Inherited from

BaseChart.destroy


resize()

resize(): void

Defined in: core/base.ts:212

Returns

void

Inherited from

BaseChart.resize


setData()

setData(data, mapping?): void

Defined in: charts/funnel.ts:36

Parameters

data

Record<string, any>[] | null | undefined

mapping?

DataMapping

Returns

void

Overrides

BaseChart.setData


setTheme()

setTheme(name): void

Defined in: core/base.ts:181

Parameters

name

string

Returns

void

Inherited from

BaseChart.setTheme


toDataURL()

toDataURL(type?, quality?): string

Defined in: core/base.ts:218

Export the current chart as a PNG data URL.

Parameters

type?

string = 'image/png'

quality?

number = 0.92

Returns

string

Inherited from

BaseChart.toDataURL


update()

update(arg, mapping?): void

Defined in: core/base.ts:191

Polymorphic update:

  • update(dataArray, mapping?) — replaces data (alias of setData).
  • update(configPatch) — patches non-data config (theme, title, padding, etc.).

Parameters

arg

Record<string, any>[] | Partial<BaseChartConfig>

mapping?

DataMapping

Returns

void

Inherited from

BaseChart.update