rotate text labels with VegaLite in Observable

When you are using “column” (or “row”), you need to use “header” instead of “axis”. So in this case I think you’d add something like
header: {labelAngle: -90}
to your column specification.

See Header | Vega-Lite

However, unfortunately it looks like there are some bugs in Vega-Lite which mean that changing the angle and orientation of these labels doesn’t work very well: