Hi Thomas, Thanks for sharing.
There are many scale types in D3(v4):
Vega v3 includes most (if not all) of these scale types.
The "scale_convert" domain is not restricted to exact ordinal values that correspond to tick labels. Here is the above example using scale type "threshold":
Vega v3.0.0 beta 22
--------------------
...
"scales": [
{ "name": "scale_convert",
"type": "threshold",
"domain": [0.05, 0.15, 0.25, 0.35, 0.45, 0.55, 0.65, 0.75, 0.85, 0.95, 1.05],
"range": ["zero", "10%", "20 percent", "30 pct", "four-tenths", "half", "0.6", "7/10", "8/10", "9/10", "one", ">1"]
}
...
The original axis with "tickCount" of 2,5 and 10:



The same axis rendered with "scale_convert":