Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
e43f2e8
feat(mark): add experimental array mark (WIP)
mattijn Aug 15, 2026
5a153a1
feat(mark): add x/x2/y/y2 axis and non-zero-extent support to array mark
mattijn Aug 15, 2026
f5a9056
feat(mark): drive array-mark color from real per-datum min/max fields
mattijn Aug 16, 2026
aab939c
chore: update schema [CI]
Aug 16, 2026
50b740b
fix(mark): default array-mark color domain to [0,1] without min/max f…
mattijn Aug 19, 2026
79654ad
refactor(mark): derive array-mark color extent automatically, drop mi…
mattijn Aug 19, 2026
886b0f1
fix(layout): give the array mark a continuous default view size
mattijn Aug 19, 2026
cbe12c0
fix(mark): sanitize the array grid and keep raster extents exact
mattijn Aug 19, 2026
c8e0d4a
docs(array): document pixelated rendering via smooth: false
mattijn Aug 19, 2026
84f9ae4
docs(array): document diverging and discretizing color scales
mattijn Aug 19, 2026
9ac47eb
docs(array): add the array mark to the docs sidebar nav
mattijn Aug 19, 2026
06d0a50
docs(array): add live examples and rewrite the page in house style
mattijn Aug 19, 2026
b2c552a
docs(array): use the volcano dataset and drop em dashes and numpy ref…
mattijn Aug 19, 2026
24be576
docs(array): add examples for the color and axis options the text men…
mattijn Aug 19, 2026
baafaee
docs(array): drop an unmeasured performance claim from the intro
mattijn Aug 19, 2026
d1c5e0b
fix(mark): let the array mark's aspect be overridden, and document it
mattijn Aug 19, 2026
bbf63a0
docs(array): drop a redundant gloss on row-major order
mattijn Aug 19, 2026
f552bb8
chore(examples): do not commit rendered images for the array examples…
mattijn Aug 19, 2026
467e03c
chore(array): regenerate the docs TOC and clean up review nits
mattijn Aug 19, 2026
8679edf
chore(schema): regenerate after dropping minField/maxField
mattijn Aug 19, 2026
996d0b3
chore: update examples [CI]
Aug 19, 2026
fdc0839
docs(array): show grids laid out by two further dimensions
mattijn Aug 19, 2026
bbdf290
chore: update examples [CI]
Aug 19, 2026
bef8dbb
docs(array): drop the row/column example again
mattijn Aug 19, 2026
6192809
chore(examples): remove images left behind by the deleted row/column …
mattijn Aug 19, 2026
91086f9
refactor(mark): drop two fallbacks from the array mark and trim comments
mattijn Aug 19, 2026
baab328
docs(array): say where the example view sizes come from
mattijn Aug 19, 2026
acad1df
test(array): rewrite the array mark tests around behaviour
mattijn Aug 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions build/vega-lite-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -7571,6 +7571,10 @@
"description": "A boolean flag indicating if ARIA default attributes should be included for marks and guides (SVG output only). If false, the `\"aria-hidden\"` attribute will be set for all guides, removing them from the ARIA accessibility tree and Vega-Lite will not generate default descriptions for marks.\n\n__Default value:__ `true`.",
"type": "boolean"
},
"array": {
"$ref": "#/definitions/MarkConfig",
"description": "Array-Specific Config"
},
"autosize": {
"anyOf": [
{
Expand Down Expand Up @@ -16014,6 +16018,7 @@
"enum": [
"arc",
"area",
"array",
"bar",
"image",
"line",
Expand Down Expand Up @@ -28513,6 +28518,10 @@
"$ref": "#/definitions/AreaConfig",
"description": "Area-Specific Config"
},
"array": {
"$ref": "#/definitions/MarkConfig",
"description": "Array-Specific Config"
},
"bar": {
"$ref": "#/definitions/BarConfig",
"description": "Bar-Specific Config"
Expand Down
Binary file added examples/compiled/array_aspect.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions examples/compiled/array_aspect.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
83 changes: 83 additions & 0 deletions examples/compiled/array_aspect.vg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{
"$schema": "https://vega.github.io/schema/vega/v6.json",
"description": "An elevation grid fitted to a square view, keeping its cells square rather than stretching them.",
"background": "white",
"padding": 5,
"width": 300,
"height": 300,
"style": "view",
"data": [
{
"name": "source_0",
"url": "data/volcano.json",
"format": {"type": "json"},
"transform": [
{
"type": "formula",
"expr": "{width: datum.width, height: datum.height, values: datum.values}",
"as": "__array_grid"
},
{
"type": "formula",
"expr": "extent(datum[\"values\"])[0]",
"as": "array_min_values"
},
{
"type": "formula",
"expr": "extent(datum[\"values\"])[1]",
"as": "array_max_values"
}
]
}
],
"marks": [
{
"name": "marks",
"type": "image",
"style": ["array"],
"from": {"data": "source_0"},
"encode": {
"update": {
"aspect": {"value": true},
"ariaRoleDescription": {"value": "array"},
"description": {
"signal": "\"values: \" + (format(datum[\"values\"], \"\"))"
},
"x": {"value": 0},
"width": {"signal": "width"},
"y": {"value": 0},
"height": {"signal": "height"},
"image": {"field": "image"}
}
},
"transform": [
{
"type": "heatmap",
"field": "datum.__array_grid",
"color": {"expr": "scale('color', datum.$value)"},
"opacity": 1
}
]
}
],
"scales": [
{
"name": "color",
"type": "linear",
"domain": {
"data": "source_0",
"fields": ["array_min_values", "array_max_values"]
},
"range": {"scheme": "viridis"},
"interpolate": "hcl",
"zero": false
}
],
"legends": [
{
"fill": "color",
"gradientLength": {"signal": "clamp(height, 64, 200)"},
"title": "values"
}
]
}
Binary file added examples/compiled/array_axis.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions examples/compiled/array_axis.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
116 changes: 116 additions & 0 deletions examples/compiled/array_axis.vg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
{
"$schema": "https://vega.github.io/schema/vega/v6.json",
"description": "An elevation grid labelled with the extent it covers.",
"background": "white",
"padding": 5,
"width": 348,
"height": 244,
"style": "cell",
"data": [
{
"name": "source_0",
"url": "data/volcano.json",
"format": {"type": "json"},
"transform": [
{
"type": "formula",
"expr": "{width: datum.width, height: datum.height, values: datum.values}",
"as": "__array_grid"
},
{
"type": "formula",
"expr": "extent(datum[\"values\"])[0]",
"as": "array_min_values"
},
{
"type": "formula",
"expr": "extent(datum[\"values\"])[1]",
"as": "array_max_values"
}
]
}
],
"marks": [
{
"name": "marks",
"type": "image",
"style": ["array"],
"from": {"data": "source_0"},
"encode": {
"update": {
"ariaRoleDescription": {"value": "array"},
"description": {
"signal": "\"values: \" + (format(datum[\"values\"], \"\"))"
},
"x": {"value": 0},
"width": {"signal": "width"},
"y": {"value": 0},
"height": {"signal": "height"},
"image": {"field": "image"},
"aspect": {"value": false}
}
},
"transform": [
{
"type": "heatmap",
"field": "datum.__array_grid",
"color": {"expr": "scale('color', datum.$value)"},
"opacity": 1
}
]
}
],
"scales": [
{
"name": "x",
"type": "linear",
"domain": {"fields": [[0], [87]]},
"range": [0, {"signal": "width"}]
},
{
"name": "y",
"type": "linear",
"domain": {"fields": [[0], [61]]},
"range": [{"signal": "height"}, 0]
},
{
"name": "color",
"type": "linear",
"domain": {
"data": "source_0",
"fields": ["array_min_values", "array_max_values"]
},
"range": {"scheme": "viridis"},
"interpolate": "hcl",
"zero": false
}
],
"axes": [
{
"scale": "x",
"orient": "bottom",
"grid": false,
"title": "column",
"labelFlush": true,
"labelOverlap": true,
"tickCount": {"signal": "ceil(width/40)"},
"zindex": 0
},
{
"scale": "y",
"orient": "left",
"grid": false,
"title": "row",
"labelOverlap": true,
"tickCount": {"signal": "ceil(height/40)"},
"zindex": 0
}
],
"legends": [
{
"fill": "color",
"gradientLength": {"signal": "clamp(height, 64, 200)"},
"title": "values"
}
]
}
Binary file added examples/compiled/array_axis_field.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions examples/compiled/array_axis_field.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading