ARIA · table fallbackAccessibility
Canvas ARIA metadata is paired with a text summary and table fallback.
Graflume · Alpha
Compare declining stage totals and conversion loss in a funnel layout. These tabs come from Graflume's public catalog. Every mode owns runnable data, options, a Quick API, and source-backed feature claims.
Chart family · Advanced families
Compare declining stage totals and conversion loss in a funnel layout.
funnel()graflume/completefunnelChart-specific features
These tabs come from Graflume's public catalog. Every mode owns runnable data, options, a Quick API, and source-backed feature claims.
Funnel chart uses runnable data and options to demonstrate length funnel; neck configuration.
StatusLoading
funnellength funnelneck configurationLoading
Row data and zero-copy TypedArray columns share one data contract.
categoryordinal | valuequantitative |
|---|---|
| Visited | 12000 |
| Explored a chart | 8450 |
| Created a view | 5120 |
| Shared with a team | 2940 |
| Returned in 30 days | 1860 |
Browser API
const data = [
{
"category": "Visited",
"value": 12000
},
{
"category": "Explored a chart",
"value": 8450
},
{
"category": "Created a view",
"value": 5120
},
{
"category": "Shared with a team",
"value": 2940
},
{
"category": "Returned in 30 days",
"value": 1860
}
];
const options = {
"accessibility": {
"description": "Zoom and pan inspect the rendered surface without changing data axes or values. When playback controls are available, they move through real steps in the order each unique value first appears in the source data.",
"label": "Funnel example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "category",
"format": "auto",
"label": "Category"
},
{
"field": "value",
"format": "number",
"label": "Value"
}
],
"title": "Funnel",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"options": {
"mode": "default"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Funnel chart uses runnable data and options to demonstrate length funnel; neck configuration.",
"text": "Funnel"
},
"width": "container",
"x": {
"field": "category",
"title": "Journey stage",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Teams",
"type": "quantitative"
}
};
Graflume.funnel('#chart', data, options);Portable schema
{
"accessibility": {
"description": "Zoom and pan inspect the rendered surface without changing data axes or values. When playback controls are available, they move through real steps in the order each unique value first appears in the source data.",
"label": "Funnel example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "category",
"format": "auto",
"label": "Category"
},
{
"field": "value",
"format": "number",
"label": "Value"
}
],
"title": "Funnel",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"options": {
"mode": "default"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Funnel chart uses runnable data and options to demonstrate length funnel; neck configuration.",
"text": "Funnel"
},
"width": "container",
"x": {
"field": "category",
"title": "Journey stage",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Teams",
"type": "quantitative"
}
}Funnel area chart uses runnable data and options to demonstrate area-proportional funnel; outside label solver.
StatusLoading
funnel-areaarea-proportional funneloutside label solverLoading
Row data and zero-copy TypedArray columns share one data contract.
categoryordinal | valuequantitative |
|---|---|
| Visited | 12000 |
| Explored a chart | 8450 |
| Created a view | 5120 |
| Shared with a team | 2940 |
| Returned in 30 days | 1860 |
Browser API
const data = [
{
"category": "Visited",
"value": 12000
},
{
"category": "Explored a chart",
"value": 8450
},
{
"category": "Created a view",
"value": 5120
},
{
"category": "Shared with a team",
"value": 2940
},
{
"category": "Returned in 30 days",
"value": 1860
}
];
const options = {
"accessibility": {
"description": "Zoom and pan inspect the rendered surface without changing data axes or values. When playback controls are available, they move through real steps in the order each unique value first appears in the source data.",
"label": "Funnel · Funnel area chart example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "category",
"format": "auto",
"label": "Category"
},
{
"field": "value",
"format": "number",
"label": "Value"
}
],
"title": "Funnel · Funnel area chart",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"options": {
"mode": "area"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Funnel area chart uses runnable data and options to demonstrate area-proportional funnel; outside label solver.",
"text": "Funnel · Funnel area chart"
},
"width": "container",
"x": {
"field": "category",
"title": "Journey stage",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Teams",
"type": "quantitative"
}
};
Graflume.funnelArea('#chart', data, options);Portable schema
{
"accessibility": {
"description": "Zoom and pan inspect the rendered surface without changing data axes or values. When playback controls are available, they move through real steps in the order each unique value first appears in the source data.",
"label": "Funnel · Funnel area chart example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "category",
"format": "auto",
"label": "Category"
},
{
"field": "value",
"format": "number",
"label": "Value"
}
],
"title": "Funnel · Funnel area chart",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"options": {
"mode": "area"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Funnel area chart uses runnable data and options to demonstrate area-proportional funnel; outside label solver.",
"text": "Funnel · Funnel area chart"
},
"width": "container",
"x": {
"field": "category",
"title": "Journey stage",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Teams",
"type": "quantitative"
}
}Depth funnel chart uses runnable data and options to demonstrate pyramid and depth-styled variants.
StatusLoading
funnel-3dpyramid and depth-styled variantsLoading
Row data and zero-copy TypedArray columns share one data contract.
categoryordinal | valuequantitative |
|---|---|
| Visited | 12000 |
| Explored a chart | 8450 |
| Created a view | 5120 |
| Shared with a team | 2940 |
| Returned in 30 days | 1860 |
Browser API
const data = [
{
"category": "Visited",
"value": 12000
},
{
"category": "Explored a chart",
"value": 8450
},
{
"category": "Created a view",
"value": 5120
},
{
"category": "Shared with a team",
"value": 2940
},
{
"category": "Returned in 30 days",
"value": 1860
}
];
const options = {
"accessibility": {
"description": "Zoom and pan inspect the rendered surface without changing data axes or values. When playback controls are available, they move through real steps in the order each unique value first appears in the source data.",
"label": "Funnel · Depth funnel chart example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "category",
"format": "auto",
"label": "Category"
},
{
"field": "value",
"format": "number",
"label": "Value"
}
],
"title": "Funnel · Depth funnel chart",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"options": {
"variant": "funnel-3d"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Depth funnel chart uses runnable data and options to demonstrate pyramid and depth-styled variants.",
"text": "Funnel · Depth funnel chart"
},
"width": "container",
"x": {
"field": "category",
"title": "Journey stage",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Teams",
"type": "quantitative"
}
};
Graflume.funnel3d('#chart', data, options);Portable schema
{
"accessibility": {
"description": "Zoom and pan inspect the rendered surface without changing data axes or values. When playback controls are available, they move through real steps in the order each unique value first appears in the source data.",
"label": "Funnel · Depth funnel chart example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "category",
"format": "auto",
"label": "Category"
},
{
"field": "value",
"format": "number",
"label": "Value"
}
],
"title": "Funnel · Depth funnel chart",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"options": {
"variant": "funnel-3d"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Depth funnel chart uses runnable data and options to demonstrate pyramid and depth-styled variants.",
"text": "Funnel · Depth funnel chart"
},
"width": "container",
"x": {
"field": "category",
"title": "Journey stage",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Teams",
"type": "quantitative"
}
}Pyramid chart uses runnable data and options to demonstrate sorting and value labels.
StatusLoading
pyramidsorting and value labelsLoading
Row data and zero-copy TypedArray columns share one data contract.
categoryordinal | valuequantitative |
|---|---|
| Visited | 12000 |
| Explored a chart | 8450 |
| Created a view | 5120 |
| Shared with a team | 2940 |
| Returned in 30 days | 1860 |
Browser API
const data = [
{
"category": "Visited",
"value": 12000
},
{
"category": "Explored a chart",
"value": 8450
},
{
"category": "Created a view",
"value": 5120
},
{
"category": "Shared with a team",
"value": 2940
},
{
"category": "Returned in 30 days",
"value": 1860
}
];
const options = {
"accessibility": {
"description": "Zoom and pan inspect the rendered surface without changing data axes or values. When playback controls are available, they move through real steps in the order each unique value first appears in the source data.",
"label": "Funnel · Pyramid chart example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "category",
"format": "auto",
"label": "Category"
},
{
"field": "value",
"format": "number",
"label": "Value"
}
],
"title": "Funnel · Pyramid chart",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"options": {
"variant": "pyramid"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Pyramid chart uses runnable data and options to demonstrate sorting and value labels.",
"text": "Funnel · Pyramid chart"
},
"width": "container",
"x": {
"field": "category",
"title": "Journey stage",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Teams",
"type": "quantitative"
}
};
Graflume.pyramid('#chart', data, options);Portable schema
{
"accessibility": {
"description": "Zoom and pan inspect the rendered surface without changing data axes or values. When playback controls are available, they move through real steps in the order each unique value first appears in the source data.",
"label": "Funnel · Pyramid chart example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "category",
"format": "auto",
"label": "Category"
},
{
"field": "value",
"format": "number",
"label": "Value"
}
],
"title": "Funnel · Pyramid chart",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"options": {
"variant": "pyramid"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Pyramid chart uses runnable data and options to demonstrate sorting and value labels.",
"text": "Funnel · Pyramid chart"
},
"width": "container",
"x": {
"field": "category",
"title": "Journey stage",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Teams",
"type": "quantitative"
}
}Depth pyramid chart uses runnable data and options to demonstrate conversion/dropoff/cumulative semantics.
StatusLoading
pyramid-3dconversion/dropoff/cumulative semanticsLoading
Row data and zero-copy TypedArray columns share one data contract.
categoryordinal | valuequantitative |
|---|---|
| Visited | 12000 |
| Explored a chart | 8450 |
| Created a view | 5120 |
| Shared with a team | 2940 |
| Returned in 30 days | 1860 |
Browser API
const data = [
{
"category": "Visited",
"value": 12000
},
{
"category": "Explored a chart",
"value": 8450
},
{
"category": "Created a view",
"value": 5120
},
{
"category": "Shared with a team",
"value": 2940
},
{
"category": "Returned in 30 days",
"value": 1860
}
];
const options = {
"accessibility": {
"description": "Zoom and pan inspect the rendered surface without changing data axes or values. When playback controls are available, they move through real steps in the order each unique value first appears in the source data.",
"label": "Funnel · Depth pyramid chart example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "category",
"format": "auto",
"label": "Category"
},
{
"field": "value",
"format": "number",
"label": "Value"
}
],
"title": "Funnel · Depth pyramid chart",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"options": {
"variant": "pyramid-3d"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Depth pyramid chart uses runnable data and options to demonstrate conversion/dropoff/cumulative semantics.",
"text": "Funnel · Depth pyramid chart"
},
"width": "container",
"x": {
"field": "category",
"title": "Journey stage",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Teams",
"type": "quantitative"
}
};
Graflume.pyramid3d('#chart', data, options);Portable schema
{
"accessibility": {
"description": "Zoom and pan inspect the rendered surface without changing data axes or values. When playback controls are available, they move through real steps in the order each unique value first appears in the source data.",
"label": "Funnel · Depth pyramid chart example"
},
"axes": {
"x": false,
"y": false
},
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
},
"playback": false,
"reset": true,
"zoom": true
},
"hover": true,
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
},
"tooltip": {
"fields": [
{
"field": "category",
"format": "auto",
"label": "Category"
},
{
"field": "value",
"format": "number",
"label": "Value"
}
],
"title": "Funnel · Depth pyramid chart",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"options": {
"variant": "pyramid-3d"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Depth pyramid chart uses runnable data and options to demonstrate conversion/dropoff/cumulative semantics.",
"text": "Funnel · Depth pyramid chart"
},
"width": "container",
"x": {
"field": "category",
"title": "Journey stage",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Teams",
"type": "quantitative"
}
}Catalog
The source-controlled catalog maps callable modes in this family and compatibility identifiers to their canonical modes. This table contains executable entries only.
5 modes · 4 compatibility identifiers
| ID | Name | Quick API | mode | mark | renderer |
|---|---|---|---|---|---|
funnel | Funnel chart | funnel() | default | funnel | canvas |
funnel-area | Funnel area chart | funnelArea() | area | funnel | canvas |
funnel-3d | Depth funnel chart | funnel3d() | funnel-3d | pyramid | canvas |
pyramid | Pyramid chart | pyramid() | pyramid | pyramid | canvas |
pyramid-3d | Depth pyramid chart | pyramid3d() | pyramid-3d | pyramid | canvas |
| Identifier | Canonical mode ID |
|---|---|
funnel | funnel |
funnel3d | funnel-3d |
pyramid | pyramid |
pyramid3d | pyramid-3d |
Manual
ARIA · table fallbackCanvas ARIA metadata is paired with a text summary and table fallback.
standard · large · ultraStandard, large, and ultra profiles bound rendering work.