diff --git a/build/vega-lite-schema.json b/build/vega-lite-schema.json index 56bd01bbbce..d8693f4c5dd 100644 --- a/build/vega-lite-schema.json +++ b/build/vega-lite-schema.json @@ -21608,6 +21608,10 @@ } ], "description": "Reverse x-scale by default (useful for right-to-left charts)." + }, + "zero": { + "description": "Default for ensuring that a zero baseline values for [`quantize`](https://vega.github.io/vega-lite/docs/scale.html#quantize) scale.\n\n\n__Default value:__ `true`", + "type": "boolean" } }, "type": "object" diff --git a/examples/specs/bar_config_no_zero.vl.json b/examples/specs/bar_config_no_zero.vl.json new file mode 100644 index 00000000000..4a155b00d7c --- /dev/null +++ b/examples/specs/bar_config_no_zero.vl.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "description": "A simple bar chart with embedded data.", + "data": { + "values": [ + {"a": "A", "b": 28}, {"a": "B", "b": 55}, {"a": "C", "b": 43}, + {"a": "D", "b": 91}, {"a": "E", "b": 81}, {"a": "F", "b": 53}, + {"a": "G", "b": 19}, {"a": "H", "b": 87}, {"a": "I", "b": 52} + ] + }, + "mark": "bar", + "encoding": { + "x": {"field": "a", "type": "nominal", "axis": {"labelAngle": 0}}, + "y": {"field": "b", "type": "quantitative"} + }, + "config": { "scale": { "zero": false } } +} diff --git a/examples/specs/bar_gantt_config_no_zero.vl.json b/examples/specs/bar_gantt_config_no_zero.vl.json new file mode 100644 index 00000000000..66a0b32e138 --- /dev/null +++ b/examples/specs/bar_gantt_config_no_zero.vl.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "description": "A simple bar chart with ranged data (aka Gantt Chart).", + "data": { + "values": [ + {"task": "A", "start": 1, "end": 3}, + {"task": "B", "start": 3, "end": 8}, + {"task": "C", "start": 8, "end": 10} + ] + }, + "mark": "bar", + "encoding": { + "y": {"field": "task", "type": "ordinal"}, + "x": {"field": "start", "type": "quantitative"}, + "x2": {"field": "end"} + }, + "config": { "scale": { "zero": false } } +} diff --git a/examples/specs/point_2d_config_no_zero.vl.json b/examples/specs/point_2d_config_no_zero.vl.json new file mode 100644 index 00000000000..977c8553c71 --- /dev/null +++ b/examples/specs/point_2d_config_no_zero.vl.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "description": "A scatterplot showing horsepower and miles per gallons for various cars.", + "data": { "url": "data/cars.json" }, + "mark": "point", + "encoding": { + "x": { "field": "Horsepower", "type": "quantitative" }, + "y": { "field": "Miles_per_Gallon", "type": "quantitative" } + }, + "config": { "scale": { "zero": false } } +} diff --git a/src/scale.ts b/src/scale.ts index a9bfd382f19..fe4f8f3ee41 100644 --- a/src/scale.ts +++ b/src/scale.ts @@ -415,6 +415,15 @@ export interface ScaleConfig { * Reverse x-scale by default (useful for right-to-left charts). */ xReverse?: boolean | ES; + + /** + * Default for ensuring that a zero baseline values for [`quantize`](https://vega.github.io/vega-lite/docs/scale.html#quantize) scale. + * + * + * __Default value:__ `true` + * + */ + zero?: boolean; } export const defaultScaleConfig: ScaleConfig = {