Currently we default to no type and let Vega-Lite infer the type, however that inference is not really effective, especially for numbers that default to nominal (see the docs for the complete rules). Whenever a field changes, we should look at the value in the first row and set a default type based on that. For numbers it should always be quantitative, for strings we should try parsing as Date/DateTime, and fall back to nominal if this doesn't work.
Currently we default to no type and let Vega-Lite infer the type, however that inference is not really effective, especially for numbers that default to nominal (see the docs for the complete rules). Whenever a field changes, we should look at the value in the first row and set a default type based on that. For numbers it should always be quantitative, for strings we should try parsing as Date/DateTime, and fall back to nominal if this doesn't work.