ARIA · table fallbackAccessibility
Canvas ARIA metadata is paired with a text summary and table fallback.
Graflume · Alpha
Inspect relationships, clusters, and outliers across two quantitative variables. These tabs come from Graflume's public catalog. Every mode owns runnable data, options, a Quick API, and source-backed feature claims.
Chart family · Default families
Inspect relationships, clusters, and outliers across two quantitative variables.
scatter()graflumepointChart-specific features
These tabs come from Graflume's public catalog. Every mode owns runnable data, options, a Quick API, and source-backed feature claims.
Scatter chart uses runnable data and options to demonstrate point mark; performance sampling.
StatusLoading
scatterpoint markperformance samplingdata-domain navigationLoading
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative |
|---|---|
| 14 | 38 |
| 20 | 45 |
| 25 | 41 |
| 38 | 57 |
| 45 | 63 |
| 50 | 55 |
| 64 | 72 |
| 72 | 79 |
| 78 | 70 |
| 61 | 88 |
Browser API
const data = [
{
"group": "Starter",
"name": "Atlas Lab",
"size": 28,
"x": 14,
"y": 38,
"z": 7
},
{
"group": "Starter",
"name": "Beacon Co",
"size": 34,
"x": 20,
"y": 45,
"z": 10
},
{
"group": "Starter",
"name": "Civic Data",
"size": 31,
"x": 25,
"y": 41,
"z": 12
},
{
"group": "Growth",
"name": "Delta Ops",
"size": 64,
"x": 38,
"y": 57,
"z": 15
},
{
"group": "Growth",
"name": "Ember Labs",
"size": 78,
"x": 45,
"y": 63,
"z": 18
},
{
"group": "Growth",
"name": "Foundry BI",
"size": 70,
"x": 50,
"y": 55,
"z": 21
},
{
"group": "Scale",
"name": "Harbor AI",
"size": 112,
"x": 64,
"y": 72,
"z": 25
},
{
"group": "Scale",
"name": "Lattice Co",
"size": 128,
"x": 72,
"y": 79,
"z": 28
},
{
"group": "Scale",
"name": "Meridian",
"size": 118,
"x": 78,
"y": 70,
"z": 31
},
{
"group": "Opportunity",
"name": "Northstar",
"size": 52,
"x": 61,
"y": 88,
"z": 34
}
];
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": "Scatter example"
},
"axes": {
"x": {
"ticks": {
"count": 5
}
},
"y": {
"ticks": {
"count": 5
}
}
},
"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": "x",
"format": "number",
"label": "X"
},
{
"field": "y",
"format": "number",
"label": "Y"
}
],
"title": "Scatter",
"trigger": "mark"
}
},
"locale": "en",
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Scatter chart uses runnable data and options to demonstrate point mark; performance sampling.",
"text": "Scatter"
},
"width": "container",
"x": {
"field": "x",
"title": "Engagement score",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Satisfaction score",
"type": "quantitative"
}
};
Graflume.scatter('#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": "Scatter example"
},
"axes": {
"x": {
"ticks": {
"count": 5
}
},
"y": {
"ticks": {
"count": 5
}
}
},
"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": "x",
"format": "number",
"label": "X"
},
{
"field": "y",
"format": "number",
"label": "Y"
}
],
"title": "Scatter",
"trigger": "mark"
}
},
"locale": "en",
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Scatter chart uses runnable data and options to demonstrate point mark; performance sampling.",
"text": "Scatter"
},
"width": "container",
"x": {
"field": "x",
"title": "Engagement score",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Satisfaction score",
"type": "quantitative"
}
}Effect scatter chart uses runnable data and options to demonstrate effect scatter; color/radius/shape/opacity encodings.
StatusLoading
effect-scattereffect scattercolor/radius/shape/opacity encodingsspatial index and WebGL dispatchLoading
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative | sizequantitative | groupordinal |
|---|---|---|---|
| 14 | 38 | 28 | Starter |
| 20 | 45 | 34 | Starter |
| 25 | 41 | 31 | Starter |
| 38 | 57 | 64 | Growth |
| 45 | 63 | 78 | Growth |
| 50 | 55 | 70 | Growth |
| 64 | 72 | 112 | Scale |
| 72 | 79 | 128 | Scale |
| 78 | 70 | 118 | Scale |
| 61 | 88 | 52 | Opportunity |
Browser API
const data = [
{
"group": "Starter",
"name": "Atlas Lab",
"size": 28,
"x": 14,
"y": 38,
"z": 7
},
{
"group": "Starter",
"name": "Beacon Co",
"size": 34,
"x": 20,
"y": 45,
"z": 10
},
{
"group": "Starter",
"name": "Civic Data",
"size": 31,
"x": 25,
"y": 41,
"z": 12
},
{
"group": "Growth",
"name": "Delta Ops",
"size": 64,
"x": 38,
"y": 57,
"z": 15
},
{
"group": "Growth",
"name": "Ember Labs",
"size": 78,
"x": 45,
"y": 63,
"z": 18
},
{
"group": "Growth",
"name": "Foundry BI",
"size": 70,
"x": 50,
"y": 55,
"z": 21
},
{
"group": "Scale",
"name": "Harbor AI",
"size": 112,
"x": 64,
"y": 72,
"z": 25
},
{
"group": "Scale",
"name": "Lattice Co",
"size": 128,
"x": 72,
"y": 79,
"z": 28
},
{
"group": "Scale",
"name": "Meridian",
"size": 118,
"x": 78,
"y": 70,
"z": 31
},
{
"group": "Opportunity",
"name": "Northstar",
"size": 52,
"x": 61,
"y": 88,
"z": 34
}
];
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": "Scatter · Effect scatter chart example"
},
"axes": {
"x": {
"ticks": {
"count": 5
}
},
"y": {
"ticks": {
"count": 5
}
}
},
"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": "x",
"format": "number",
"label": "X"
},
{
"field": "y",
"format": "number",
"label": "Y"
},
{
"field": "size",
"format": "number",
"label": "Size"
},
{
"field": "group",
"format": "auto",
"label": "Group"
}
],
"title": "Scatter · Effect scatter chart",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"fields": {
"color": "group",
"size": "size"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Effect scatter chart uses runnable data and options to demonstrate effect scatter; color/radius/shape/opacity encodings.",
"text": "Scatter · Effect scatter chart"
},
"width": "container",
"x": {
"field": "x",
"title": "Engagement score",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Satisfaction score",
"type": "quantitative"
}
};
Graflume.effectScatter('#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": "Scatter · Effect scatter chart example"
},
"axes": {
"x": {
"ticks": {
"count": 5
}
},
"y": {
"ticks": {
"count": 5
}
}
},
"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": "x",
"format": "number",
"label": "X"
},
{
"field": "y",
"format": "number",
"label": "Y"
},
{
"field": "size",
"format": "number",
"label": "Size"
},
{
"field": "group",
"format": "auto",
"label": "Group"
}
],
"title": "Scatter · Effect scatter chart",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"fields": {
"color": "group",
"size": "size"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Effect scatter chart uses runnable data and options to demonstrate effect scatter; color/radius/shape/opacity encodings.",
"text": "Scatter · Effect scatter chart"
},
"width": "container",
"x": {
"field": "x",
"title": "Engagement score",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Satisfaction score",
"type": "quantitative"
}
}Three-axis scatter chart uses runnable data and options to demonstrate portable 2D depth-cue scatter3d; brush/lasso/polygon selection.
StatusLoading
scatter-3dportable 2D depth-cue scatter3dbrush/lasso/polygon selectionLoading
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative | zquantitative | groupordinal | sizequantitative |
|---|---|---|---|---|
| 14 | 38 | 7 | Starter | 28 |
| 20 | 45 | 10 | Starter | 34 |
| 25 | 41 | 12 | Starter | 31 |
| 38 | 57 | 15 | Growth | 64 |
| 45 | 63 | 18 | Growth | 78 |
| 50 | 55 | 21 | Growth | 70 |
| 64 | 72 | 25 | Scale | 112 |
| 72 | 79 | 28 | Scale | 128 |
| 78 | 70 | 31 | Scale | 118 |
| 61 | 88 | 34 | Opportunity | 52 |
Browser API
const data = [
{
"group": "Starter",
"name": "Atlas Lab",
"size": 28,
"x": 14,
"y": 38,
"z": 7
},
{
"group": "Starter",
"name": "Beacon Co",
"size": 34,
"x": 20,
"y": 45,
"z": 10
},
{
"group": "Starter",
"name": "Civic Data",
"size": 31,
"x": 25,
"y": 41,
"z": 12
},
{
"group": "Growth",
"name": "Delta Ops",
"size": 64,
"x": 38,
"y": 57,
"z": 15
},
{
"group": "Growth",
"name": "Ember Labs",
"size": 78,
"x": 45,
"y": 63,
"z": 18
},
{
"group": "Growth",
"name": "Foundry BI",
"size": 70,
"x": 50,
"y": 55,
"z": 21
},
{
"group": "Scale",
"name": "Harbor AI",
"size": 112,
"x": 64,
"y": 72,
"z": 25
},
{
"group": "Scale",
"name": "Lattice Co",
"size": 128,
"x": 72,
"y": 79,
"z": 28
},
{
"group": "Scale",
"name": "Meridian",
"size": 118,
"x": 78,
"y": 70,
"z": 31
},
{
"group": "Opportunity",
"name": "Northstar",
"size": 52,
"x": 61,
"y": 88,
"z": 34
}
];
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": "Scatter · Three-axis scatter chart example"
},
"axes": {
"x": {
"ticks": {
"count": 5
}
},
"y": {
"ticks": {
"count": 5
}
}
},
"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": "x",
"format": "number",
"label": "X"
},
{
"field": "y",
"format": "number",
"label": "Y"
},
{
"field": "z",
"format": "number",
"label": "Z"
},
{
"field": "group",
"format": "auto",
"label": "Group"
},
{
"field": "size",
"format": "number",
"label": "Size"
}
],
"title": "Scatter · Three-axis scatter chart",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"fields": {
"color": "group",
"size": "size",
"z": "z"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Three-axis scatter chart uses runnable data and options to demonstrate portable 2D depth-cue scatter3d; brush/lasso/polygon selection.",
"text": "Scatter · Three-axis scatter chart"
},
"width": "container",
"x": {
"field": "x",
"title": "Engagement score",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Satisfaction score",
"type": "quantitative"
}
};
Graflume.scatter3d('#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": "Scatter · Three-axis scatter chart example"
},
"axes": {
"x": {
"ticks": {
"count": 5
}
},
"y": {
"ticks": {
"count": 5
}
}
},
"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": "x",
"format": "number",
"label": "X"
},
{
"field": "y",
"format": "number",
"label": "Y"
},
{
"field": "z",
"format": "number",
"label": "Z"
},
{
"field": "group",
"format": "auto",
"label": "Group"
},
{
"field": "size",
"format": "number",
"label": "Size"
}
],
"title": "Scatter · Three-axis scatter chart",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"fields": {
"color": "group",
"size": "size",
"z": "z"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Three-axis scatter chart uses runnable data and options to demonstrate portable 2D depth-cue scatter3d; brush/lasso/polygon selection.",
"text": "Scatter · Three-axis scatter chart"
},
"width": "container",
"x": {
"field": "x",
"title": "Engagement score",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Satisfaction score",
"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.
3 modes · 2 compatibility identifiers
| ID | Name | Quick API | mode | mark | renderer |
|---|---|---|---|---|---|
scatter | Scatter chart | scatter() | default | point | canvas |
effect-scatter | Effect scatter chart | effectScatter() | emphasis | effect-scatter | canvas |
scatter-3d | Three-axis scatter chart | scatter3d() | scatter-3d | scatter-3d | canvas |
| Identifier | Canonical mode ID |
|---|---|
scatter | scatter |
scatter3d | scatter-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.