Vega provides a layer on top of d3.js for describing visualizations with a JSON spec.
It makes it easier to try new visualizations like a chloropleth map or small multiples, frees co-workers from needing to see terrible things I've done with d3 and JS, and provides a canvas renderer for easy backwards compatibility on legacy browsers (note: canvas is the default; to use SVG if it's available do something like: chart({ ..., renderer: (Modernizr.svg ? 'svg' : 'canvas') })
).
A couple things caught me off-guard:
-
The tutorial covers the visualization spec. Getting started directions are on the runtime wiki page. I missed the part where it said "Runtime - Deploying and using the browser-based Vega runtime."
-
Axes labels are a separate text mark?