Vega-lite is een visuele grammatica voor datavisualisaties. Iedere grafiek of kaart kan met Vega-lite beschreven worden in één json-bestand, meestal aangeduid al een spec
(voor specification). De spec bevat de data (of een verwijzing naar bijvoorbeeld een api) en een formele beschrijving van hoe die data gevisualiseerd moeten worden.
Het maken van Vega-lite specs en het tonen (renderen) van visualisaties kan op verschillende manieren en in verschillende programmeertalen. Zo is er een online editor met allerlei voorbeelden. Ook sommige programeeromgevingen (IDE's), bijvoorbeeld Visual Studio, kunnen overweg met Vega-lite specs.
Voor verschillende programmeertalen zijn er bibliotheken die het makkelijk maken of data te visualiseren met Vega-lite. Vaak kan dat op drie manieren:
Hieronder staan voorbeelden van deze drie methode voor Python. Op de hoofdpagina staan voorbeelden van visualisaties in de huisstijl van Onderzoek en Statistiek die gebruikt kunnen worden als basis voor eigen grafieken en kaarten.
import json
def VegaLite(spec):
bundle = {}
bundle['application/vnd.vegalite.v4+json'] = spec
display(bundle, raw=True)
spec = json.load(open('../specs/bar.vg.json'))
VegaLite(spec)
data = [
{"sd": "centrum", "value": 34},
{"sd": "west", "value": 12},
{"sd": "oost", "value": 56},
{"sd": "noord", "value": 67},
{"sd": "zuid", "value": 23}
]
spec = {
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"data": { "values": data },
"width": 300,
"mark": "bar",
"encoding": {
"x": {"field": "sd", "type": "nominal"},
"y": {"field": "value", "type": "quantitative"}
}
}
VegaLite(spec)
import altair as alt
import pandas as pd
data = pd.DataFrame({
'a': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
'b': [28, 55, 43, 91, 81, 53, 19, 87, 52]
})
alt.Chart(data).mark_bar().encode(
x='a',
y='b'
).properties(
width = 500
)