Allow config to set default scale.zero per marktype
See original GitHub issuescale.zero
is true
as default for x and y channels if the quantitative field is not binned and no custom domain is provided; false otherwise. (https://vega.github.io/vega-lite/docs/scale.html )
Though, for some range-based-marktype (e.g., point, box plot). zero: true
might not be useful default; if the data are mostly distributed 10M~11M and if the scale includes zero, the point marks for those data will look like just a single dot.
Even the example scatter plot in VL editor uses zero: false. If we delete it, it looks like this:
–
Suggestion
Assuming that many VL users may be already used to the current default, I would like to suggest adding config.scale.zero
to change the default instead of changing system default.
{
"config": { "scale": {"zero": "always" } }
}
-> Keep the system defulat: scale.zero
is true
as default for x and y channels if the quantitative field is not binned and no custom domain is provided; false otherwise.
{
"config": { "scale": {"zero": "range-mark-only" } }
}
-> scale.zero
is true
as default for y(/x) channel if the quantitative field is not binned and no custom domain is provided and it is vertical (/horizontal) bar and area; false otherwise.
CC; @kanitw
Issue Analytics
- State:
- Created a year ago
- Comments:7 (7 by maintainers)
Some more thoughts:
Btw, I think “range mark” is a bit vague – I don’t think we have use the key word anywhere else.
Suppose we add dynamic default in the future with some syntax like
{threshold: 0.25}
(it might not be this syntax, but we need to make our syntax future proof).Thinking more, we could also just add
zero: boolean;
toconfig.scale
but make it not applicable to non-range bar/areaconfig.scale.zero
should also be applicable to them.FWIW, https://github.com/vega/vega/issues/1471 is related to this. (Adding dynamic zero with threshold is probably gonna be a better default than always off.)
In terms of sequencing, I think add this config in Vega-Lite first would be easier (since it’s simpler).