ARIA · table fallbackAccessibility
Canvas ARIA metadata is paired with a text summary and table fallback.
Graflume · Alpha
Compare raw samples through univariate or bivariate density, summary statistics, and theoretical curves.
Chart family · Default families
Compare raw samples through univariate or bivariate density, summary statistics, and theoretical curves.
distribution()graflumedistributionBasic implementation
Start with only the required data and family encoding. Expand the code to run the same example.
Compare raw samples through univariate or bivariate density, summary statistics, and theoretical curves.
StatusLoading
minimal-implementationLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
const options = {
"height": 620,
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#chart', data, options);Portable schema
{
"height": 620,
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Common features
Use the tabs to compare header, tooltip, theme, legend, highlight, callout, selection, view controls, and accessibility one feature at a time. Hover over a data mark. On supported charts, move the pointer along the axis to see the nearest value. All exact values are available in the table below.
Add a chart title and supporting description inside the visualization.
StatusLoading
headerLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
const options = {
"height": 620,
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"title": {
"subtitle": "Distribution chart uses runnable data and options to demonstrate weighted count/probability/density and cumulative histograms; notched and weighted box summaries.",
"text": "Distribution"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#chart', data, options);Portable schema
{
"height": 620,
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"title": {
"subtitle": "Distribution chart uses runnable data and options to demonstrate weighted count/probability/density and cumulative histograms; notched and weighted box summaries.",
"text": "Distribution"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Reveal exact values from a mark or axis position. Authors can choose locale-aware date/time styles and a time zone with declarative options.
StatusLoading
tooltipLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
const options = {
"height": 620,
"interaction": {
"hover": true,
"tooltip": {
"axis": "x",
"fields": [
{
"field": "binStart",
"format": "number",
"label": "Bin start"
},
{
"field": "binEnd",
"format": "number",
"label": "Bin end"
},
{
"field": "count",
"format": "integer",
"label": "Count"
},
{
"field": "proportion",
"format": "percent",
"fractionDigits": 1,
"label": "Proportion"
}
],
"title": "Distribution · Tooltip",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#chart', data, options);Portable schema
{
"height": 620,
"interaction": {
"hover": true,
"tooltip": {
"axis": "x",
"fields": [
{
"field": "binStart",
"format": "number",
"label": "Bin start"
},
{
"field": "binEnd",
"format": "number",
"label": "Bin end"
},
{
"field": "count",
"format": "integer",
"label": "Count"
},
{
"field": "proportion",
"format": "percent",
"fractionDigits": 1,
"label": "Proportion"
}
],
"title": "Distribution · Tooltip",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Apply the current built-in theme from the selector and update every active example together.
StatusLoading
themeLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
const options = {
"height": 620,
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"theme": "graflume-light",
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#chart', data, options);Portable schema
{
"height": 620,
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"theme": "graflume-light",
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Explain the visual meaning of layers, categories, or continuous values.
StatusLoading
legendlegend · categories · seriesLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
const options = {
"height": 620,
"legend": {
"field": "series",
"interactive": false,
"labels": {
"hide": "Hide",
"show": "Show"
},
"maxItems": 8,
"mode": "categories",
"orientation": "horizontal",
"position": "bottom",
"title": "Series",
"visible": true
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#chart', data, options);Portable schema
{
"height": 620,
"legend": {
"field": "series",
"interactive": false,
"labels": {
"hide": "Hide",
"show": "Show"
},
"maxItems": 8,
"mode": "categories",
"orientation": "horizontal",
"position": "bottom",
"title": "Series",
"visible": true
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Emphasize a representative datum or spatial position to guide inspection.
StatusLoading
highlighthighlights[] · datum · valueLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
const options = {
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "value",
"type": "datum",
"value": 55.8
}
}
],
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#chart', data, options);Portable schema
{
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "value",
"type": "datum",
"value": 55.8
}
}
],
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Show an explanatory callout with automatic collision avoidance and multilingual wrapping.
StatusLoading
calloutannotations[] · datum · value · callout · placement:autoLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
const options = {
"annotations": [
{
"connector": {
"visible": true
},
"detail": "Attach user-authored safe text to a datum, axis range, or normalized plot position.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "value",
"type": "datum",
"value": 55.8
},
"text": "Point and range highlights · 55.8"
}
],
"height": 620,
"interaction": {
"controls": {
"annotations": 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"
}
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#chart', data, options);Portable schema
{
"annotations": [
{
"connector": {
"visible": true
},
"detail": "Attach user-authored safe text to a datum, axis range, or normalized plot position.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "value",
"type": "datum",
"value": 55.8
},
"text": "Point and range highlights · 55.8"
}
],
"height": 620,
"interaction": {
"controls": {
"annotations": 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"
}
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Select and toggle data, then clear it from the background or Escape key.
StatusLoading
selectionselection · multiple · toggleLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
const options = {
"height": 620,
"interaction": {
"selection": {
"ariaLabel": "Interactive selection",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "value",
"mode": "multiple",
"toggle": true
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#chart', data, options);Portable schema
{
"height": 620,
"interaction": {
"selection": {
"ariaLabel": "Interactive selection",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "value",
"mode": "multiple",
"toggle": true
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Show or hide zoom, pan, reset, projection, fullscreen, and PNG export one menu at a time. Set controls: false to remove the entire toolbar.
StatusLoading
controlsLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
const options = {
"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
},
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"padding": {
"top": 52
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#chart', data, options);Portable schema
{
"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
},
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"padding": {
"top": 52
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Pair ARIA descriptions and keyboard guidance with a semantic data table.
StatusLoading
accessibilityLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
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": "Distribution · Accessibility example"
},
"height": 620,
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#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": "Distribution · Accessibility example"
},
"height": 620,
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Chart-specific features
These tabs come from Graflume's public catalog. Every mode owns runnable data, options, a Quick API, and source-backed feature claims.
Distribution chart uses runnable data and options to demonstrate weighted count/probability/density and cumulative histograms; notched and weighted box summaries.
StatusLoading
distributionweighted count/probability/density and cumulative histogramsnotched and weighted box summariesLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
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": "Distribution example"
},
"axes": {
"x": {
"format": {
"type": "integer"
},
"ticks": {
"spacing": 8,
"values": [
18,
24,
30,
36,
39
]
}
},
"y": {
"format": {
"type": "integer"
},
"ticks": {
"count": 5,
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "binStart",
"format": "number",
"label": "Bin start"
},
{
"field": "binEnd",
"format": "number",
"label": "Bin end"
},
{
"field": "count",
"format": "integer",
"label": "Count"
},
{
"field": "proportion",
"format": "percent",
"fractionDigits": 1,
"label": "Proportion"
}
],
"title": "Distribution",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Distribution chart uses runnable data and options to demonstrate weighted count/probability/density and cumulative histograms; notched and weighted box summaries.",
"text": "Distribution"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#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": "Distribution example"
},
"axes": {
"x": {
"format": {
"type": "integer"
},
"ticks": {
"spacing": 8,
"values": [
18,
24,
30,
36,
39
]
}
},
"y": {
"format": {
"type": "integer"
},
"ticks": {
"count": 5,
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "binStart",
"format": "number",
"label": "Bin start"
},
{
"field": "binEnd",
"format": "number",
"label": "Bin end"
},
{
"field": "count",
"format": "integer",
"label": "Count"
},
{
"field": "proportion",
"format": "percent",
"fractionDigits": 1,
"label": "Proportion"
}
],
"title": "Distribution",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Distribution chart uses runnable data and options to demonstrate weighted count/probability/density and cumulative histograms; notched and weighted box summaries.",
"text": "Distribution"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Histogram uses runnable data and options to demonstrate raw weighted Gaussian KDE with robust bandwidth; rug and strip.
StatusLoading
histogramraw weighted Gaussian KDE with robust bandwidthrug and stripLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative |
|---|
| 44.8 |
| 48.609 |
| 51.351 |
| 52.38 |
| 51.584 |
| 49.421 |
| 46.777 |
| 38.377 |
| 37.656 |
| 38.692 |
| 41.286 |
| 44.733 |
| 48.059 |
| 50.344 |
| 44.729 |
| 43.798 |
| 41.794 |
| 39.634 |
| 38.32 |
| 38.603 |
| 40.742 |
| 38.114 |
| 42.518 |
| 46.633 |
| 49.548 |
| 50.754 |
| 50.304 |
| 48.795 |
| 40.859 |
| 40.062 |
| 40.777 |
| 43.161 |
| 46.801 |
| 50.846 |
| 54.285 |
| 49.975 |
| 55.8 |
| 59.609 |
| 62.351 |
| 63.38 |
| 62.584 |
| 60.421 |
| 57.777 |
| 49.377 |
| 48.656 |
| 49.692 |
| 52.286 |
| 55.733 |
| 59.059 |
| 61.344 |
| 55.729 |
| 54.798 |
| 52.794 |
| 50.634 |
| 49.32 |
| 49.603 |
| 51.742 |
| 49.114 |
| 53.518 |
| 57.633 |
| 60.548 |
| 61.754 |
| 61.304 |
| 59.795 |
| 51.859 |
| 51.062 |
| 51.777 |
| 54.161 |
| 57.801 |
| 61.846 |
| 65.285 |
| 60.975 |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
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": "Distribution · Histogram example"
},
"axes": {
"x": {
"format": {
"type": "integer"
},
"ticks": {
"spacing": 8,
"values": [
18,
24,
30,
36,
39
]
}
},
"y": {
"format": {
"type": "integer"
},
"ticks": {
"count": 5,
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "binStart",
"format": "number",
"label": "Bin start"
},
{
"field": "binEnd",
"format": "number",
"label": "Bin end"
},
{
"field": "count",
"format": "integer",
"label": "Count"
},
{
"field": "proportion",
"format": "percent",
"fractionDigits": 1,
"label": "Proportion"
}
],
"title": "Distribution · Histogram",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"options": {
"bins": 12
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Histogram uses runnable data and options to demonstrate raw weighted Gaussian KDE with robust bandwidth; rug and strip.",
"text": "Distribution · Histogram"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.histogram('#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": "Distribution · Histogram example"
},
"axes": {
"x": {
"format": {
"type": "integer"
},
"ticks": {
"spacing": 8,
"values": [
18,
24,
30,
36,
39
]
}
},
"y": {
"format": {
"type": "integer"
},
"ticks": {
"count": 5,
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "binStart",
"format": "number",
"label": "Bin start"
},
{
"field": "binEnd",
"format": "number",
"label": "Bin end"
},
{
"field": "count",
"format": "integer",
"label": "Count"
},
{
"field": "proportion",
"format": "percent",
"fractionDigits": 1,
"label": "Proportion"
}
],
"title": "Distribution · Histogram",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"options": {
"bins": 12
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Histogram uses runnable data and options to demonstrate raw weighted Gaussian KDE with robust bandwidth; rug and strip.",
"text": "Distribution · Histogram"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Empirical cumulative distribution uses runnable data and options to demonstrate weighted ECDF and CCDF.
StatusLoading
ecdfweighted ECDF and CCDFLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
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": "Distribution · Empirical cumulative distribution example"
},
"axes": {
"x": {
"format": {
"fractionDigits": 1,
"type": "number"
},
"ticks": {
"count": 6,
"spacing": 8
}
},
"y": {
"format": {
"fractionDigits": 1,
"type": "percent"
},
"ticks": {
"count": 6,
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "value",
"format": "number",
"label": "Value"
},
{
"field": "probability",
"format": "percent",
"fractionDigits": 1,
"label": "Probability"
},
{
"field": "weight",
"format": "number",
"label": "Weight"
},
{
"field": "count",
"format": "integer",
"label": "Count"
}
],
"title": "Distribution · Empirical cumulative distribution",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "ecdf"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Empirical cumulative distribution uses runnable data and options to demonstrate weighted ECDF and CCDF.",
"text": "Distribution · Empirical cumulative distribution"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.ecdf('#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": "Distribution · Empirical cumulative distribution example"
},
"axes": {
"x": {
"format": {
"fractionDigits": 1,
"type": "number"
},
"ticks": {
"count": 6,
"spacing": 8
}
},
"y": {
"format": {
"fractionDigits": 1,
"type": "percent"
},
"ticks": {
"count": 6,
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "value",
"format": "number",
"label": "Value"
},
{
"field": "probability",
"format": "percent",
"fractionDigits": 1,
"label": "Probability"
},
{
"field": "weight",
"format": "number",
"label": "Weight"
},
{
"field": "count",
"format": "integer",
"label": "Count"
}
],
"title": "Distribution · Empirical cumulative distribution",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "ecdf"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Empirical cumulative distribution uses runnable data and options to demonstrate weighted ECDF and CCDF.",
"text": "Distribution · Empirical cumulative distribution"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Complementary empirical distribution uses runnable data and options to demonstrate raw Type-7 box quartiles, 1.5-IQR whiskers and outliers.
StatusLoading
ccdfraw Type-7 box quartiles, 1.5-IQR whiskers and outliersLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
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": "Distribution · Complementary empirical distribution example"
},
"axes": {
"x": {
"format": {
"fractionDigits": 1,
"type": "number"
},
"ticks": {
"count": 6,
"spacing": 8
}
},
"y": {
"format": {
"fractionDigits": 1,
"type": "percent"
},
"ticks": {
"count": 6,
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "value",
"format": "number",
"label": "Value"
},
{
"field": "probability",
"format": "percent",
"fractionDigits": 1,
"label": "Probability"
},
{
"field": "weight",
"format": "number",
"label": "Weight"
},
{
"field": "count",
"format": "integer",
"label": "Count"
}
],
"title": "Distribution · Complementary empirical distribution",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "ccdf"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Complementary empirical distribution uses runnable data and options to demonstrate raw Type-7 box quartiles, 1.5-IQR whiskers and outliers.",
"text": "Distribution · Complementary empirical distribution"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.ccdf('#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": "Distribution · Complementary empirical distribution example"
},
"axes": {
"x": {
"format": {
"fractionDigits": 1,
"type": "number"
},
"ticks": {
"count": 6,
"spacing": 8
}
},
"y": {
"format": {
"fractionDigits": 1,
"type": "percent"
},
"ticks": {
"count": 6,
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "value",
"format": "number",
"label": "Value"
},
{
"field": "probability",
"format": "percent",
"fractionDigits": 1,
"label": "Probability"
},
{
"field": "weight",
"format": "number",
"label": "Weight"
},
{
"field": "count",
"format": "integer",
"label": "Count"
}
],
"title": "Distribution · Complementary empirical distribution",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "ccdf"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Complementary empirical distribution uses runnable data and options to demonstrate raw Type-7 box quartiles, 1.5-IQR whiskers and outliers.",
"text": "Distribution · Complementary empirical distribution"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Kernel density estimate uses runnable data and options to demonstrate raw KDE violin.
StatusLoading
kderaw KDE violinLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
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": "Distribution · Kernel density estimate example"
},
"axes": {
"x": {
"format": {
"fractionDigits": 1,
"type": "number"
},
"ticks": {
"count": 6,
"spacing": 8
}
},
"y": {
"format": {
"fractionDigits": 3,
"type": "number"
},
"ticks": {
"count": 5,
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "value",
"format": "number",
"label": "Value"
},
{
"field": "density",
"format": "number",
"fractionDigits": 3,
"label": "Density"
},
{
"field": "bandwidth",
"format": "number",
"fractionDigits": 3,
"label": "Bandwidth"
},
{
"field": "sampleCount",
"format": "integer",
"label": "Sample count"
}
],
"title": "Distribution · Kernel density estimate",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "kde"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Kernel density estimate uses runnable data and options to demonstrate raw KDE violin.",
"text": "Distribution · Kernel density estimate"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.kde('#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": "Distribution · Kernel density estimate example"
},
"axes": {
"x": {
"format": {
"fractionDigits": 1,
"type": "number"
},
"ticks": {
"count": 6,
"spacing": 8
}
},
"y": {
"format": {
"fractionDigits": 3,
"type": "number"
},
"ticks": {
"count": 5,
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "value",
"format": "number",
"label": "Value"
},
{
"field": "density",
"format": "number",
"fractionDigits": 3,
"label": "Density"
},
{
"field": "bandwidth",
"format": "number",
"fractionDigits": 3,
"label": "Bandwidth"
},
{
"field": "sampleCount",
"format": "integer",
"label": "Sample count"
}
],
"title": "Distribution · Kernel density estimate",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "kde"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Kernel density estimate uses runnable data and options to demonstrate raw KDE violin.",
"text": "Distribution · Kernel density estimate"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Bivariate histogram uses runnable data and options to demonstrate precomputed box.
StatusLoading
histogram-2dprecomputed boxLoading
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative |
|---|---|
| -0.08 | -0.08 |
| 0 | -0.08 |
| 0.92 | -0.08 |
| 1 | -0.08 |
| 1.92 | -0.08 |
| 2 | -0.08 |
| 2.08 | -0.08 |
| 2.92 | -0.08 |
| 3 | -0.08 |
| 3.08 | -0.08 |
| 3.92 | -0.08 |
| 4 | -0.08 |
| 4.08 | -0.08 |
| 4.92 | -0.08 |
| 5 | -0.08 |
| 5.92 | -0.08 |
| 6 | -0.08 |
| 6.92 | -0.08 |
| 7.92 | -0.08 |
| 8.92 | -0.08 |
| 9.92 | -0.08 |
| 10.92 | -0.08 |
| -0.08 | 0.92 |
| 0 | 0.92 |
| 0.92 | 0.92 |
| 1 | 0.92 |
| 1.08 | 0.92 |
| 1.92 | 0.92 |
| 2 | 0.92 |
| 2.08 | 0.92 |
| 1.92 | 1 |
| 2.92 | 0.92 |
| 3 | 0.92 |
| 3.08 | 0.92 |
| 2.92 | 1 |
| 3 | 1 |
| 3.92 | 0.92 |
| 4 | 0.92 |
| 4.08 | 0.92 |
| 3.92 | 1 |
| 4 | 1 |
| 4.92 | 0.92 |
| 5 | 0.92 |
| 5.08 | 0.92 |
| 4.92 | 1 |
| 5.92 | 0.92 |
| 6 | 0.92 |
| 6.08 | 0.92 |
| 6.92 | 0.92 |
| 7 | 0.92 |
| 7.92 | 0.92 |
| 8.92 | 0.92 |
| 9.92 | 0.92 |
| 10.92 | 0.92 |
| -0.08 | 1.92 |
| 0 | 1.92 |
| 0.92 | 1.92 |
| 1 | 1.92 |
| 1.08 | 1.92 |
| 0.92 | 2 |
| 1.92 | 1.92 |
| 2 | 1.92 |
| 2.08 | 1.92 |
| 1.92 | 2 |
| 2 | 2 |
| 2.08 | 2 |
| 2.92 | 1.92 |
| 3 | 1.92 |
| 3.08 | 1.92 |
| 2.92 | 2 |
| 3 | 2 |
| 3.08 | 2 |
| 2.92 | 2.08 |
| 3.92 | 1.92 |
| 4 | 1.92 |
| 4.08 | 1.92 |
| 3.92 | 2 |
| 4 | 2 |
| 4.08 | 2 |
| 3.92 | 2.08 |
| 4.92 | 1.92 |
| 5 | 1.92 |
| 5.08 | 1.92 |
| 4.92 | 2 |
| 5 | 2 |
| 5.08 | 2 |
| 5.92 | 1.92 |
| 6 | 1.92 |
| 6.08 | 1.92 |
| 5.92 | 2 |
| 6.92 | 1.92 |
| 7 | 1.92 |
| 7.92 | 1.92 |
| 8.92 | 1.92 |
| 9.92 | 1.92 |
| 10.92 | 1.92 |
| -0.08 | 2.92 |
| 0 | 2.92 |
| 0.92 | 2.92 |
| 1 | 2.92 |
| 1.08 | 2.92 |
| 1.92 | 2.92 |
| 2 | 2.92 |
| 2.08 | 2.92 |
| 1.92 | 3 |
| 2 | 3 |
| 2.92 | 2.92 |
| 3 | 2.92 |
| 3.08 | 2.92 |
| 2.92 | 3 |
| 3 | 3 |
| 3.08 | 3 |
| 2.92 | 3.08 |
| 3.92 | 2.92 |
| 4 | 2.92 |
| 4.08 | 2.92 |
| 3.92 | 3 |
| 4 | 3 |
| 4.08 | 3 |
| 3.92 | 3.08 |
| 4.92 | 2.92 |
| 5 | 2.92 |
| 5.08 | 2.92 |
| 4.92 | 3 |
| 5 | 3 |
| 5.08 | 3 |
| 5.92 | 2.92 |
| 6 | 2.92 |
Browser API
const data = [
{
"x": -0.08,
"y": -0.08
},
{
"x": 0,
"y": -0.08
},
{
"x": 0.92,
"y": -0.08
},
{
"x": 1,
"y": -0.08
},
{
"x": 1.92,
"y": -0.08
},
{
"x": 2,
"y": -0.08
},
{
"x": 2.08,
"y": -0.08
},
{
"x": 2.92,
"y": -0.08
},
{
"x": 3,
"y": -0.08
},
{
"x": 3.08,
"y": -0.08
},
{
"x": 3.92,
"y": -0.08
},
{
"x": 4,
"y": -0.08
},
{
"x": 4.08,
"y": -0.08
},
{
"x": 4.92,
"y": -0.08
},
{
"x": 5,
"y": -0.08
},
{
"x": 5.92,
"y": -0.08
},
{
"x": 6,
"y": -0.08
},
{
"x": 6.92,
"y": -0.08
},
{
"x": 7.92,
"y": -0.08
},
{
"x": 8.92,
"y": -0.08
},
{
"x": 9.92,
"y": -0.08
},
{
"x": 10.92,
"y": -0.08
},
{
"x": -0.08,
"y": 0.92
},
{
"x": 0,
"y": 0.92
},
{
"x": 0.92,
"y": 0.92
},
{
"x": 1,
"y": 0.92
},
{
"x": 1.08,
"y": 0.92
},
{
"x": 1.92,
"y": 0.92
},
{
"x": 2,
"y": 0.92
},
{
"x": 2.08,
"y": 0.92
},
{
"x": 1.92,
"y": 1
},
{
"x": 2.92,
"y": 0.92
},
{
"x": 3,
"y": 0.92
},
{
"x": 3.08,
"y": 0.92
},
{
"x": 2.92,
"y": 1
},
{
"x": 3,
"y": 1
},
{
"x": 3.92,
"y": 0.92
},
{
"x": 4,
"y": 0.92
},
{
"x": 4.08,
"y": 0.92
},
{
"x": 3.92,
"y": 1
},
{
"x": 4,
"y": 1
},
{
"x": 4.92,
"y": 0.92
},
{
"x": 5,
"y": 0.92
},
{
"x": 5.08,
"y": 0.92
},
{
"x": 4.92,
"y": 1
},
{
"x": 5.92,
"y": 0.92
},
{
"x": 6,
"y": 0.92
},
{
"x": 6.08,
"y": 0.92
},
{
"x": 6.92,
"y": 0.92
},
{
"x": 7,
"y": 0.92
},
{
"x": 7.92,
"y": 0.92
},
{
"x": 8.92,
"y": 0.92
},
{
"x": 9.92,
"y": 0.92
},
{
"x": 10.92,
"y": 0.92
},
{
"x": -0.08,
"y": 1.92
},
{
"x": 0,
"y": 1.92
},
{
"x": 0.92,
"y": 1.92
},
{
"x": 1,
"y": 1.92
},
{
"x": 1.08,
"y": 1.92
},
{
"x": 0.92,
"y": 2
},
{
"x": 1.92,
"y": 1.92
},
{
"x": 2,
"y": 1.92
},
{
"x": 2.08,
"y": 1.92
},
{
"x": 1.92,
"y": 2
},
{
"x": 2,
"y": 2
},
{
"x": 2.08,
"y": 2
},
{
"x": 2.92,
"y": 1.92
},
{
"x": 3,
"y": 1.92
},
{
"x": 3.08,
"y": 1.92
},
{
"x": 2.92,
"y": 2
},
{
"x": 3,
"y": 2
},
{
"x": 3.08,
"y": 2
},
{
"x": 2.92,
"y": 2.08
},
{
"x": 3.92,
"y": 1.92
},
{
"x": 4,
"y": 1.92
},
{
"x": 4.08,
"y": 1.92
},
{
"x": 3.92,
"y": 2
},
{
"x": 4,
"y": 2
},
{
"x": 4.08,
"y": 2
},
{
"x": 3.92,
"y": 2.08
},
{
"x": 4.92,
"y": 1.92
},
{
"x": 5,
"y": 1.92
},
{
"x": 5.08,
"y": 1.92
},
{
"x": 4.92,
"y": 2
},
{
"x": 5,
"y": 2
},
{
"x": 5.08,
"y": 2
},
{
"x": 5.92,
"y": 1.92
},
{
"x": 6,
"y": 1.92
},
{
"x": 6.08,
"y": 1.92
},
{
"x": 5.92,
"y": 2
},
{
"x": 6.92,
"y": 1.92
},
{
"x": 7,
"y": 1.92
},
{
"x": 7.92,
"y": 1.92
},
{
"x": 8.92,
"y": 1.92
},
{
"x": 9.92,
"y": 1.92
},
{
"x": 10.92,
"y": 1.92
},
{
"x": -0.08,
"y": 2.92
},
{
"x": 0,
"y": 2.92
},
{
"x": 0.92,
"y": 2.92
},
{
"x": 1,
"y": 2.92
},
{
"x": 1.08,
"y": 2.92
},
{
"x": 1.92,
"y": 2.92
},
{
"x": 2,
"y": 2.92
},
{
"x": 2.08,
"y": 2.92
},
{
"x": 1.92,
"y": 3
},
{
"x": 2,
"y": 3
},
{
"x": 2.92,
"y": 2.92
},
{
"x": 3,
"y": 2.92
},
{
"x": 3.08,
"y": 2.92
},
{
"x": 2.92,
"y": 3
},
{
"x": 3,
"y": 3
},
{
"x": 3.08,
"y": 3
},
{
"x": 2.92,
"y": 3.08
},
{
"x": 3.92,
"y": 2.92
},
{
"x": 4,
"y": 2.92
},
{
"x": 4.08,
"y": 2.92
},
{
"x": 3.92,
"y": 3
},
{
"x": 4,
"y": 3
},
{
"x": 4.08,
"y": 3
},
{
"x": 3.92,
"y": 3.08
},
{
"x": 4.92,
"y": 2.92
},
{
"x": 5,
"y": 2.92
},
{
"x": 5.08,
"y": 2.92
},
{
"x": 4.92,
"y": 3
},
{
"x": 5,
"y": 3
},
{
"x": 5.08,
"y": 3
},
{
"x": 5.92,
"y": 2.92
},
{
"x": 6,
"y": 2.92
},
{
"x": 6.08,
"y": 2.92
},
{
"x": 5.92,
"y": 3
},
{
"x": 6,
"y": 3
},
{
"x": 6.92,
"y": 2.92
},
{
"x": 7,
"y": 2.92
},
{
"x": 7.08,
"y": 2.92
},
{
"x": 7.92,
"y": 2.92
},
{
"x": 8,
"y": 2.92
},
{
"x": 8.08,
"y": 2.92
},
{
"x": 8.92,
"y": 2.92
},
{
"x": 9,
"y": 2.92
},
{
"x": 9.92,
"y": 2.92
},
{
"x": 10,
"y": 2.92
},
{
"x": 10.92,
"y": 2.92
},
{
"x": -0.08,
"y": 3.92
},
{
"x": 0.92,
"y": 3.92
},
{
"x": 1,
"y": 3.92
},
{
"x": 1.08,
"y": 3.92
},
{
"x": 1.92,
"y": 3.92
},
{
"x": 2,
"y": 3.92
},
{
"x": 2.08,
"y": 3.92
},
{
"x": 1.92,
"y": 4
},
{
"x": 2.92,
"y": 3.92
},
{
"x": 3,
"y": 3.92
},
{
"x": 3.08,
"y": 3.92
},
{
"x": 2.92,
"y": 4
},
{
"x": 3,
"y": 4
},
{
"x": 3.92,
"y": 3.92
},
{
"x": 4,
"y": 3.92
},
{
"x": 4.08,
"y": 3.92
},
{
"x": 3.92,
"y": 4
},
{
"x": 4,
"y": 4
},
{
"x": 4.08,
"y": 4
},
{
"x": 4.92,
"y": 3.92
},
{
"x": 5,
"y": 3.92
},
{
"x": 5.08,
"y": 3.92
},
{
"x": 4.92,
"y": 4
},
{
"x": 5,
"y": 4
},
{
"x": 5.92,
"y": 3.92
},
{
"x": 6,
"y": 3.92
},
{
"x": 6.08,
"y": 3.92
},
{
"x": 5.92,
"y": 4
},
{
"x": 6.92,
"y": 3.92
},
{
"x": 7,
"y": 3.92
},
{
"x": 7.08,
"y": 3.92
},
{
"x": 6.92,
"y": 4
},
{
"x": 7.92,
"y": 3.92
},
{
"x": 8,
"y": 3.92
},
{
"x": 8.08,
"y": 3.92
},
{
"x": 7.92,
"y": 4
},
{
"x": 8,
"y": 4
},
{
"x": 8.92,
"y": 3.92
},
{
"x": 9,
"y": 3.92
},
{
"x": 9.08,
"y": 3.92
},
{
"x": 8.92,
"y": 4
},
{
"x": 9.92,
"y": 3.92
},
{
"x": 10,
"y": 3.92
},
{
"x": 10.08,
"y": 3.92
},
{
"x": 10.92,
"y": 3.92
},
{
"x": 11,
"y": 3.92
},
{
"x": -0.08,
"y": 4.92
},
{
"x": 0.92,
"y": 4.92
},
{
"x": 1,
"y": 4.92
},
{
"x": 1.92,
"y": 4.92
},
{
"x": 2,
"y": 4.92
},
{
"x": 2.08,
"y": 4.92
},
{
"x": 2.92,
"y": 4.92
},
{
"x": 3,
"y": 4.92
},
{
"x": 3.08,
"y": 4.92
},
{
"x": 2.92,
"y": 5
},
{
"x": 3.92,
"y": 4.92
},
{
"x": 4,
"y": 4.92
},
{
"x": 4.08,
"y": 4.92
},
{
"x": 3.92,
"y": 5
},
{
"x": 4.92,
"y": 4.92
},
{
"x": 5,
"y": 4.92
},
{
"x": 5.08,
"y": 4.92
},
{
"x": 5.92,
"y": 4.92
},
{
"x": 6,
"y": 4.92
},
{
"x": 6.08,
"y": 4.92
},
{
"x": 6.92,
"y": 4.92
},
{
"x": 7,
"y": 4.92
},
{
"x": 7.08,
"y": 4.92
},
{
"x": 6.92,
"y": 5
},
{
"x": 7.92,
"y": 4.92
},
{
"x": 8,
"y": 4.92
},
{
"x": 8.08,
"y": 4.92
},
{
"x": 7.92,
"y": 5
},
{
"x": 8,
"y": 5
},
{
"x": 8.92,
"y": 4.92
},
{
"x": 9,
"y": 4.92
},
{
"x": 9.08,
"y": 4.92
},
{
"x": 8.92,
"y": 5
},
{
"x": 9,
"y": 5
},
{
"x": 9.08,
"y": 5
},
{
"x": 9.92,
"y": 4.92
},
{
"x": 10,
"y": 4.92
},
{
"x": 10.08,
"y": 4.92
},
{
"x": 9.92,
"y": 5
},
{
"x": 10.92,
"y": 4.92
},
{
"x": 11,
"y": 4.92
},
{
"x": 11.08,
"y": 4.92
},
{
"x": -0.08,
"y": 5.92
},
{
"x": 0.92,
"y": 5.92
},
{
"x": 1.92,
"y": 5.92
},
{
"x": 2,
"y": 5.92
},
{
"x": 2.92,
"y": 5.92
},
{
"x": 3,
"y": 5.92
},
{
"x": 3.92,
"y": 5.92
},
{
"x": 4,
"y": 5.92
},
{
"x": 4.92,
"y": 5.92
},
{
"x": 5,
"y": 5.92
},
{
"x": 5.92,
"y": 5.92
},
{
"x": 6,
"y": 5.92
},
{
"x": 6.92,
"y": 5.92
},
{
"x": 7,
"y": 5.92
},
{
"x": 7.08,
"y": 5.92
},
{
"x": 7.92,
"y": 5.92
},
{
"x": 8,
"y": 5.92
},
{
"x": 8.08,
"y": 5.92
},
{
"x": 7.92,
"y": 6
},
{
"x": 8.92,
"y": 5.92
},
{
"x": 9,
"y": 5.92
},
{
"x": 9.08,
"y": 5.92
},
{
"x": 8.92,
"y": 6
},
{
"x": 9,
"y": 6
},
{
"x": 9.92,
"y": 5.92
},
{
"x": 10,
"y": 5.92
},
{
"x": 10.08,
"y": 5.92
},
{
"x": 9.92,
"y": 6
},
{
"x": 10.92,
"y": 5.92
},
{
"x": 11,
"y": 5.92
},
{
"x": 11.08,
"y": 5.92
},
{
"x": -0.08,
"y": 6.92
},
{
"x": 0.92,
"y": 6.92
},
{
"x": 1.92,
"y": 6.92
},
{
"x": 2.92,
"y": 6.92
},
{
"x": 3.92,
"y": 6.92
},
{
"x": 4.92,
"y": 6.92
},
{
"x": 5.92,
"y": 6.92
},
{
"x": 6.92,
"y": 6.92
},
{
"x": 7,
"y": 6.92
},
{
"x": 7.92,
"y": 6.92
},
{
"x": 8,
"y": 6.92
},
{
"x": 8.08,
"y": 6.92
},
{
"x": 8.92,
"y": 6.92
},
{
"x": 9,
"y": 6.92
},
{
"x": 9.08,
"y": 6.92
},
{
"x": 9.92,
"y": 6.92
},
{
"x": 10,
"y": 6.92
},
{
"x": 10.92,
"y": 6.92
},
{
"x": 11,
"y": 6.92
}
];
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": "Distribution · Bivariate histogram example"
},
"axes": {
"x": {
"format": {
"type": "integer"
},
"labels": {
"orientation": "horizontal"
},
"ticks": {
"spacing": 8
}
},
"y": {
"format": {
"type": "integer"
},
"labels": {
"orientation": "horizontal"
},
"ticks": {
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "x",
"format": "number",
"label": "X"
},
{
"field": "y",
"format": "number",
"label": "Y"
}
],
"title": "Distribution · Bivariate histogram",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"options": {
"binsX": 6,
"binsY": 5,
"levels": 4,
"mode": "histogram-2d"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Bivariate histogram uses runnable data and options to demonstrate precomputed box.",
"text": "Distribution · Bivariate histogram"
},
"width": "container",
"x": {
"field": "x",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.histogram2d('#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": "Distribution · Bivariate histogram example"
},
"axes": {
"x": {
"format": {
"type": "integer"
},
"labels": {
"orientation": "horizontal"
},
"ticks": {
"spacing": 8
}
},
"y": {
"format": {
"type": "integer"
},
"labels": {
"orientation": "horizontal"
},
"ticks": {
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "x",
"format": "number",
"label": "X"
},
{
"field": "y",
"format": "number",
"label": "Y"
}
],
"title": "Distribution · Bivariate histogram",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"options": {
"binsX": 6,
"binsY": 5,
"levels": 4,
"mode": "histogram-2d"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Bivariate histogram uses runnable data and options to demonstrate precomputed box.",
"text": "Distribution · Bivariate histogram"
},
"width": "container",
"x": {
"field": "x",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Frequency",
"type": "quantitative"
}
}Bivariate density contours uses runnable data and options to demonstrate normal density curve.
StatusLoading
histogram-2d-contournormal density curveLoading
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative |
|---|---|
| -0.08 | -0.08 |
| 0 | -0.08 |
| 0.92 | -0.08 |
| 1 | -0.08 |
| 1.92 | -0.08 |
| 2 | -0.08 |
| 2.08 | -0.08 |
| 2.92 | -0.08 |
| 3 | -0.08 |
| 3.08 | -0.08 |
| 3.92 | -0.08 |
| 4 | -0.08 |
| 4.08 | -0.08 |
| 4.92 | -0.08 |
| 5 | -0.08 |
| 5.92 | -0.08 |
| 6 | -0.08 |
| 6.92 | -0.08 |
| 7.92 | -0.08 |
| 8.92 | -0.08 |
| 9.92 | -0.08 |
| 10.92 | -0.08 |
| -0.08 | 0.92 |
| 0 | 0.92 |
| 0.92 | 0.92 |
| 1 | 0.92 |
| 1.08 | 0.92 |
| 1.92 | 0.92 |
| 2 | 0.92 |
| 2.08 | 0.92 |
| 1.92 | 1 |
| 2.92 | 0.92 |
| 3 | 0.92 |
| 3.08 | 0.92 |
| 2.92 | 1 |
| 3 | 1 |
| 3.92 | 0.92 |
| 4 | 0.92 |
| 4.08 | 0.92 |
| 3.92 | 1 |
| 4 | 1 |
| 4.92 | 0.92 |
| 5 | 0.92 |
| 5.08 | 0.92 |
| 4.92 | 1 |
| 5.92 | 0.92 |
| 6 | 0.92 |
| 6.08 | 0.92 |
| 6.92 | 0.92 |
| 7 | 0.92 |
| 7.92 | 0.92 |
| 8.92 | 0.92 |
| 9.92 | 0.92 |
| 10.92 | 0.92 |
| -0.08 | 1.92 |
| 0 | 1.92 |
| 0.92 | 1.92 |
| 1 | 1.92 |
| 1.08 | 1.92 |
| 0.92 | 2 |
| 1.92 | 1.92 |
| 2 | 1.92 |
| 2.08 | 1.92 |
| 1.92 | 2 |
| 2 | 2 |
| 2.08 | 2 |
| 2.92 | 1.92 |
| 3 | 1.92 |
| 3.08 | 1.92 |
| 2.92 | 2 |
| 3 | 2 |
| 3.08 | 2 |
| 2.92 | 2.08 |
| 3.92 | 1.92 |
| 4 | 1.92 |
| 4.08 | 1.92 |
| 3.92 | 2 |
| 4 | 2 |
| 4.08 | 2 |
| 3.92 | 2.08 |
| 4.92 | 1.92 |
| 5 | 1.92 |
| 5.08 | 1.92 |
| 4.92 | 2 |
| 5 | 2 |
| 5.08 | 2 |
| 5.92 | 1.92 |
| 6 | 1.92 |
| 6.08 | 1.92 |
| 5.92 | 2 |
| 6.92 | 1.92 |
| 7 | 1.92 |
| 7.92 | 1.92 |
| 8.92 | 1.92 |
| 9.92 | 1.92 |
| 10.92 | 1.92 |
| -0.08 | 2.92 |
| 0 | 2.92 |
| 0.92 | 2.92 |
| 1 | 2.92 |
| 1.08 | 2.92 |
| 1.92 | 2.92 |
| 2 | 2.92 |
| 2.08 | 2.92 |
| 1.92 | 3 |
| 2 | 3 |
| 2.92 | 2.92 |
| 3 | 2.92 |
| 3.08 | 2.92 |
| 2.92 | 3 |
| 3 | 3 |
| 3.08 | 3 |
| 2.92 | 3.08 |
| 3.92 | 2.92 |
| 4 | 2.92 |
| 4.08 | 2.92 |
| 3.92 | 3 |
| 4 | 3 |
| 4.08 | 3 |
| 3.92 | 3.08 |
| 4.92 | 2.92 |
| 5 | 2.92 |
| 5.08 | 2.92 |
| 4.92 | 3 |
| 5 | 3 |
| 5.08 | 3 |
| 5.92 | 2.92 |
| 6 | 2.92 |
Browser API
const data = [
{
"x": -0.08,
"y": -0.08
},
{
"x": 0,
"y": -0.08
},
{
"x": 0.92,
"y": -0.08
},
{
"x": 1,
"y": -0.08
},
{
"x": 1.92,
"y": -0.08
},
{
"x": 2,
"y": -0.08
},
{
"x": 2.08,
"y": -0.08
},
{
"x": 2.92,
"y": -0.08
},
{
"x": 3,
"y": -0.08
},
{
"x": 3.08,
"y": -0.08
},
{
"x": 3.92,
"y": -0.08
},
{
"x": 4,
"y": -0.08
},
{
"x": 4.08,
"y": -0.08
},
{
"x": 4.92,
"y": -0.08
},
{
"x": 5,
"y": -0.08
},
{
"x": 5.92,
"y": -0.08
},
{
"x": 6,
"y": -0.08
},
{
"x": 6.92,
"y": -0.08
},
{
"x": 7.92,
"y": -0.08
},
{
"x": 8.92,
"y": -0.08
},
{
"x": 9.92,
"y": -0.08
},
{
"x": 10.92,
"y": -0.08
},
{
"x": -0.08,
"y": 0.92
},
{
"x": 0,
"y": 0.92
},
{
"x": 0.92,
"y": 0.92
},
{
"x": 1,
"y": 0.92
},
{
"x": 1.08,
"y": 0.92
},
{
"x": 1.92,
"y": 0.92
},
{
"x": 2,
"y": 0.92
},
{
"x": 2.08,
"y": 0.92
},
{
"x": 1.92,
"y": 1
},
{
"x": 2.92,
"y": 0.92
},
{
"x": 3,
"y": 0.92
},
{
"x": 3.08,
"y": 0.92
},
{
"x": 2.92,
"y": 1
},
{
"x": 3,
"y": 1
},
{
"x": 3.92,
"y": 0.92
},
{
"x": 4,
"y": 0.92
},
{
"x": 4.08,
"y": 0.92
},
{
"x": 3.92,
"y": 1
},
{
"x": 4,
"y": 1
},
{
"x": 4.92,
"y": 0.92
},
{
"x": 5,
"y": 0.92
},
{
"x": 5.08,
"y": 0.92
},
{
"x": 4.92,
"y": 1
},
{
"x": 5.92,
"y": 0.92
},
{
"x": 6,
"y": 0.92
},
{
"x": 6.08,
"y": 0.92
},
{
"x": 6.92,
"y": 0.92
},
{
"x": 7,
"y": 0.92
},
{
"x": 7.92,
"y": 0.92
},
{
"x": 8.92,
"y": 0.92
},
{
"x": 9.92,
"y": 0.92
},
{
"x": 10.92,
"y": 0.92
},
{
"x": -0.08,
"y": 1.92
},
{
"x": 0,
"y": 1.92
},
{
"x": 0.92,
"y": 1.92
},
{
"x": 1,
"y": 1.92
},
{
"x": 1.08,
"y": 1.92
},
{
"x": 0.92,
"y": 2
},
{
"x": 1.92,
"y": 1.92
},
{
"x": 2,
"y": 1.92
},
{
"x": 2.08,
"y": 1.92
},
{
"x": 1.92,
"y": 2
},
{
"x": 2,
"y": 2
},
{
"x": 2.08,
"y": 2
},
{
"x": 2.92,
"y": 1.92
},
{
"x": 3,
"y": 1.92
},
{
"x": 3.08,
"y": 1.92
},
{
"x": 2.92,
"y": 2
},
{
"x": 3,
"y": 2
},
{
"x": 3.08,
"y": 2
},
{
"x": 2.92,
"y": 2.08
},
{
"x": 3.92,
"y": 1.92
},
{
"x": 4,
"y": 1.92
},
{
"x": 4.08,
"y": 1.92
},
{
"x": 3.92,
"y": 2
},
{
"x": 4,
"y": 2
},
{
"x": 4.08,
"y": 2
},
{
"x": 3.92,
"y": 2.08
},
{
"x": 4.92,
"y": 1.92
},
{
"x": 5,
"y": 1.92
},
{
"x": 5.08,
"y": 1.92
},
{
"x": 4.92,
"y": 2
},
{
"x": 5,
"y": 2
},
{
"x": 5.08,
"y": 2
},
{
"x": 5.92,
"y": 1.92
},
{
"x": 6,
"y": 1.92
},
{
"x": 6.08,
"y": 1.92
},
{
"x": 5.92,
"y": 2
},
{
"x": 6.92,
"y": 1.92
},
{
"x": 7,
"y": 1.92
},
{
"x": 7.92,
"y": 1.92
},
{
"x": 8.92,
"y": 1.92
},
{
"x": 9.92,
"y": 1.92
},
{
"x": 10.92,
"y": 1.92
},
{
"x": -0.08,
"y": 2.92
},
{
"x": 0,
"y": 2.92
},
{
"x": 0.92,
"y": 2.92
},
{
"x": 1,
"y": 2.92
},
{
"x": 1.08,
"y": 2.92
},
{
"x": 1.92,
"y": 2.92
},
{
"x": 2,
"y": 2.92
},
{
"x": 2.08,
"y": 2.92
},
{
"x": 1.92,
"y": 3
},
{
"x": 2,
"y": 3
},
{
"x": 2.92,
"y": 2.92
},
{
"x": 3,
"y": 2.92
},
{
"x": 3.08,
"y": 2.92
},
{
"x": 2.92,
"y": 3
},
{
"x": 3,
"y": 3
},
{
"x": 3.08,
"y": 3
},
{
"x": 2.92,
"y": 3.08
},
{
"x": 3.92,
"y": 2.92
},
{
"x": 4,
"y": 2.92
},
{
"x": 4.08,
"y": 2.92
},
{
"x": 3.92,
"y": 3
},
{
"x": 4,
"y": 3
},
{
"x": 4.08,
"y": 3
},
{
"x": 3.92,
"y": 3.08
},
{
"x": 4.92,
"y": 2.92
},
{
"x": 5,
"y": 2.92
},
{
"x": 5.08,
"y": 2.92
},
{
"x": 4.92,
"y": 3
},
{
"x": 5,
"y": 3
},
{
"x": 5.08,
"y": 3
},
{
"x": 5.92,
"y": 2.92
},
{
"x": 6,
"y": 2.92
},
{
"x": 6.08,
"y": 2.92
},
{
"x": 5.92,
"y": 3
},
{
"x": 6,
"y": 3
},
{
"x": 6.92,
"y": 2.92
},
{
"x": 7,
"y": 2.92
},
{
"x": 7.08,
"y": 2.92
},
{
"x": 7.92,
"y": 2.92
},
{
"x": 8,
"y": 2.92
},
{
"x": 8.08,
"y": 2.92
},
{
"x": 8.92,
"y": 2.92
},
{
"x": 9,
"y": 2.92
},
{
"x": 9.92,
"y": 2.92
},
{
"x": 10,
"y": 2.92
},
{
"x": 10.92,
"y": 2.92
},
{
"x": -0.08,
"y": 3.92
},
{
"x": 0.92,
"y": 3.92
},
{
"x": 1,
"y": 3.92
},
{
"x": 1.08,
"y": 3.92
},
{
"x": 1.92,
"y": 3.92
},
{
"x": 2,
"y": 3.92
},
{
"x": 2.08,
"y": 3.92
},
{
"x": 1.92,
"y": 4
},
{
"x": 2.92,
"y": 3.92
},
{
"x": 3,
"y": 3.92
},
{
"x": 3.08,
"y": 3.92
},
{
"x": 2.92,
"y": 4
},
{
"x": 3,
"y": 4
},
{
"x": 3.92,
"y": 3.92
},
{
"x": 4,
"y": 3.92
},
{
"x": 4.08,
"y": 3.92
},
{
"x": 3.92,
"y": 4
},
{
"x": 4,
"y": 4
},
{
"x": 4.08,
"y": 4
},
{
"x": 4.92,
"y": 3.92
},
{
"x": 5,
"y": 3.92
},
{
"x": 5.08,
"y": 3.92
},
{
"x": 4.92,
"y": 4
},
{
"x": 5,
"y": 4
},
{
"x": 5.92,
"y": 3.92
},
{
"x": 6,
"y": 3.92
},
{
"x": 6.08,
"y": 3.92
},
{
"x": 5.92,
"y": 4
},
{
"x": 6.92,
"y": 3.92
},
{
"x": 7,
"y": 3.92
},
{
"x": 7.08,
"y": 3.92
},
{
"x": 6.92,
"y": 4
},
{
"x": 7.92,
"y": 3.92
},
{
"x": 8,
"y": 3.92
},
{
"x": 8.08,
"y": 3.92
},
{
"x": 7.92,
"y": 4
},
{
"x": 8,
"y": 4
},
{
"x": 8.92,
"y": 3.92
},
{
"x": 9,
"y": 3.92
},
{
"x": 9.08,
"y": 3.92
},
{
"x": 8.92,
"y": 4
},
{
"x": 9.92,
"y": 3.92
},
{
"x": 10,
"y": 3.92
},
{
"x": 10.08,
"y": 3.92
},
{
"x": 10.92,
"y": 3.92
},
{
"x": 11,
"y": 3.92
},
{
"x": -0.08,
"y": 4.92
},
{
"x": 0.92,
"y": 4.92
},
{
"x": 1,
"y": 4.92
},
{
"x": 1.92,
"y": 4.92
},
{
"x": 2,
"y": 4.92
},
{
"x": 2.08,
"y": 4.92
},
{
"x": 2.92,
"y": 4.92
},
{
"x": 3,
"y": 4.92
},
{
"x": 3.08,
"y": 4.92
},
{
"x": 2.92,
"y": 5
},
{
"x": 3.92,
"y": 4.92
},
{
"x": 4,
"y": 4.92
},
{
"x": 4.08,
"y": 4.92
},
{
"x": 3.92,
"y": 5
},
{
"x": 4.92,
"y": 4.92
},
{
"x": 5,
"y": 4.92
},
{
"x": 5.08,
"y": 4.92
},
{
"x": 5.92,
"y": 4.92
},
{
"x": 6,
"y": 4.92
},
{
"x": 6.08,
"y": 4.92
},
{
"x": 6.92,
"y": 4.92
},
{
"x": 7,
"y": 4.92
},
{
"x": 7.08,
"y": 4.92
},
{
"x": 6.92,
"y": 5
},
{
"x": 7.92,
"y": 4.92
},
{
"x": 8,
"y": 4.92
},
{
"x": 8.08,
"y": 4.92
},
{
"x": 7.92,
"y": 5
},
{
"x": 8,
"y": 5
},
{
"x": 8.92,
"y": 4.92
},
{
"x": 9,
"y": 4.92
},
{
"x": 9.08,
"y": 4.92
},
{
"x": 8.92,
"y": 5
},
{
"x": 9,
"y": 5
},
{
"x": 9.08,
"y": 5
},
{
"x": 9.92,
"y": 4.92
},
{
"x": 10,
"y": 4.92
},
{
"x": 10.08,
"y": 4.92
},
{
"x": 9.92,
"y": 5
},
{
"x": 10.92,
"y": 4.92
},
{
"x": 11,
"y": 4.92
},
{
"x": 11.08,
"y": 4.92
},
{
"x": -0.08,
"y": 5.92
},
{
"x": 0.92,
"y": 5.92
},
{
"x": 1.92,
"y": 5.92
},
{
"x": 2,
"y": 5.92
},
{
"x": 2.92,
"y": 5.92
},
{
"x": 3,
"y": 5.92
},
{
"x": 3.92,
"y": 5.92
},
{
"x": 4,
"y": 5.92
},
{
"x": 4.92,
"y": 5.92
},
{
"x": 5,
"y": 5.92
},
{
"x": 5.92,
"y": 5.92
},
{
"x": 6,
"y": 5.92
},
{
"x": 6.92,
"y": 5.92
},
{
"x": 7,
"y": 5.92
},
{
"x": 7.08,
"y": 5.92
},
{
"x": 7.92,
"y": 5.92
},
{
"x": 8,
"y": 5.92
},
{
"x": 8.08,
"y": 5.92
},
{
"x": 7.92,
"y": 6
},
{
"x": 8.92,
"y": 5.92
},
{
"x": 9,
"y": 5.92
},
{
"x": 9.08,
"y": 5.92
},
{
"x": 8.92,
"y": 6
},
{
"x": 9,
"y": 6
},
{
"x": 9.92,
"y": 5.92
},
{
"x": 10,
"y": 5.92
},
{
"x": 10.08,
"y": 5.92
},
{
"x": 9.92,
"y": 6
},
{
"x": 10.92,
"y": 5.92
},
{
"x": 11,
"y": 5.92
},
{
"x": 11.08,
"y": 5.92
},
{
"x": -0.08,
"y": 6.92
},
{
"x": 0.92,
"y": 6.92
},
{
"x": 1.92,
"y": 6.92
},
{
"x": 2.92,
"y": 6.92
},
{
"x": 3.92,
"y": 6.92
},
{
"x": 4.92,
"y": 6.92
},
{
"x": 5.92,
"y": 6.92
},
{
"x": 6.92,
"y": 6.92
},
{
"x": 7,
"y": 6.92
},
{
"x": 7.92,
"y": 6.92
},
{
"x": 8,
"y": 6.92
},
{
"x": 8.08,
"y": 6.92
},
{
"x": 8.92,
"y": 6.92
},
{
"x": 9,
"y": 6.92
},
{
"x": 9.08,
"y": 6.92
},
{
"x": 9.92,
"y": 6.92
},
{
"x": 10,
"y": 6.92
},
{
"x": 10.92,
"y": 6.92
},
{
"x": 11,
"y": 6.92
}
];
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": "Distribution · Bivariate density contours example"
},
"axes": {
"x": {
"format": {
"type": "integer"
},
"labels": {
"orientation": "horizontal"
},
"ticks": {
"spacing": 8
}
},
"y": {
"format": {
"type": "integer"
},
"labels": {
"orientation": "horizontal"
},
"ticks": {
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "x",
"format": "number",
"label": "X"
},
{
"field": "y",
"format": "number",
"label": "Y"
}
],
"title": "Distribution · Bivariate density contours",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"options": {
"binsX": 6,
"binsY": 5,
"levels": 4,
"mode": "histogram-2d-contour"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Bivariate density contours uses runnable data and options to demonstrate normal density curve.",
"text": "Distribution · Bivariate density contours"
},
"width": "container",
"x": {
"field": "x",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.histogram2dContour('#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": "Distribution · Bivariate density contours example"
},
"axes": {
"x": {
"format": {
"type": "integer"
},
"labels": {
"orientation": "horizontal"
},
"ticks": {
"spacing": 8
}
},
"y": {
"format": {
"type": "integer"
},
"labels": {
"orientation": "horizontal"
},
"ticks": {
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "x",
"format": "number",
"label": "X"
},
{
"field": "y",
"format": "number",
"label": "Y"
}
],
"title": "Distribution · Bivariate density contours",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"options": {
"binsX": 6,
"binsY": 5,
"levels": 4,
"mode": "histogram-2d-contour"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Bivariate density contours uses runnable data and options to demonstrate normal density curve.",
"text": "Distribution · Bivariate density contours"
},
"width": "container",
"x": {
"field": "x",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Frequency",
"type": "quantitative"
}
}Violin chart uses runnable data and options to demonstrate 2D histogram.
StatusLoading
violin2D histogramLoading
Row data and zero-copy TypedArray columns share one data contract.
seriesordinal | valuequantitative |
|---|---|
| Before launch | 44.8 |
| Before launch | 48.609 |
| Before launch | 51.351 |
| Before launch | 52.38 |
| Before launch | 51.584 |
| Before launch | 49.421 |
| Before launch | 46.777 |
| Before launch | 38.377 |
| Before launch | 37.656 |
| Before launch | 38.692 |
| Before launch | 41.286 |
| Before launch | 44.733 |
| Before launch | 48.059 |
| Before launch | 50.344 |
| Before launch | 44.729 |
| Before launch | 43.798 |
| Before launch | 41.794 |
| Before launch | 39.634 |
| Before launch | 38.32 |
| Before launch | 38.603 |
| Before launch | 40.742 |
| Before launch | 38.114 |
| Before launch | 42.518 |
| Before launch | 46.633 |
| Before launch | 49.548 |
| Before launch | 50.754 |
| Before launch | 50.304 |
| Before launch | 48.795 |
| Before launch | 40.859 |
| Before launch | 40.062 |
| Before launch | 40.777 |
| Before launch | 43.161 |
| Before launch | 46.801 |
| Before launch | 50.846 |
| Before launch | 54.285 |
| Before launch | 49.975 |
| After launch | 55.8 |
| After launch | 59.609 |
| After launch | 62.351 |
| After launch | 63.38 |
| After launch | 62.584 |
| After launch | 60.421 |
| After launch | 57.777 |
| After launch | 49.377 |
| After launch | 48.656 |
| After launch | 49.692 |
| After launch | 52.286 |
| After launch | 55.733 |
| After launch | 59.059 |
| After launch | 61.344 |
| After launch | 55.729 |
| After launch | 54.798 |
| After launch | 52.794 |
| After launch | 50.634 |
| After launch | 49.32 |
| After launch | 49.603 |
| After launch | 51.742 |
| After launch | 49.114 |
| After launch | 53.518 |
| After launch | 57.633 |
| After launch | 60.548 |
| After launch | 61.754 |
| After launch | 61.304 |
| After launch | 59.795 |
| After launch | 51.859 |
| After launch | 51.062 |
| After launch | 51.777 |
| After launch | 54.161 |
| After launch | 57.801 |
| After launch | 61.846 |
| After launch | 65.285 |
| After launch | 60.975 |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
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": "Distribution · Violin chart example"
},
"axes": {
"x": {
"labels": {
"orientation": "horizontal",
"padding": 12
},
"ticks": false,
"title": {
"align": "end",
"padding": 36,
"text": "Cohort"
}
},
"y": {
"format": {
"fractionDigits": 1,
"type": "number"
},
"title": {
"align": "center",
"padding": 58,
"text": "Distribution"
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "series",
"format": "auto",
"label": "Series"
},
{
"field": "value",
"format": "number",
"label": "Value"
}
],
"title": "Distribution · Violin chart",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "violin"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Violin chart uses runnable data and options to demonstrate 2D histogram.",
"text": "Distribution · Violin chart"
},
"width": "container",
"x": {
"field": "series",
"title": "Outcome score",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.violin('#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": "Distribution · Violin chart example"
},
"axes": {
"x": {
"labels": {
"orientation": "horizontal",
"padding": 12
},
"ticks": false,
"title": {
"align": "end",
"padding": 36,
"text": "Cohort"
}
},
"y": {
"format": {
"fractionDigits": 1,
"type": "number"
},
"title": {
"align": "center",
"padding": 58,
"text": "Distribution"
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "series",
"format": "auto",
"label": "Series"
},
{
"field": "value",
"format": "number",
"label": "Value"
}
],
"title": "Distribution · Violin chart",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "violin"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Violin chart uses runnable data and options to demonstrate 2D histogram.",
"text": "Distribution · Violin chart"
},
"width": "container",
"x": {
"field": "series",
"title": "Outcome score",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Boxplot uses runnable data and options to demonstrate grid contour.
StatusLoading
boxplotgrid contourLoading
Row data and zero-copy TypedArray columns share one data contract.
categoryordinal | valuequantitative | lowquantitative | q1quantitative | medianquantitative | q3quantitative | highquantitative |
|---|---|---|---|---|---|---|
| Starter | — | 12 | 19 | 27 | 34 | 43 |
| Team | — | 17 | 25 | 33 | 41 | 51 |
| Business | — | 21 | 31 | 40 | 49 | 60 |
| Enterprise | — | 28 | 39 | 48 | 58 | 71 |
Browser API
const data = [
{
"category": "Starter",
"high": 43,
"low": 12,
"median": 27,
"q1": 19,
"q3": 34
},
{
"category": "Team",
"high": 51,
"low": 17,
"median": 33,
"q1": 25,
"q3": 41
},
{
"category": "Business",
"high": 60,
"low": 21,
"median": 40,
"q1": 31,
"q3": 49
},
{
"category": "Enterprise",
"high": 71,
"low": 28,
"median": 48,
"q1": 39,
"q3": 58
}
];
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": "Distribution · Boxplot example"
},
"axes": {
"x": {
"labels": {
"orientation": "horizontal",
"padding": 12
},
"ticks": false,
"title": {
"align": "end",
"padding": 36,
"text": "Cohort"
}
},
"y": {
"format": {
"fractionDigits": 1,
"type": "number"
},
"title": {
"align": "center",
"padding": 58,
"text": "Distribution"
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "category",
"format": "auto",
"label": "Category"
},
{
"field": "low",
"format": "number",
"label": "Low"
},
{
"field": "q1",
"format": "number",
"label": "Q1"
},
{
"field": "median",
"format": "number",
"label": "Median"
},
{
"field": "q3",
"format": "number",
"label": "Q3"
},
{
"field": "high",
"format": "number",
"label": "High"
}
],
"title": "Distribution · Boxplot",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"high": "high",
"low": "low",
"median": "median",
"q1": "q1",
"q3": "q3"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Boxplot uses runnable data and options to demonstrate grid contour.",
"text": "Distribution · Boxplot"
},
"width": "container",
"x": {
"field": "category",
"title": "Outcome score",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.boxplot('#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": "Distribution · Boxplot example"
},
"axes": {
"x": {
"labels": {
"orientation": "horizontal",
"padding": 12
},
"ticks": false,
"title": {
"align": "end",
"padding": 36,
"text": "Cohort"
}
},
"y": {
"format": {
"fractionDigits": 1,
"type": "number"
},
"title": {
"align": "center",
"padding": 58,
"text": "Distribution"
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "category",
"format": "auto",
"label": "Category"
},
{
"field": "low",
"format": "number",
"label": "Low"
},
{
"field": "q1",
"format": "number",
"label": "Q1"
},
{
"field": "median",
"format": "number",
"label": "Median"
},
{
"field": "q3",
"format": "number",
"label": "Q3"
},
{
"field": "high",
"format": "number",
"label": "High"
}
],
"title": "Distribution · Boxplot",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"high": "high",
"low": "low",
"median": "median",
"q1": "q1",
"q3": "q3"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Boxplot uses runnable data and options to demonstrate grid contour.",
"text": "Distribution · Boxplot"
},
"width": "container",
"x": {
"field": "category",
"title": "Outcome score",
"type": "ordinal"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Bell curve uses runnable data and options to demonstrate shared bins.
StatusLoading
bell-curveshared binsLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
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": "Distribution · Bell curve example"
},
"axes": {
"x": {
"format": {
"type": "integer"
},
"ticks": {
"spacing": 8,
"values": [
18,
24,
30,
36,
39
]
}
},
"y": {
"format": {
"type": "integer"
},
"ticks": {
"count": 5,
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "value",
"format": "number",
"label": "Value"
},
{
"field": "series",
"format": "auto",
"label": "Series"
}
],
"title": "Distribution · Bell curve",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "curve"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Bell curve uses runnable data and options to demonstrate shared bins.",
"text": "Distribution · Bell curve"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.bellCurve('#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": "Distribution · Bell curve example"
},
"axes": {
"x": {
"format": {
"type": "integer"
},
"ticks": {
"spacing": 8,
"values": [
18,
24,
30,
36,
39
]
}
},
"y": {
"format": {
"type": "integer"
},
"ticks": {
"count": 5,
"spacing": 8
}
}
},
"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": {
"axis": "x",
"fields": [
{
"field": "value",
"format": "number",
"label": "Value"
},
{
"field": "series",
"format": "auto",
"label": "Series"
}
],
"title": "Distribution · Bell curve",
"trigger": "axis"
}
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "curve"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Bell curve uses runnable data and options to demonstrate shared bins.",
"text": "Distribution · Bell curve"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Edge cases
Exercise numeric range, sparse structure, and large inputs with valid data. Each tab materializes data only when needed and never silently repairs invalid values.
Mix zero, very small finite values, and very large finite values to verify automatic domains, precision, and stable geometry. NaN and Infinity remain intentionally invalid. It applies 2 data-integrity rules that preserve finite values and axis domains.
StatusLoading
extreme-rangeextreme-smallextreme-largezeromixed-signbudget:marks<=6Loading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| -1e+12 | Before launch |
| -1e-09 | Before launch |
| 0 | Before launch |
| 1e+12 | Before launch |
| 1e-09 | Before launch |
| 1e+06 | Before launch |
Browser API
const data = [
{
"series": "Before launch",
"value": -1000000000000
},
{
"series": "Before launch",
"value": -1e-9
},
{
"series": "Before launch",
"value": 0
},
{
"series": "Before launch",
"value": 1000000000000
},
{
"series": "Before launch",
"value": 1e-9
},
{
"series": "Before launch",
"value": 1000000
}
];
const options = {
"accessibility": {
"description": "Before-and-after cohorts reveal the shift, spread, and remaining overlap. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Distribution"
},
"height": 620,
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"title": {
"subtitle": "edge case · range",
"text": "Distribution"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"scale": {
"constant": 1,
"type": "symlog"
},
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#chart', data, options);Portable schema
{
"accessibility": {
"description": "Before-and-after cohorts reveal the shift, spread, and remaining overlap. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Distribution"
},
"height": 620,
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"title": {
"subtitle": "edge case · range",
"text": "Distribution"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"scale": {
"constant": 1,
"type": "symlog"
},
"title": "Frequency",
"type": "quantitative"
}
}Exercise only duplicate, missing, sparse, or out-of-order structures whose meaning is defined for this family. Broken references and malformed tuples are never disguised as successful examples. It applies 3 structural rules that preserve the meaning of missing, duplicate, and ordered values.
StatusLoading
irregular-structureduplicate-valuenulloutliertiesbudget:marks<=7Loading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| — | Before launch |
| 44.8 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
Browser API
const data = [
{
"series": "Before launch",
"value": 44.8
},
{
"series": "Before launch",
"value": null
},
{
"series": "Before launch",
"value": 44.8
},
{
"series": "Before launch",
"value": 51.351
},
{
"series": "Before launch",
"value": 52.38
},
{
"series": "Before launch",
"value": 51.584
},
{
"series": "Before launch",
"value": 49.421
}
];
const options = {
"accessibility": {
"description": "Before-and-after cohorts reveal the shift, spread, and remaining overlap. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Distribution · Sparse and irregular structure"
},
"height": 620,
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"title": {
"subtitle": "edge case · structure",
"text": "Distribution · Sparse and irregular structure"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#chart', data, options);Portable schema
{
"accessibility": {
"description": "Before-and-after cohorts reveal the shift, spread, and remaining overlap. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Distribution · Sparse and irregular structure"
},
"height": 620,
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"title": {
"subtitle": "edge case · structure",
"text": "Distribution · Sparse and irregular structure"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Materialize a deterministic compact recipe only when this tab opens. Graflume's performance profile bounds mark count, hit testing, and animation work for the input size. It applies 6 high-volume rules for deterministic generation and bounded output. This family materializes 100,000 logical rows and bounds rendered line points at 30,000.
StatusLoading
high-row-cardinalityall-input-rows-generatedall-input-rows-processeddeterministic-generationbounded-renderinginput:100000zoom-pan-resetbudget:line-points<=30000legend · categories · serieshighlights[] · datum · valueannotations[] · datum · value · callout · placement:autoLoading
Browser API
const recipe = {
"cardinality": {
"axes": {},
"sourceRows": 100000,
"unit": "rows"
},
"expectedInvariants": [
"finite-json",
"finite-observation-or-null"
],
"id": "multivariate-observations",
"initialView": {
"kind": "domain",
"zoom": 1
},
"outputBudget": {
"maximum": 30000,
"resource": "line-points"
},
"parameters": {
"family": "distribution",
"nullableFields": [
"value"
],
"positiveFields": [],
"scenario": "volume",
"valueFields": [
"value"
],
"valuePolicy": "signed"
},
"preview": {
"maximumRows": 12,
"method": "quantiles"
},
"reduction": {
"method": "stratified-observation-sample",
"stage": "sample"
},
"seed": 2666911421,
"shape": "rows",
"version": 2
};
const { data, previewRows, plan } = Graflume.materializeDemoRecipe(recipe);
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": "Distribution · High data volume"
},
"annotations": [
{
"connector": {
"visible": true
},
"detail": "Attach user-authored safe text to a datum, axis range, or normalized plot position.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "value",
"type": "datum",
"value": 96.904
},
"text": "Point and range highlights · 96.904"
}
],
"create": {
"adaptive": {
"environment": {
"rowCount": 100000
},
"largeDataNavigation": true,
"profiles": "auto"
}
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "value",
"type": "datum",
"value": 96.904
}
}
],
"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": {
"axis": "x",
"fields": [
{
"field": "binStart",
"format": "number",
"label": "Bin start"
},
{
"field": "binEnd",
"format": "number",
"label": "Bin end"
},
{
"field": "count",
"format": "integer",
"label": "Count"
},
{
"field": "proportion",
"format": "percent",
"fractionDigits": 1,
"label": "Proportion"
}
],
"title": "Distribution · High data volume",
"trigger": "axis"
}
},
"legend": {
"field": "series",
"interactive": false,
"labels": {
"hide": "Hide",
"show": "Show"
},
"maxItems": 8,
"mode": "categories",
"orientation": "horizontal",
"position": "bottom",
"title": "Series",
"visible": true
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"padding": {
"top": 52
},
"performance": "auto",
"theme": "graflume-light",
"title": {
"subtitle": "Before-and-after cohorts reveal the shift, spread, and remaining overlap · 100,000 logical rows, screen-aware detail",
"text": "Distribution · High data volume"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#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": "Distribution · High data volume"
},
"annotations": [
{
"connector": {
"visible": true
},
"detail": "Attach user-authored safe text to a datum, axis range, or normalized plot position.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "value",
"type": "datum",
"value": 96.904
},
"text": "Point and range highlights · 96.904"
}
],
"create": {
"adaptive": {
"environment": {
"rowCount": 100000
},
"largeDataNavigation": true,
"profiles": "auto"
}
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "value",
"type": "datum",
"value": 96.904
}
}
],
"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": {
"axis": "x",
"fields": [
{
"field": "binStart",
"format": "number",
"label": "Bin start"
},
{
"field": "binEnd",
"format": "number",
"label": "Bin end"
},
{
"field": "count",
"format": "integer",
"label": "Count"
},
{
"field": "proportion",
"format": "percent",
"fractionDigits": 1,
"label": "Proportion"
}
],
"title": "Distribution · High data volume",
"trigger": "axis"
}
},
"legend": {
"field": "series",
"interactive": false,
"labels": {
"hide": "Hide",
"show": "Show"
},
"maxItems": 8,
"mode": "categories",
"orientation": "horizontal",
"position": "bottom",
"title": "Series",
"visible": true
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"padding": {
"top": 52
},
"performance": "auto",
"theme": "graflume-light",
"title": {
"subtitle": "Before-and-after cohorts reveal the shift, spread, and remaining overlap · 100,000 logical rows, screen-aware detail",
"text": "Distribution · High data volume"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
}Extreme environments
Combine container size, input method, display capability, and user preference instead of guessing a device name. Compare mobile, watch, e-paper, monochrome, dot-matrix, and standards-based extreme environments on the same chart.
Reflow axes, legends, descriptions, and controls from the available container size.
960×540 · adaptive.profiles=responsive-fluidzoom-reflowshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatialPrioritize 44px touch targets, tap tooltips, and collapsed secondary information on a narrow portrait screen.
390×844 · adaptive.profiles=mobile-touchzoom-reflowcoarse-touchvirtual-keyboardshape-rectangledisplay-colorinput-coarsemotion-fullrenderer-canvas-spatialKeep essential marks, values, and stepped controls on a tiny or round screen, with the remaining detail reflowed below.
184×224 · adaptive.profiles=smartwatchzoom-reflowreduced-effectscoarse-touchlow-resourcecutout-roundshape-rounddisplay-colorinput-coarsemotion-reducedrenderer-canvas-spatialviewport-tinyPrefer stable frames, strong contrast, and the data table for low-refresh e-paper displays.
758×1024 · adaptive.profiles=ebook-paperprint-pagedreduced-effectslow-resourceshape-pageddisplay-e-inkinput-keyboardmotion-staticrenderer-canvas-spatialUse strokes, markers, patterns, labels, and the table so color is never the only distinction.
640×400 · adaptive.profiles=monochromereduced-effectsshape-rectangledisplay-monochromeinput-finemotion-reducedrenderer-canvas-spatialReduce decoration and mark density while using strong strokes, integer labels, and stepped zoom on a low-resolution display.
320×240 · adaptive.profiles=dot-matrixzoom-reflowreduced-effectskeyboard-switchlow-resourceshape-rectangledisplay-gridinput-keyboardmotion-staticrenderer-canvas-spatialviewport-tinyReflow prose to one dimension at the 320 CSS px equivalent while retaining chart-local zoom and pan.
320×480 · adaptive.profiles=zoom-reflowzoom-reflowshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatialKeep the chart and explanation in independent viewport segments without crossing the hinge.
720×640 · adaptive.profiles=foldable-dualfoldable-dualshape-dualdisplay-colorinput-finemotion-fullrenderer-canvas-spatialProvide strong focus indication and D-pad, Enter, and Escape operation on a hoverless distance display.
1920×1080 · adaptive.profiles=tv-remotetv-remoteshape-rectangledisplay-colorinput-remotemotion-fullrenderer-canvas-spatialPair a static chart with its description and table, hide controls, and avoid page breaks through the figure.
794×1123 · adaptive.profiles=print-pagedprint-pagedshape-pageddisplay-colorinput-finemotion-staticrenderer-canvas-spatialHonor system colors and borders while retaining patterns, markers, and text as redundant cues.
640×400 · adaptive.profiles=forced-colorsforced-colorsshape-rectangledisplay-high-contrastinput-finemotion-fullrenderer-canvas-spatialComplete transitions immediately and use opaque surfaces and deferred work to reduce motion and transparency load.
640×400 · adaptive.profiles=reduced-effectsreduced-effectsshape-rectangledisplay-colorinput-finemotion-reducedrenderer-canvas-spatialInspect values by tap without hover, keep targets at least 44px, and expose explicit zoom buttons.
390×844 · adaptive.profiles=coarse-touchcoarse-touchshape-rectangledisplay-colorinput-coarsemotion-fullrenderer-canvas-spatialReach every operation with Tab, arrows, Enter, Space, and Escape, with no drag-only action.
640×400 · adaptive.profiles=keyboard-switchkeyboard-switchshape-rectangledisplay-colorinput-keyboardmotion-fullrenderer-canvas-spatialPrefer progressive rendering, sampling, cancellable work, and a static fallback under constrained memory or connectivity.
640×400 · adaptive.profiles=low-resourcelow-resourceshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatialFollow RTL logical flow for prose and tabs while keeping axes, code, and data identifiers in technical LTR order.
640×400 · adaptive.profiles=rtlrtlshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatialReflow vertical prose while keeping the chart and technical surfaces in an independent horizontal panel.
640×400 · adaptive.profiles=vertical-writingvertical-writingshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatialCap chart width instead of stretching indefinitely, using panelization and readable labels on ultrawide or projected surfaces.
1920×720 · adaptive.profiles=ultrawide-projectionultrawide-projectionshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatialProvide short and long descriptions, a semantic table, and status so Canvas or color is never the sole information path.
640×400 · adaptive.profiles=screenreader-braillescreenreader-brailleshape-nonvisualdisplay-colorinput-nonvisualmotion-fullrenderer-canvas-spatialA verified static preview, description, and collapsible row-data table preserve the essential information when scripting is unavailable.
640×400 · adaptive.profiles=no-scriptno-scriptshape-nonvisualdisplay-colorinput-finemotion-staticrenderer-static-fallbackFall back safely to the ordinary 2D or WebGL panel when XR APIs are absent, duplicating depth cues in text and the table.
640×400 · adaptive.profiles=spatial-xrspatial-xrshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatialInset titles, marks, and controls around safe areas and round display bounds so they are not clipped.
184×224 · adaptive.profiles=cutout-roundcutout-roundshape-rounddisplay-colorinput-finemotion-fullrenderer-canvas-spatialviewport-tinyReflow focus controls, the chart, and the active explanation when a virtual keyboard reduces the visual viewport.
390×560 · adaptive.profiles=virtual-keyboardvirtual-keyboardshape-rectangledisplay-colorinput-finemotion-fullrenderer-canvas-spatialChoose a profile above to preserve the same data and ChartSpec while reconfiguring the chart for display size, input method, display capability, and user preference.
StatusLoading
adaptivecapability-drivenno-user-agent-branchinglegend · categories · serieshighlights[] · datum · valueannotations[] · datum · value · callout · placement:autoselection · multiple · toggleLoading
Row data and zero-copy TypedArray columns share one data contract.
valuequantitative | seriesordinal |
|---|---|
| 44.8 | Before launch |
| 48.609 | Before launch |
| 51.351 | Before launch |
| 52.38 | Before launch |
| 51.584 | Before launch |
| 49.421 | Before launch |
| 46.777 | Before launch |
| 38.377 | Before launch |
| 37.656 | Before launch |
| 38.692 | Before launch |
| 41.286 | Before launch |
| 44.733 | Before launch |
| 48.059 | Before launch |
| 50.344 | Before launch |
| 44.729 | Before launch |
| 43.798 | Before launch |
| 41.794 | Before launch |
| 39.634 | Before launch |
| 38.32 | Before launch |
| 38.603 | Before launch |
| 40.742 | Before launch |
| 38.114 | Before launch |
| 42.518 | Before launch |
| 46.633 | Before launch |
| 49.548 | Before launch |
| 50.754 | Before launch |
| 50.304 | Before launch |
| 48.795 | Before launch |
| 40.859 | Before launch |
| 40.062 | Before launch |
| 40.777 | Before launch |
| 43.161 | Before launch |
| 46.801 | Before launch |
| 50.846 | Before launch |
| 54.285 | Before launch |
| 49.975 | Before launch |
| 55.8 | After launch |
| 59.609 | After launch |
| 62.351 | After launch |
| 63.38 | After launch |
| 62.584 | After launch |
| 60.421 | After launch |
| 57.777 | After launch |
| 49.377 | After launch |
| 48.656 | After launch |
| 49.692 | After launch |
| 52.286 | After launch |
| 55.733 | After launch |
| 59.059 | After launch |
| 61.344 | After launch |
| 55.729 | After launch |
| 54.798 | After launch |
| 52.794 | After launch |
| 50.634 | After launch |
| 49.32 | After launch |
| 49.603 | After launch |
| 51.742 | After launch |
| 49.114 | After launch |
| 53.518 | After launch |
| 57.633 | After launch |
| 60.548 | After launch |
| 61.754 | After launch |
| 61.304 | After launch |
| 59.795 | After launch |
| 51.859 | After launch |
| 51.062 | After launch |
| 51.777 | After launch |
| 54.161 | After launch |
| 57.801 | After launch |
| 61.846 | After launch |
| 65.285 | After launch |
| 60.975 | After launch |
Browser API
const data = [
{
"sample": "Seoul · baseline · W1",
"series": "Before launch",
"value": 44.8,
"weight": 1
},
{
"sample": "Tokyo · baseline · W1",
"series": "Before launch",
"value": 48.609,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W1",
"series": "Before launch",
"value": 51.351,
"weight": 1.5
},
{
"sample": "Paris · baseline · W1",
"series": "Before launch",
"value": 52.38,
"weight": 1.75
},
{
"sample": "New York · baseline · W1",
"series": "Before launch",
"value": 51.584,
"weight": 1
},
{
"sample": "Sydney · baseline · W1",
"series": "Before launch",
"value": 49.421,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W2",
"series": "Before launch",
"value": 46.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W2",
"series": "Before launch",
"value": 38.377,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W2",
"series": "Before launch",
"value": 37.656,
"weight": 1
},
{
"sample": "Paris · baseline · W2",
"series": "Before launch",
"value": 38.692,
"weight": 1.25
},
{
"sample": "New York · baseline · W2",
"series": "Before launch",
"value": 41.286,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W2",
"series": "Before launch",
"value": 44.733,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W3",
"series": "Before launch",
"value": 48.059,
"weight": 1
},
{
"sample": "Tokyo · baseline · W3",
"series": "Before launch",
"value": 50.344,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W3",
"series": "Before launch",
"value": 44.729,
"weight": 1.5
},
{
"sample": "Paris · baseline · W3",
"series": "Before launch",
"value": 43.798,
"weight": 1.75
},
{
"sample": "New York · baseline · W3",
"series": "Before launch",
"value": 41.794,
"weight": 1
},
{
"sample": "Sydney · baseline · W3",
"series": "Before launch",
"value": 39.634,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W4",
"series": "Before launch",
"value": 38.32,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W4",
"series": "Before launch",
"value": 38.603,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W4",
"series": "Before launch",
"value": 40.742,
"weight": 1
},
{
"sample": "Paris · baseline · W4",
"series": "Before launch",
"value": 38.114,
"weight": 1.25
},
{
"sample": "New York · baseline · W4",
"series": "Before launch",
"value": 42.518,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W4",
"series": "Before launch",
"value": 46.633,
"weight": 1.75
},
{
"sample": "Seoul · baseline · W5",
"series": "Before launch",
"value": 49.548,
"weight": 1
},
{
"sample": "Tokyo · baseline · W5",
"series": "Before launch",
"value": 50.754,
"weight": 1.25
},
{
"sample": "Singapore · baseline · W5",
"series": "Before launch",
"value": 50.304,
"weight": 1.5
},
{
"sample": "Paris · baseline · W5",
"series": "Before launch",
"value": 48.795,
"weight": 1.75
},
{
"sample": "New York · baseline · W5",
"series": "Before launch",
"value": 40.859,
"weight": 1
},
{
"sample": "Sydney · baseline · W5",
"series": "Before launch",
"value": 40.062,
"weight": 1.25
},
{
"sample": "Seoul · baseline · W6",
"series": "Before launch",
"value": 40.777,
"weight": 1.5
},
{
"sample": "Tokyo · baseline · W6",
"series": "Before launch",
"value": 43.161,
"weight": 1.75
},
{
"sample": "Singapore · baseline · W6",
"series": "Before launch",
"value": 46.801,
"weight": 1
},
{
"sample": "Paris · baseline · W6",
"series": "Before launch",
"value": 50.846,
"weight": 1.25
},
{
"sample": "New York · baseline · W6",
"series": "Before launch",
"value": 54.285,
"weight": 1.5
},
{
"sample": "Sydney · baseline · W6",
"series": "Before launch",
"value": 49.975,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W1",
"series": "After launch",
"value": 55.8,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W1",
"series": "After launch",
"value": 59.609,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W1",
"series": "After launch",
"value": 62.351,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W1",
"series": "After launch",
"value": 63.38,
"weight": 1.75
},
{
"sample": "New York · post-launch · W1",
"series": "After launch",
"value": 62.584,
"weight": 1
},
{
"sample": "Sydney · post-launch · W1",
"series": "After launch",
"value": 60.421,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W2",
"series": "After launch",
"value": 57.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W2",
"series": "After launch",
"value": 49.377,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W2",
"series": "After launch",
"value": 48.656,
"weight": 1
},
{
"sample": "Paris · post-launch · W2",
"series": "After launch",
"value": 49.692,
"weight": 1.25
},
{
"sample": "New York · post-launch · W2",
"series": "After launch",
"value": 52.286,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W2",
"series": "After launch",
"value": 55.733,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W3",
"series": "After launch",
"value": 59.059,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W3",
"series": "After launch",
"value": 61.344,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W3",
"series": "After launch",
"value": 55.729,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W3",
"series": "After launch",
"value": 54.798,
"weight": 1.75
},
{
"sample": "New York · post-launch · W3",
"series": "After launch",
"value": 52.794,
"weight": 1
},
{
"sample": "Sydney · post-launch · W3",
"series": "After launch",
"value": 50.634,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W4",
"series": "After launch",
"value": 49.32,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W4",
"series": "After launch",
"value": 49.603,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W4",
"series": "After launch",
"value": 51.742,
"weight": 1
},
{
"sample": "Paris · post-launch · W4",
"series": "After launch",
"value": 49.114,
"weight": 1.25
},
{
"sample": "New York · post-launch · W4",
"series": "After launch",
"value": 53.518,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W4",
"series": "After launch",
"value": 57.633,
"weight": 1.75
},
{
"sample": "Seoul · post-launch · W5",
"series": "After launch",
"value": 60.548,
"weight": 1
},
{
"sample": "Tokyo · post-launch · W5",
"series": "After launch",
"value": 61.754,
"weight": 1.25
},
{
"sample": "Singapore · post-launch · W5",
"series": "After launch",
"value": 61.304,
"weight": 1.5
},
{
"sample": "Paris · post-launch · W5",
"series": "After launch",
"value": 59.795,
"weight": 1.75
},
{
"sample": "New York · post-launch · W5",
"series": "After launch",
"value": 51.859,
"weight": 1
},
{
"sample": "Sydney · post-launch · W5",
"series": "After launch",
"value": 51.062,
"weight": 1.25
},
{
"sample": "Seoul · post-launch · W6",
"series": "After launch",
"value": 51.777,
"weight": 1.5
},
{
"sample": "Tokyo · post-launch · W6",
"series": "After launch",
"value": 54.161,
"weight": 1.75
},
{
"sample": "Singapore · post-launch · W6",
"series": "After launch",
"value": 57.801,
"weight": 1
},
{
"sample": "Paris · post-launch · W6",
"series": "After launch",
"value": 61.846,
"weight": 1.25
},
{
"sample": "New York · post-launch · W6",
"series": "After launch",
"value": 65.285,
"weight": 1.5
},
{
"sample": "Sydney · post-launch · W6",
"series": "After launch",
"value": 60.975,
"weight": 1.75
}
];
const options = {
"accessibility": {
"description": "Before-and-after cohorts reveal the shift, spread, and remaining overlap. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Distribution chart: Before-and-after cohorts reveal the shift, spread, and remaining overlap"
},
"annotations": [
{
"connector": {
"visible": true
},
"detail": "Attach user-authored safe text to a datum, axis range, or normalized plot position.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "value",
"type": "datum",
"value": 55.8
},
"text": "Point and range highlights · 55.8"
}
],
"axes": {
"x": {
"format": {
"type": "integer"
},
"ticks": {
"spacing": 8,
"values": [
18,
24,
30,
36,
39
]
}
},
"y": {
"format": {
"type": "integer"
},
"ticks": {
"count": 5,
"spacing": 8
}
}
},
"create": {
"adaptive": {
"profiles": "auto"
}
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "value",
"type": "datum",
"value": 55.8
}
}
],
"interaction": {
"controls": {
"annotations": true,
"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"
},
"selection": {
"ariaLabel": "Interactive selection",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "value",
"mode": "multiple",
"toggle": true
},
"tooltip": {
"axis": "x",
"fields": [
{
"field": "binStart",
"format": "number",
"label": "Bin start"
},
{
"field": "binEnd",
"format": "number",
"label": "Bin end"
},
{
"field": "count",
"format": "integer",
"label": "Count"
},
{
"field": "proportion",
"format": "percent",
"fractionDigits": 1,
"label": "Proportion"
}
],
"title": "Distribution",
"trigger": "axis"
}
},
"legend": {
"field": "series",
"interactive": false,
"labels": {
"hide": "Hide",
"show": "Show"
},
"maxItems": 8,
"mode": "categories",
"orientation": "horizontal",
"position": "bottom",
"title": "Series",
"visible": true
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Before-and-after cohorts reveal the shift, spread, and remaining overlap",
"text": "Distribution chart"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"type": "quantitative"
}
};
Graflume.distribution('#chart', data, options);Portable schema
{
"accessibility": {
"description": "Before-and-after cohorts reveal the shift, spread, and remaining overlap. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
"label": "Distribution chart: Before-and-after cohorts reveal the shift, spread, and remaining overlap"
},
"annotations": [
{
"connector": {
"visible": true
},
"detail": "Attach user-authored safe text to a datum, axis range, or normalized plot position.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "value",
"type": "datum",
"value": 55.8
},
"text": "Point and range highlights · 55.8"
}
],
"axes": {
"x": {
"format": {
"type": "integer"
},
"ticks": {
"spacing": 8,
"values": [
18,
24,
30,
36,
39
]
}
},
"y": {
"format": {
"type": "integer"
},
"ticks": {
"count": 5,
"spacing": 8
}
}
},
"create": {
"adaptive": {
"profiles": "auto"
}
},
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "value",
"type": "datum",
"value": 55.8
}
}
],
"interaction": {
"controls": {
"annotations": true,
"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"
},
"selection": {
"ariaLabel": "Interactive selection",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "value",
"mode": "multiple",
"toggle": true
},
"tooltip": {
"axis": "x",
"fields": [
{
"field": "binStart",
"format": "number",
"label": "Bin start"
},
{
"field": "binEnd",
"format": "number",
"label": "Bin end"
},
{
"field": "count",
"format": "integer",
"label": "Count"
},
{
"field": "proportion",
"format": "percent",
"fractionDigits": 1,
"label": "Proportion"
}
],
"title": "Distribution",
"trigger": "axis"
}
},
"legend": {
"field": "series",
"interactive": false,
"labels": {
"hide": "Hide",
"show": "Show"
},
"maxItems": 8,
"mode": "categories",
"orientation": "horizontal",
"position": "bottom",
"title": "Series",
"visible": true
},
"locale": "en",
"mark": {
"fields": {
"group": "series",
"value": "value"
},
"options": {
"mode": "histogram"
}
},
"padding": {
"top": 52
},
"theme": "graflume-light",
"title": {
"subtitle": "Before-and-after cohorts reveal the shift, spread, and remaining overlap",
"text": "Distribution chart"
},
"width": "container",
"x": {
"field": "value",
"title": "Outcome score",
"type": "quantitative"
},
"y": {
"field": "value",
"title": "Frequency",
"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.
10 modes · 3 compatibility identifiers
| ID | Name | Quick API | mode | mark | renderer |
|---|---|---|---|---|---|
distribution | Distribution chart | distribution() | histogram | distribution | canvas |
histogram | Histogram | histogram() | histogram | histogram | canvas |
ecdf new · research-foundations-2026-08-25 | Empirical cumulative distribution | ecdf() | ecdf | distribution | canvas |
ccdf new · research-foundations-2026-08-25 | Complementary empirical distribution | ccdf() | ccdf | distribution | canvas |
kde new · research-foundations-2026-08-25 | Kernel density estimate | kde() | kde | distribution | canvas |
histogram-2d | Bivariate histogram | histogram2d() | histogram-2d | distribution | canvas |
histogram-2d-contour | Bivariate density contours | histogram2dContour() | histogram-2d-contour | distribution | canvas |
violin | Violin chart | violin() | violin | distribution | canvas |
boxplot | Boxplot | boxplot() | boxplot | boxplot | canvas |
bell-curve | Bell curve | bellCurve() | bell-curve | distribution | canvas |
| Identifier | Canonical mode ID |
|---|---|
bellcurve | bell-curve |
boxplot | boxplot |
histogram | histogram |
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.