| | @@ -2,7 +2,7 @@ |
| 2 | 2 | "$schema": "http://json-schema.org/draft-06/schema#", |
| 3 | 3 | "$ref": "#/definitions/TopLevel", |
| 4 | 4 | "definitions": { |
| 5 | | - "TopLevel": { |
| 5 | + "TopLevelFacetedUnitSpec": { |
| 6 | 6 | "type": "object", |
| 7 | 7 | "additionalProperties": false, |
| 8 | 8 | "properties": { |
| | @@ -75,725 +75,526 @@ |
| 75 | 75 | "width": { |
| 76 | 76 | "type": "number", |
| 77 | 77 | "description": "The width of a visualization.\n\n__Default value:__ This will be determined by the following rules:\n\n- If a view's [`autosize`](size.html#autosize) type is `\"fit\"` or its x-channel has a\n[continuous scale](scale.html#continuous), the width will be the value of\n[`config.view.width`](spec.html#config).\n- For x-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric\nvalue or unspecified, the width is [determined by the range step, paddings, and the\ncardinality of the field mapped to x-channel](scale.html#band). Otherwise, if the\n`rangeStep` is `null`, the width will be the value of\n[`config.view.width`](spec.html#config).\n- If no field is mapped to `x` channel, the `width` will be the value of\n[`config.scale.textXRangeStep`](size.html#default-width-and-height) for `text` mark and\nthe value of `rangeStep` for other marks.\n\n__Note:__ For plots with [`row` and `column` channels](encoding.html#facet), this\nrepresents the width of a single view.\n\n__See also:__ The documentation for [width and height](size.html) contains more examples." |
| 78 | + } |
| 79 | + }, |
| 80 | + "required": [ |
| 81 | + "encoding", |
| 82 | + "mark" |
| 83 | + ], |
| 84 | + "title": "TopLevelFacetedUnitSpec" |
| 85 | + }, |
| 86 | + "TopLevelLayerSpec": { |
| 87 | + "type": "object", |
| 88 | + "additionalProperties": false, |
| 89 | + "properties": { |
| 90 | + "$schema": { |
| 91 | + "type": "string", |
| 92 | + "description": "URL to [JSON schema](http://json-schema.org/) for a Vega-Lite specification. Unless you\nhave a reason to change this, use `https://vega.github.io/schema/vega-lite/v2.json`.\nSetting the `$schema` property allows automatic validation and autocomplete in editors\nthat support JSON schema." |
| 93 | + }, |
| 94 | + "autosize": { |
| 95 | + "$ref": "#/definitions/Autosize", |
| 96 | + "description": "Sets how the visualization size should be determined. If a string, should be one of\n`\"pad\"`, `\"fit\"` or `\"none\"`.\nObject values can additionally specify parameters for content sizing and automatic\nresizing.\n`\"fit\"` is only supported for single and layered views that don't use `rangeStep`.\n\n__Default value__: `pad`" |
| 97 | + }, |
| 98 | + "background": { |
| 99 | + "type": "string", |
| 100 | + "description": "CSS color property to use as the background of visualization.\n\n__Default value:__ none (transparent)" |
| 101 | + }, |
| 102 | + "config": { |
| 103 | + "$ref": "#/definitions/Config", |
| 104 | + "description": "Vega-Lite configuration object. This property can only be defined at the top-level of a\nspecification." |
| 105 | + }, |
| 106 | + "data": { |
| 107 | + "$ref": "#/definitions/Data", |
| 108 | + "description": "An object describing the data source" |
| 109 | + }, |
| 110 | + "description": { |
| 111 | + "type": "string", |
| 112 | + "description": "Description of this mark for commenting purpose." |
| 113 | + }, |
| 114 | + "height": { |
| 115 | + "type": "number", |
| 116 | + "description": "The height of a visualization.\n\n__Default value:__\n- If a view's [`autosize`](size.html#autosize) type is `\"fit\"` or its y-channel has a\n[continuous scale](scale.html#continuous), the height will be the value of\n[`config.view.height`](spec.html#config).\n- For y-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric\nvalue or unspecified, the height is [determined by the range step, paddings, and the\ncardinality of the field mapped to y-channel](scale.html#band). Otherwise, if the\n`rangeStep` is `null`, the height will be the value of\n[`config.view.height`](spec.html#config).\n- If no field is mapped to `y` channel, the `height` will be the value of `rangeStep`.\n\n__Note__: For plots with [`row` and `column` channels](encoding.html#facet), this\nrepresents the height of a single view.\n\n__See also:__ The documentation for [width and height](size.html) contains more examples." |
| 78 | 117 | }, |
| 79 | 118 | "layer": { |
| 80 | 119 | "type": "array", |
| 81 | 120 | "items": { |
| 82 | | - "$ref": "#/definitions/LayerSpec" |
| 121 | + "$ref": "#/definitions/SpecElement" |
| 83 | 122 | }, |
| 84 | 123 | "description": "Layer or single view specifications to be layered.\n\n__Note__: Specifications inside `layer` cannot use `row` and `column` channels as\nlayering facet specifications is not allowed." |
| 85 | 124 | }, |
| 86 | | - "resolve": { |
| 87 | | - "$ref": "#/definitions/Resolve", |
| 88 | | - "description": "Scale, axis, and legend resolutions for layers.\n\nScale, axis, and legend resolutions for facets.\n\nScale and legend resolutions for repeated charts.\n\nScale, axis, and legend resolutions for vertically concatenated charts.\n\nScale, axis, and legend resolutions for horizontally concatenated charts." |
| 89 | | - }, |
| 90 | | - "facet": { |
| 91 | | - "$ref": "#/definitions/FacetMapping", |
| 92 | | - "description": "An object that describes mappings between `row` and `column` channels and their field\ndefinitions." |
| 125 | + "name": { |
| 126 | + "type": "string", |
| 127 | + "description": "Name of the visualization for later reference." |
| 93 | 128 | }, |
| 94 | | - "spec": { |
| 95 | | - "$ref": "#/definitions/Spec", |
| 96 | | - "description": "A specification of the view that gets faceted." |
| 129 | + "padding": { |
| 130 | + "$ref": "#/definitions/Padding", |
| 131 | + "description": "The default visualization padding, in pixels, from the edge of the visualization canvas\nto the data rectangle. If a number, specifies padding for all sides.\nIf an object, the value should have the format `{\"left\": 5, \"top\": 5, \"right\": 5,\n\"bottom\": 5}` to specify padding for each side of the visualization.\n\n__Default value__: `5`" |
| 97 | 132 | }, |
| 98 | | - "repeat": { |
| 99 | | - "$ref": "#/definitions/Repeat", |
| 100 | | - "description": "An object that describes what fields should be repeated into views that are laid out as a\n`row` or `column`." |
| 133 | + "resolve": { |
| 134 | + "$ref": "#/definitions/Resolve", |
| 135 | + "description": "Scale, axis, and legend resolutions for layers." |
| 101 | 136 | }, |
| 102 | | - "vconcat": { |
| 103 | | - "type": "array", |
| 104 | | - "items": { |
| 105 | | - "$ref": "#/definitions/Spec" |
| 106 | | - }, |
| 107 | | - "description": "A list of views that should be concatenated and put into a column." |
| 137 | + "title": { |
| 138 | + "$ref": "#/definitions/Title", |
| 139 | + "description": "Title for the plot." |
| 108 | 140 | }, |
| 109 | | - "hconcat": { |
| 141 | + "transform": { |
| 110 | 142 | "type": "array", |
| 111 | 143 | "items": { |
| 112 | | - "$ref": "#/definitions/Spec" |
| 144 | + "$ref": "#/definitions/Transform" |
| 113 | 145 | }, |
| 114 | | - "description": "A list of views that should be concatenated and put into a row." |
| 115 | | - } |
| 116 | | - }, |
| 117 | | - "required": [], |
| 118 | | - "title": "TopLevel" |
| 119 | | - }, |
| 120 | | - "AutoSizeParams": { |
| 121 | | - "type": "object", |
| 122 | | - "additionalProperties": false, |
| 123 | | - "properties": { |
| 124 | | - "contains": { |
| 125 | | - "$ref": "#/definitions/Contains", |
| 126 | | - "description": "Determines how size calculation should be performed, one of `\"content\"` or `\"padding\"`.\nThe default setting (`\"content\"`) interprets the width and height settings as the data\nrectangle (plotting) dimensions, to which padding is then added. In contrast, the\n`\"padding\"` setting includes the padding within the view size calculations, such that the\nwidth and height settings indicate the **total** intended size of the view.\n\n__Default value__: `\"content\"`" |
| 127 | | - }, |
| 128 | | - "resize": { |
| 129 | | - "type": "boolean", |
| 130 | | - "description": "A boolean flag indicating if autosize layout should be re-calculated on every view\nupdate.\n\n__Default value__: `false`" |
| 146 | + "description": "An array of data transformations such as filter and new field calculation." |
| 131 | 147 | }, |
| 132 | | - "type": { |
| 133 | | - "$ref": "#/definitions/AutosizeType", |
| 134 | | - "description": "The sizing format type. One of `\"pad\"`, `\"fit\"` or `\"none\"`. See the [autosize\ntype](https://vega.github.io/vega-lite/docs/size.html#autosize) documentation for\ndescriptions of each.\n\n__Default value__: `\"pad\"`" |
| 148 | + "width": { |
| 149 | + "type": "number", |
| 150 | + "description": "The width of a visualization.\n\n__Default value:__ This will be determined by the following rules:\n\n- If a view's [`autosize`](size.html#autosize) type is `\"fit\"` or its x-channel has a\n[continuous scale](scale.html#continuous), the width will be the value of\n[`config.view.width`](spec.html#config).\n- For x-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric\nvalue or unspecified, the width is [determined by the range step, paddings, and the\ncardinality of the field mapped to x-channel](scale.html#band). Otherwise, if the\n`rangeStep` is `null`, the width will be the value of\n[`config.view.width`](spec.html#config).\n- If no field is mapped to `x` channel, the `width` will be the value of\n[`config.scale.textXRangeStep`](size.html#default-width-and-height) for `text` mark and\nthe value of `rangeStep` for other marks.\n\n__Note:__ For plots with [`row` and `column` channels](encoding.html#facet), this\nrepresents the width of a single view.\n\n__See also:__ The documentation for [width and height](size.html) contains more examples." |
| 135 | 151 | } |
| 136 | 152 | }, |
| 137 | | - "required": [], |
| 138 | | - "title": "AutoSizeParams" |
| 153 | + "required": [ |
| 154 | + "layer" |
| 155 | + ], |
| 156 | + "title": "TopLevelLayerSpec" |
| 139 | 157 | }, |
| 140 | | - "Config": { |
| 158 | + "TopLevelFacetSpec": { |
| 141 | 159 | "type": "object", |
| 142 | 160 | "additionalProperties": false, |
| 143 | 161 | "properties": { |
| 144 | | - "area": { |
| 145 | | - "$ref": "#/definitions/MarkConfig", |
| 146 | | - "description": "Area-Specific Config" |
| 162 | + "$schema": { |
| 163 | + "type": "string", |
| 164 | + "description": "URL to [JSON schema](http://json-schema.org/) for a Vega-Lite specification. Unless you\nhave a reason to change this, use `https://vega.github.io/schema/vega-lite/v2.json`.\nSetting the `$schema` property allows automatic validation and autocomplete in editors\nthat support JSON schema." |
| 147 | 165 | }, |
| 148 | 166 | "autosize": { |
| 149 | 167 | "$ref": "#/definitions/Autosize", |
| 150 | 168 | "description": "Sets how the visualization size should be determined. If a string, should be one of\n`\"pad\"`, `\"fit\"` or `\"none\"`.\nObject values can additionally specify parameters for content sizing and automatic\nresizing.\n`\"fit\"` is only supported for single and layered views that don't use `rangeStep`.\n\n__Default value__: `pad`" |
| 151 | 169 | }, |
| 152 | | - "axis": { |
| 153 | | - "$ref": "#/definitions/AxisConfig", |
| 154 | | - "description": "Axis configuration, which determines default properties for all `x` and `y`\n[axes](axis.html). For a full list of axis configuration options, please see the\n[corresponding section of the axis documentation](axis.html#config)." |
| 155 | | - }, |
| 156 | | - "axisBand": { |
| 157 | | - "$ref": "#/definitions/VGAxisConfig", |
| 158 | | - "description": "Specific axis config for axes with \"band\" scales." |
| 170 | + "background": { |
| 171 | + "type": "string", |
| 172 | + "description": "CSS color property to use as the background of visualization.\n\n__Default value:__ none (transparent)" |
| 159 | 173 | }, |
| 160 | | - "axisBottom": { |
| 161 | | - "$ref": "#/definitions/VGAxisConfig", |
| 162 | | - "description": "Specific axis config for x-axis along the bottom edge of the chart." |
| 174 | + "config": { |
| 175 | + "$ref": "#/definitions/Config", |
| 176 | + "description": "Vega-Lite configuration object. This property can only be defined at the top-level of a\nspecification." |
| 163 | 177 | }, |
| 164 | | - "axisLeft": { |
| 165 | | - "$ref": "#/definitions/VGAxisConfig", |
| 166 | | - "description": "Specific axis config for y-axis along the left edge of the chart." |
| 178 | + "data": { |
| 179 | + "$ref": "#/definitions/Data", |
| 180 | + "description": "An object describing the data source" |
| 167 | 181 | }, |
| 168 | | - "axisRight": { |
| 169 | | - "$ref": "#/definitions/VGAxisConfig", |
| 170 | | - "description": "Specific axis config for y-axis along the right edge of the chart." |
| 182 | + "description": { |
| 183 | + "type": "string", |
| 184 | + "description": "Description of this mark for commenting purpose." |
| 171 | 185 | }, |
| 172 | | - "axisTop": { |
| 173 | | - "$ref": "#/definitions/VGAxisConfig", |
| 174 | | - "description": "Specific axis config for x-axis along the top edge of the chart." |
| 186 | + "facet": { |
| 187 | + "$ref": "#/definitions/FacetMapping", |
| 188 | + "description": "An object that describes mappings between `row` and `column` channels and their field\ndefinitions." |
| 175 | 189 | }, |
| 176 | | - "axisX": { |
| 177 | | - "$ref": "#/definitions/VGAxisConfig", |
| 178 | | - "description": "X-axis specific config." |
| 190 | + "name": { |
| 191 | + "type": "string", |
| 192 | + "description": "Name of the visualization for later reference." |
| 179 | 193 | }, |
| 180 | | - "axisY": { |
| 181 | | - "$ref": "#/definitions/VGAxisConfig", |
| 182 | | - "description": "Y-axis specific config." |
| 194 | + "padding": { |
| 195 | + "$ref": "#/definitions/Padding", |
| 196 | + "description": "The default visualization padding, in pixels, from the edge of the visualization canvas\nto the data rectangle. If a number, specifies padding for all sides.\nIf an object, the value should have the format `{\"left\": 5, \"top\": 5, \"right\": 5,\n\"bottom\": 5}` to specify padding for each side of the visualization.\n\n__Default value__: `5`" |
| 183 | 197 | }, |
| 184 | | - "background": { |
| 185 | | - "type": "string", |
| 186 | | - "description": "CSS color property to use as the background of visualization.\n\n__Default value:__ none (transparent)" |
| 198 | + "resolve": { |
| 199 | + "$ref": "#/definitions/Resolve", |
| 200 | + "description": "Scale, axis, and legend resolutions for facets." |
| 187 | 201 | }, |
| 188 | | - "bar": { |
| 189 | | - "$ref": "#/definitions/BarConfig", |
| 190 | | - "description": "Bar-Specific Config" |
| 202 | + "spec": { |
| 203 | + "$ref": "#/definitions/SpecElement", |
| 204 | + "description": "A specification of the view that gets faceted." |
| 191 | 205 | }, |
| 192 | | - "circle": { |
| 193 | | - "$ref": "#/definitions/MarkConfig", |
| 194 | | - "description": "Circle-Specific Config" |
| 206 | + "title": { |
| 207 | + "$ref": "#/definitions/Title", |
| 208 | + "description": "Title for the plot." |
| 195 | 209 | }, |
| 196 | | - "countTitle": { |
| 210 | + "transform": { |
| 211 | + "type": "array", |
| 212 | + "items": { |
| 213 | + "$ref": "#/definitions/Transform" |
| 214 | + }, |
| 215 | + "description": "An array of data transformations such as filter and new field calculation." |
| 216 | + } |
| 217 | + }, |
| 218 | + "required": [ |
| 219 | + "facet", |
| 220 | + "spec" |
| 221 | + ], |
| 222 | + "title": "TopLevelFacetSpec" |
| 223 | + }, |
| 224 | + "TopLevelRepeatSpec": { |
| 225 | + "type": "object", |
| 226 | + "additionalProperties": false, |
| 227 | + "properties": { |
| 228 | + "$schema": { |
| 197 | 229 | "type": "string", |
| 198 | | - "description": "Default axis and legend title for count fields.\n\n__Default value:__ `'Number of Records'`." |
| 199 | | - }, |
| 200 | | - "fieldTitle": { |
| 201 | | - "$ref": "#/definitions/FieldTitle", |
| 202 | | - "description": "Defines how Vega-Lite generates title for fields. There are three possible styles:\n\n- `\"verbal\"` (Default) - displays function in a verbal style (e.g., \"Sum of field\",\n\"Year-month of date\", \"field (binned)\").\n- `\"function\"` - displays function using parentheses and capitalized texts (e.g.,\n\"SUM(field)\", \"YEARMONTH(date)\", \"BIN(field)\").\n- `\"plain\"` - displays only the field name without functions (e.g., \"field\", \"date\",\n\"field\")." |
| 230 | + "description": "URL to [JSON schema](http://json-schema.org/) for a Vega-Lite specification. Unless you\nhave a reason to change this, use `https://vega.github.io/schema/vega-lite/v2.json`.\nSetting the `$schema` property allows automatic validation and autocomplete in editors\nthat support JSON schema." |
| 203 | 231 | }, |
| 204 | | - "geoshape": { |
| 205 | | - "$ref": "#/definitions/MarkConfig", |
| 206 | | - "description": "Geoshape-Specific Config" |
| 232 | + "autosize": { |
| 233 | + "$ref": "#/definitions/Autosize", |
| 234 | + "description": "Sets how the visualization size should be determined. If a string, should be one of\n`\"pad\"`, `\"fit\"` or `\"none\"`.\nObject values can additionally specify parameters for content sizing and automatic\nresizing.\n`\"fit\"` is only supported for single and layered views that don't use `rangeStep`.\n\n__Default value__: `pad`" |
| 207 | 235 | }, |
| 208 | | - "invalidValues": { |
| 209 | | - "$ref": "#/definitions/InvalidValues", |
| 210 | | - "description": "Defines how Vega-Lite should handle invalid values (`null` and `NaN`).\n- If set to `\"filter\"` (default), all data items with null values are filtered.\n- If `null`, all data items are included. In this case, invalid values will be\ninterpreted as zeroes." |
| 236 | + "background": { |
| 237 | + "type": "string", |
| 238 | + "description": "CSS color property to use as the background of visualization.\n\n__Default value:__ none (transparent)" |
| 211 | 239 | }, |
| 212 | | - "legend": { |
| 213 | | - "$ref": "#/definitions/LegendConfig", |
| 214 | | - "description": "Legend configuration, which determines default properties for all [legends](legend.html).\nFor a full list of legend configuration options, please see the [corresponding section of\nin the legend documentation](legend.html#config)." |
| 240 | + "config": { |
| 241 | + "$ref": "#/definitions/Config", |
| 242 | + "description": "Vega-Lite configuration object. This property can only be defined at the top-level of a\nspecification." |
| 215 | 243 | }, |
| 216 | | - "line": { |
| 217 | | - "$ref": "#/definitions/MarkConfig", |
| 218 | | - "description": "Line-Specific Config" |
| 244 | + "data": { |
| 245 | + "$ref": "#/definitions/Data", |
| 246 | + "description": "An object describing the data source" |
| 219 | 247 | }, |
| 220 | | - "mark": { |
| 221 | | - "$ref": "#/definitions/MarkConfig", |
| 222 | | - "description": "Mark Config" |
| 248 | + "description": { |
| 249 | + "type": "string", |
| 250 | + "description": "Description of this mark for commenting purpose." |
| 223 | 251 | }, |
| 224 | | - "numberFormat": { |
| 252 | + "name": { |
| 225 | 253 | "type": "string", |
| 226 | | - "description": "D3 Number format for axis labels and text tables. For example \"s\" for SI units. Use [D3's\nnumber format pattern](https://github.com/d3/d3-format#locale_format)." |
| 254 | + "description": "Name of the visualization for later reference." |
| 227 | 255 | }, |
| 228 | 256 | "padding": { |
| 229 | 257 | "$ref": "#/definitions/Padding", |
| 230 | 258 | "description": "The default visualization padding, in pixels, from the edge of the visualization canvas\nto the data rectangle. If a number, specifies padding for all sides.\nIf an object, the value should have the format `{\"left\": 5, \"top\": 5, \"right\": 5,\n\"bottom\": 5}` to specify padding for each side of the visualization.\n\n__Default value__: `5`" |
| 231 | 259 | }, |
| 232 | | - "point": { |
| 233 | | - "$ref": "#/definitions/MarkConfig", |
| 234 | | - "description": "Point-Specific Config" |
| 235 | | - }, |
| 236 | | - "projection": { |
| 237 | | - "$ref": "#/definitions/ProjectionConfig", |
| 238 | | - "description": "Projection configuration, which determines default properties for all\n[projections](projection.html). For a full list of projection configuration options,\nplease see the [corresponding section of the projection\ndocumentation](projection.html#config)." |
| 239 | | - }, |
| 240 | | - "range": { |
| 241 | | - "$ref": "#/definitions/RangeConfig", |
| 242 | | - "description": "An object hash that defines default range arrays or schemes for using with scales.\nFor a full list of scale range configuration options, please see the [corresponding\nsection of the scale documentation](scale.html#config)." |
| 243 | | - }, |
| 244 | | - "rect": { |
| 245 | | - "$ref": "#/definitions/MarkConfig", |
| 246 | | - "description": "Rect-Specific Config" |
| 260 | + "repeat": { |
| 261 | + "$ref": "#/definitions/Repeat", |
| 262 | + "description": "An object that describes what fields should be repeated into views that are laid out as a\n`row` or `column`." |
| 247 | 263 | }, |
| 248 | | - "rule": { |
| 249 | | - "$ref": "#/definitions/MarkConfig", |
| 250 | | - "description": "Rule-Specific Config" |
| 264 | + "resolve": { |
| 265 | + "$ref": "#/definitions/Resolve", |
| 266 | + "description": "Scale and legend resolutions for repeated charts." |
| 251 | 267 | }, |
| 252 | | - "scale": { |
| 253 | | - "$ref": "#/definitions/ScaleConfig", |
| 254 | | - "description": "Scale configuration determines default properties for all [scales](scale.html). For a\nfull list of scale configuration options, please see the [corresponding section of the\nscale documentation](scale.html#config)." |
| 268 | + "spec": { |
| 269 | + "$ref": "#/definitions/Spec" |
| 255 | 270 | }, |
| 256 | | - "selection": { |
| 257 | | - "$ref": "#/definitions/SelectionConfig", |
| 258 | | - "description": "An object hash for defining default properties for each type of selections." |
| 271 | + "title": { |
| 272 | + "$ref": "#/definitions/Title", |
| 273 | + "description": "Title for the plot." |
| 259 | 274 | }, |
| 260 | | - "square": { |
| 261 | | - "$ref": "#/definitions/MarkConfig", |
| 262 | | - "description": "Square-Specific Config" |
| 263 | | - }, |
| 264 | | - "stack": { |
| 265 | | - "$ref": "#/definitions/StackOffset", |
| 266 | | - "description": "Default stack offset for stackable mark." |
| 267 | | - }, |
| 268 | | - "style": { |
| 269 | | - "type": "object", |
| 270 | | - "additionalProperties": { |
| 271 | | - "$ref": "#/definitions/VGMarkConfig" |
| 275 | + "transform": { |
| 276 | + "type": "array", |
| 277 | + "items": { |
| 278 | + "$ref": "#/definitions/Transform" |
| 272 | 279 | }, |
| 273 | | - "description": "An object hash that defines key-value mappings to determine default properties for marks with a given [style](mark.html#mark-def). The keys represent styles names; the value are valid [mark configuration objects](mark.html#config). " |
| 274 | | - }, |
| 275 | | - "text": { |
| 276 | | - "$ref": "#/definitions/TextConfig", |
| 277 | | - "description": "Text-Specific Config" |
| 278 | | - }, |
| 279 | | - "tick": { |
| 280 | | - "$ref": "#/definitions/TickConfig", |
| 281 | | - "description": "Tick-Specific Config" |
| 282 | | - }, |
| 283 | | - "timeFormat": { |
| 284 | | - "type": "string", |
| 285 | | - "description": "Default datetime format for axis and legend labels. The format can be set directly on\neach axis and legend. Use [D3's time format\npattern](https://github.com/d3/d3-time-format#locale_format).\n\n__Default value:__ `'%b %d, %Y'`." |
| 286 | | - }, |
| 287 | | - "title": { |
| 288 | | - "$ref": "#/definitions/VGTitleConfig", |
| 289 | | - "description": "Title configuration, which determines default properties for all [titles](title.html).\nFor a full list of title configuration options, please see the [corresponding section of\nthe title documentation](title.html#config)." |
| 290 | | - }, |
| 291 | | - "view": { |
| 292 | | - "$ref": "#/definitions/ViewConfig", |
| 293 | | - "description": "Default properties for [single view plots](spec.html#single)." |
| 280 | + "description": "An array of data transformations such as filter and new field calculation." |
| 294 | 281 | } |
| 295 | 282 | }, |
| 296 | | - "required": [], |
| 297 | | - "title": "Config", |
| 298 | | - "description": "Vega-Lite configuration object. This property can only be defined at the top-level of a specification." |
| 283 | + "required": [ |
| 284 | + "repeat", |
| 285 | + "spec" |
| 286 | + ], |
| 287 | + "title": "TopLevelRepeatSpec" |
| 299 | 288 | }, |
| 300 | | - "MarkConfig": { |
| 289 | + "TopLevelVConcatSpec": { |
| 301 | 290 | "type": "object", |
| 302 | 291 | "additionalProperties": false, |
| 303 | 292 | "properties": { |
| 304 | | - "align": { |
| 305 | | - "$ref": "#/definitions/HorizontalAlign", |
| 306 | | - "description": "The horizontal alignment of the text. One of `\"left\"`, `\"right\"`, `\"center\"`." |
| 307 | | - }, |
| 308 | | - "angle": { |
| 309 | | - "type": "number", |
| 310 | | - "minimum": 0, |
| 311 | | - "maximum": 360, |
| 312 | | - "description": "The rotation angle of the text, in degrees." |
| 313 | | - }, |
| 314 | | - "baseline": { |
| 315 | | - "$ref": "#/definitions/VerticalAlign", |
| 316 | | - "description": "The vertical alignment of the text. One of `\"top\"`, `\"middle\"`, `\"bottom\"`.\n\n__Default value:__ `\"middle\"`" |
| 317 | | - }, |
| 318 | | - "color": { |
| 293 | + "$schema": { |
| 319 | 294 | "type": "string", |
| 320 | | - "description": "Default color. Note that `fill` and `stroke` have higher precedence than `color` and\nwill override `color`.\n\n__Default value:__ <span style=\"color: #4682b4;\">■</span> `\"#4682b4\"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 321 | | - }, |
| 322 | | - "cursor": { |
| 323 | | - "$ref": "#/definitions/Cursor", |
| 324 | | - "description": "The mouse cursor used over the mark. Any valid [CSS cursor\ntype](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used." |
| 325 | | - }, |
| 326 | | - "dx": { |
| 327 | | - "type": "number", |
| 328 | | - "description": "The horizontal offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 295 | + "description": "URL to [JSON schema](http://json-schema.org/) for a Vega-Lite specification. Unless you\nhave a reason to change this, use `https://vega.github.io/schema/vega-lite/v2.json`.\nSetting the `$schema` property allows automatic validation and autocomplete in editors\nthat support JSON schema." |
| 329 | 296 | }, |
| 330 | | - "dy": { |
| 331 | | - "type": "number", |
| 332 | | - "description": "The vertical offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 297 | + "autosize": { |
| 298 | + "$ref": "#/definitions/Autosize", |
| 299 | + "description": "Sets how the visualization size should be determined. If a string, should be one of\n`\"pad\"`, `\"fit\"` or `\"none\"`.\nObject values can additionally specify parameters for content sizing and automatic\nresizing.\n`\"fit\"` is only supported for single and layered views that don't use `rangeStep`.\n\n__Default value__: `pad`" |
| 333 | 300 | }, |
| 334 | | - "fill": { |
| 301 | + "background": { |
| 335 | 302 | "type": "string", |
| 336 | | - "description": "Default Fill Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 303 | + "description": "CSS color property to use as the background of visualization.\n\n__Default value:__ none (transparent)" |
| 337 | 304 | }, |
| 338 | | - "filled": { |
| 339 | | - "type": "boolean", |
| 340 | | - "description": "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 305 | + "config": { |
| 306 | + "$ref": "#/definitions/Config", |
| 307 | + "description": "Vega-Lite configuration object. This property can only be defined at the top-level of a\nspecification." |
| 341 | 308 | }, |
| 342 | | - "fillOpacity": { |
| 343 | | - "type": "number", |
| 344 | | - "minimum": 0, |
| 345 | | - "maximum": 1, |
| 346 | | - "description": "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 309 | + "data": { |
| 310 | + "$ref": "#/definitions/Data", |
| 311 | + "description": "An object describing the data source" |
| 347 | 312 | }, |
| 348 | | - "font": { |
| 313 | + "description": { |
| 349 | 314 | "type": "string", |
| 350 | | - "description": "The typeface to set the text in (e.g., `\"Helvetica Neue\"`)." |
| 351 | | - }, |
| 352 | | - "fontSize": { |
| 353 | | - "type": "number", |
| 354 | | - "minimum": 0, |
| 355 | | - "description": "The font size, in pixels." |
| 356 | | - }, |
| 357 | | - "fontStyle": { |
| 358 | | - "$ref": "#/definitions/FontStyle", |
| 359 | | - "description": "The font style (e.g., `\"italic\"`)." |
| 360 | | - }, |
| 361 | | - "fontWeight": { |
| 362 | | - "$ref": "#/definitions/FontWeightUnion", |
| 363 | | - "description": "The font weight (e.g., `\"bold\"`)." |
| 315 | + "description": "Description of this mark for commenting purpose." |
| 364 | 316 | }, |
| 365 | | - "href": { |
| 317 | + "name": { |
| 366 | 318 | "type": "string", |
| 367 | | - "description": "A URL to load upon mouse click. If defined, the mark acts as a hyperlink." |
| 368 | | - }, |
| 369 | | - "interpolate": { |
| 370 | | - "$ref": "#/definitions/Interpolate", |
| 371 | | - "description": "The line interpolation method to use for line and area marks. One of the following:\n- `\"linear\"`: piecewise linear segments, as in a polyline.\n- `\"linear-closed\"`: close the linear segments to form a polygon.\n- `\"step\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"step-before\"`: alternate between vertical and horizontal segments, as in a step\nfunction.\n- `\"step-after\"`: alternate between horizontal and vertical segments, as in a step\nfunction.\n- `\"basis\"`: a B-spline, with control point duplication on the ends.\n- `\"basis-open\"`: an open B-spline; may not intersect the start or end.\n- `\"basis-closed\"`: a closed B-spline, as in a loop.\n- `\"cardinal\"`: a Cardinal spline, with control point duplication on the ends.\n- `\"cardinal-open\"`: an open Cardinal spline; may not intersect the start or end, but\nwill intersect other control points.\n- `\"cardinal-closed\"`: a closed Cardinal spline, as in a loop.\n- `\"bundle\"`: equivalent to basis, except the tension parameter is used to straighten the\nspline.\n- `\"monotone\"`: cubic interpolation that preserves monotonicity in y." |
| 372 | | - }, |
| 373 | | - "limit": { |
| 374 | | - "type": "number", |
| 375 | | - "description": "The maximum length of the text mark in pixels (default 0, indicating no limit). The text\nvalue will be automatically truncated if the rendered size exceeds the limit." |
| 376 | | - }, |
| 377 | | - "opacity": { |
| 378 | | - "type": "number", |
| 379 | | - "minimum": 0, |
| 380 | | - "maximum": 1, |
| 381 | | - "description": "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or\n`square` marks or layered `bar` charts and `1` otherwise." |
| 382 | | - }, |
| 383 | | - "orient": { |
| 384 | | - "$ref": "#/definitions/Orient", |
| 385 | | - "description": "The orientation of a non-stacked bar, tick, area, and line charts.\nThe value is either horizontal (default) or vertical.\n- For bar, rule and tick, this determines whether the size of the bar and tick\nshould be applied to x or y dimension.\n- For area, this property determines the orient property of the Vega output.\n- For line, this property determines the sort order of the points in the line\nif `config.sortLineBy` is not specified.\nFor stacked charts, this is always determined by the orientation of the stack;\ntherefore explicitly specified value will be ignored." |
| 386 | | - }, |
| 387 | | - "radius": { |
| 388 | | - "type": "number", |
| 389 | | - "minimum": 0, |
| 390 | | - "description": "Polar coordinate radial offset, in pixels, of the text label from the origin determined\nby the `x` and `y` properties." |
| 319 | + "description": "Name of the visualization for later reference." |
| 391 | 320 | }, |
| 392 | | - "shape": { |
| 393 | | - "type": "string", |
| 394 | | - "description": "The default symbol shape to use. One of: `\"circle\"` (default), `\"square\"`, `\"cross\"`,\n`\"diamond\"`, `\"triangle-up\"`, or `\"triangle-down\"`, or a custom SVG path.\n\n__Default value:__ `\"circle\"`" |
| 321 | + "padding": { |
| 322 | + "$ref": "#/definitions/Padding", |
| 323 | + "description": "The default visualization padding, in pixels, from the edge of the visualization canvas\nto the data rectangle. If a number, specifies padding for all sides.\nIf an object, the value should have the format `{\"left\": 5, \"top\": 5, \"right\": 5,\n\"bottom\": 5}` to specify padding for each side of the visualization.\n\n__Default value__: `5`" |
| 395 | 324 | }, |
| 396 | | - "size": { |
| 397 | | - "type": "number", |
| 398 | | - "minimum": 0, |
| 399 | | - "description": "The pixel area each the point/circle/square.\nFor example: in the case of circles, the radius is determined in part by the square root\nof the size value.\n\n__Default value:__ `30`" |
| 325 | + "resolve": { |
| 326 | + "$ref": "#/definitions/Resolve", |
| 327 | + "description": "Scale, axis, and legend resolutions for vertically concatenated charts." |
| 400 | 328 | }, |
| 401 | | - "stroke": { |
| 402 | | - "type": "string", |
| 403 | | - "description": "Default Stroke Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 329 | + "title": { |
| 330 | + "$ref": "#/definitions/Title", |
| 331 | + "description": "Title for the plot." |
| 404 | 332 | }, |
| 405 | | - "strokeDash": { |
| 333 | + "transform": { |
| 406 | 334 | "type": "array", |
| 407 | 335 | "items": { |
| 408 | | - "type": "number" |
| 336 | + "$ref": "#/definitions/Transform" |
| 409 | 337 | }, |
| 410 | | - "description": "An array of alternating stroke, space lengths for creating dashed or dotted lines." |
| 411 | | - }, |
| 412 | | - "strokeDashOffset": { |
| 413 | | - "type": "number", |
| 414 | | - "description": "The offset (in pixels) into which to begin drawing with the stroke dash array." |
| 415 | | - }, |
| 416 | | - "strokeOpacity": { |
| 417 | | - "type": "number", |
| 418 | | - "minimum": 0, |
| 419 | | - "maximum": 1, |
| 420 | | - "description": "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 421 | | - }, |
| 422 | | - "strokeWidth": { |
| 423 | | - "type": "number", |
| 424 | | - "minimum": 0, |
| 425 | | - "description": "The stroke width, in pixels." |
| 426 | | - }, |
| 427 | | - "tension": { |
| 428 | | - "type": "number", |
| 429 | | - "minimum": 0, |
| 430 | | - "maximum": 1, |
| 431 | | - "description": "Depending on the interpolation type, sets the tension parameter (for line and area marks)." |
| 432 | | - }, |
| 433 | | - "text": { |
| 434 | | - "type": "string", |
| 435 | | - "description": "Placeholder text if the `text` channel is not specified" |
| 338 | + "description": "An array of data transformations such as filter and new field calculation." |
| 436 | 339 | }, |
| 437 | | - "theta": { |
| 438 | | - "type": "number", |
| 439 | | - "description": "Polar coordinate angle, in radians, of the text label from the origin determined by the\n`x` and `y` properties. Values for `theta` follow the same convention of `arc` mark\n`startAngle` and `endAngle` properties: angles are measured in radians, with `0`\nindicating \"north\"." |
| 340 | + "vconcat": { |
| 341 | + "type": "array", |
| 342 | + "items": { |
| 343 | + "$ref": "#/definitions/Spec" |
| 344 | + }, |
| 345 | + "description": "A list of views that should be concatenated and put into a column." |
| 440 | 346 | } |
| 441 | 347 | }, |
| 442 | | - "required": [], |
| 443 | | - "title": "MarkConfig", |
| 444 | | - "description": "Area-Specific Config \nCircle-Specific Config \nGeoshape-Specific Config \nLine-Specific Config \nMark Config \nPoint-Specific Config \nRect-Specific Config \nRule-Specific Config \nSquare-Specific Config " |
| 348 | + "required": [ |
| 349 | + "vconcat" |
| 350 | + ], |
| 351 | + "title": "TopLevelVConcatSpec" |
| 445 | 352 | }, |
| 446 | | - "AxisConfig": { |
| 353 | + "TopLevelHConcatSpec": { |
| 447 | 354 | "type": "object", |
| 448 | 355 | "additionalProperties": false, |
| 449 | 356 | "properties": { |
| 450 | | - "bandPosition": { |
| 451 | | - "type": "number", |
| 452 | | - "description": "An interpolation fraction indicating where, for `band` scales, axis ticks should be\npositioned. A value of `0` places ticks at the left edge of their bands. A value of `0.5`\nplaces ticks in the middle of their bands." |
| 357 | + "$schema": { |
| 358 | + "type": "string", |
| 359 | + "description": "URL to [JSON schema](http://json-schema.org/) for a Vega-Lite specification. Unless you\nhave a reason to change this, use `https://vega.github.io/schema/vega-lite/v2.json`.\nSetting the `$schema` property allows automatic validation and autocomplete in editors\nthat support JSON schema." |
| 453 | 360 | }, |
| 454 | | - "domain": { |
| 455 | | - "type": "boolean", |
| 456 | | - "description": "A boolean flag indicating if the domain (the axis baseline) should be included as part of\nthe axis.\n\n__Default value:__ `true`" |
| 361 | + "autosize": { |
| 362 | + "$ref": "#/definitions/Autosize", |
| 363 | + "description": "Sets how the visualization size should be determined. If a string, should be one of\n`\"pad\"`, `\"fit\"` or `\"none\"`.\nObject values can additionally specify parameters for content sizing and automatic\nresizing.\n`\"fit\"` is only supported for single and layered views that don't use `rangeStep`.\n\n__Default value__: `pad`" |
| 457 | 364 | }, |
| 458 | | - "domainColor": { |
| 365 | + "background": { |
| 459 | 366 | "type": "string", |
| 460 | | - "description": "Color of axis domain line.\n\n__Default value:__ (none, using Vega default)." |
| 367 | + "description": "CSS color property to use as the background of visualization.\n\n__Default value:__ none (transparent)" |
| 461 | 368 | }, |
| 462 | | - "domainWidth": { |
| 463 | | - "type": "number", |
| 464 | | - "description": "Stroke width of axis domain line\n\n__Default value:__ (none, using Vega default)." |
| 369 | + "config": { |
| 370 | + "$ref": "#/definitions/Config", |
| 371 | + "description": "Vega-Lite configuration object. This property can only be defined at the top-level of a\nspecification." |
| 465 | 372 | }, |
| 466 | | - "grid": { |
| 467 | | - "type": "boolean", |
| 468 | | - "description": "A boolean flag indicating if grid lines should be included as part of the axis\n\n__Default value:__ `true` for [continuous scales](scale.html#continuous) that are not\nbinned; otherwise, `false`." |
| 373 | + "data": { |
| 374 | + "$ref": "#/definitions/Data", |
| 375 | + "description": "An object describing the data source" |
| 469 | 376 | }, |
| 470 | | - "gridColor": { |
| 377 | + "description": { |
| 471 | 378 | "type": "string", |
| 472 | | - "description": "Color of gridlines." |
| 379 | + "description": "Description of this mark for commenting purpose." |
| 473 | 380 | }, |
| 474 | | - "gridDash": { |
| 381 | + "hconcat": { |
| 475 | 382 | "type": "array", |
| 476 | 383 | "items": { |
| 477 | | - "type": "number" |
| 384 | + "$ref": "#/definitions/Spec" |
| 478 | 385 | }, |
| 479 | | - "description": "The offset (in pixels) into which to begin drawing with the grid dash array." |
| 386 | + "description": "A list of views that should be concatenated and put into a row." |
| 480 | 387 | }, |
| 481 | | - "gridOpacity": { |
| 482 | | - "type": "number", |
| 483 | | - "minimum": 0, |
| 484 | | - "maximum": 1, |
| 485 | | - "description": "The stroke opacity of grid (value between [0,1])\n\n__Default value:__ (`1` by default)" |
| 388 | + "name": { |
| 389 | + "type": "string", |
| 390 | + "description": "Name of the visualization for later reference." |
| 486 | 391 | }, |
| 487 | | - "gridWidth": { |
| 488 | | - "type": "number", |
| 489 | | - "minimum": 0, |
| 490 | | - "description": "The grid width, in pixels." |
| 392 | + "padding": { |
| 393 | + "$ref": "#/definitions/Padding", |
| 394 | + "description": "The default visualization padding, in pixels, from the edge of the visualization canvas\nto the data rectangle. If a number, specifies padding for all sides.\nIf an object, the value should have the format `{\"left\": 5, \"top\": 5, \"right\": 5,\n\"bottom\": 5}` to specify padding for each side of the visualization.\n\n__Default value__: `5`" |
| 491 | 395 | }, |
| 492 | | - "labelAngle": { |
| 493 | | - "type": "number", |
| 494 | | - "minimum": -360, |
| 495 | | - "maximum": 360, |
| 496 | | - "description": "The rotation angle of the axis labels.\n\n__Default value:__ `-90` for nominal and ordinal fields; `0` otherwise." |
| 396 | + "resolve": { |
| 397 | + "$ref": "#/definitions/Resolve", |
| 398 | + "description": "Scale, axis, and legend resolutions for horizontally concatenated charts." |
| 497 | 399 | }, |
| 498 | | - "labelBound": { |
| 499 | | - "$ref": "#/definitions/Label", |
| 500 | | - "description": "Indicates if labels should be hidden if they exceed the axis range. If `false `(the\ndefault) no bounds overlap analysis is performed. If `true`, labels will be hidden if\nthey exceed the axis range by more than 1 pixel. If this property is a number, it\nspecifies the pixel tolerance: the maximum amount by which a label bounding box may\nexceed the axis range.\n\n__Default value:__ `false`." |
| 400 | + "title": { |
| 401 | + "$ref": "#/definitions/Title", |
| 402 | + "description": "Title for the plot." |
| 501 | 403 | }, |
| 502 | | - "labelColor": { |
| 503 | | - "type": "string", |
| 504 | | - "description": "The color of the tick label, can be in hex color code or regular color name." |
| 404 | + "transform": { |
| 405 | + "type": "array", |
| 406 | + "items": { |
| 407 | + "$ref": "#/definitions/Transform" |
| 408 | + }, |
| 409 | + "description": "An array of data transformations such as filter and new field calculation." |
| 410 | + } |
| 411 | + }, |
| 412 | + "required": [ |
| 413 | + "hconcat" |
| 414 | + ], |
| 415 | + "title": "TopLevelHConcatSpec" |
| 416 | + }, |
| 417 | + "AutoSizeParams": { |
| 418 | + "type": "object", |
| 419 | + "additionalProperties": false, |
| 420 | + "properties": { |
| 421 | + "contains": { |
| 422 | + "$ref": "#/definitions/Contains", |
| 423 | + "description": "Determines how size calculation should be performed, one of `\"content\"` or `\"padding\"`.\nThe default setting (`\"content\"`) interprets the width and height settings as the data\nrectangle (plotting) dimensions, to which padding is then added. In contrast, the\n`\"padding\"` setting includes the padding within the view size calculations, such that the\nwidth and height settings indicate the **total** intended size of the view.\n\n__Default value__: `\"content\"`" |
| 505 | 424 | }, |
| 506 | | - "labelFlush": { |
| 507 | | - "$ref": "#/definitions/Label", |
| 508 | | - "description": "Indicates if the first and last axis labels should be aligned flush with the scale range.\nFlush alignment for a horizontal axis will left-align the first label and right-align the\nlast label. For vertical axes, bottom and top text baselines are applied instead. If this\nproperty is a number, it also indicates the number of pixels by which to offset the first\nand last labels; for example, a value of 2 will flush-align the first and last labels and\nalso push them 2 pixels outward from the center of the axis. The additional adjustment\ncan sometimes help the labels better visually group with corresponding axis ticks.\n\n__Default value:__ `true` for axis of a continuous x-scale. Otherwise, `false`." |
| 425 | + "resize": { |
| 426 | + "type": "boolean", |
| 427 | + "description": "A boolean flag indicating if autosize layout should be re-calculated on every view\nupdate.\n\n__Default value__: `false`" |
| 509 | 428 | }, |
| 510 | | - "labelFont": { |
| 511 | | - "type": "string", |
| 512 | | - "description": "The font of the tick label." |
| 429 | + "type": { |
| 430 | + "$ref": "#/definitions/AutosizeType", |
| 431 | + "description": "The sizing format type. One of `\"pad\"`, `\"fit\"` or `\"none\"`. See the [autosize\ntype](https://vega.github.io/vega-lite/docs/size.html#autosize) documentation for\ndescriptions of each.\n\n__Default value__: `\"pad\"`" |
| 432 | + } |
| 433 | + }, |
| 434 | + "required": [], |
| 435 | + "title": "AutoSizeParams" |
| 436 | + }, |
| 437 | + "Config": { |
| 438 | + "type": "object", |
| 439 | + "additionalProperties": false, |
| 440 | + "properties": { |
| 441 | + "area": { |
| 442 | + "$ref": "#/definitions/MarkConfig", |
| 443 | + "description": "Area-Specific Config" |
| 513 | 444 | }, |
| 514 | | - "labelFontSize": { |
| 515 | | - "type": "number", |
| 516 | | - "minimum": 0, |
| 517 | | - "description": "The font size of the label, in pixels." |
| 445 | + "autosize": { |
| 446 | + "$ref": "#/definitions/Autosize", |
| 447 | + "description": "Sets how the visualization size should be determined. If a string, should be one of\n`\"pad\"`, `\"fit\"` or `\"none\"`.\nObject values can additionally specify parameters for content sizing and automatic\nresizing.\n`\"fit\"` is only supported for single and layered views that don't use `rangeStep`.\n\n__Default value__: `pad`" |
| 518 | 448 | }, |
| 519 | | - "labelLimit": { |
| 520 | | - "type": "number", |
| 521 | | - "description": "Maximum allowed pixel width of axis tick labels." |
| 449 | + "axis": { |
| 450 | + "$ref": "#/definitions/AxisConfig", |
| 451 | + "description": "Axis configuration, which determines default properties for all `x` and `y`\n[axes](axis.html). For a full list of axis configuration options, please see the\n[corresponding section of the axis documentation](axis.html#config)." |
| 522 | 452 | }, |
| 523 | | - "labelOverlap": { |
| 524 | | - "$ref": "#/definitions/LabelOverlapUnion", |
| 525 | | - "description": "The strategy to use for resolving overlap of axis labels. If `false` (the default), no\noverlap reduction is attempted. If set to `true` or `\"parity\"`, a strategy of removing\nevery other label is used (this works well for standard linear axes). If set to\n`\"greedy\"`, a linear scan of the labels is performed, removing any labels that overlaps\nwith the last visible label (this often works better for log-scaled axes).\n\n__Default value:__ `true` for non-nominal fields with non-log scales; `\"greedy\"` for log\nscales; otherwise `false`." |
| 453 | + "axisBand": { |
| 454 | + "$ref": "#/definitions/VGAxisConfig", |
| 455 | + "description": "Specific axis config for axes with \"band\" scales." |
| 526 | 456 | }, |
| 527 | | - "labelPadding": { |
| 528 | | - "type": "number", |
| 529 | | - "description": "The padding, in pixels, between axis and text labels." |
| 457 | + "axisBottom": { |
| 458 | + "$ref": "#/definitions/VGAxisConfig", |
| 459 | + "description": "Specific axis config for x-axis along the bottom edge of the chart." |
| 530 | 460 | }, |
| 531 | | - "labels": { |
| 532 | | - "type": "boolean", |
| 533 | | - "description": "A boolean flag indicating if labels should be included as part of the axis.\n\n__Default value:__ `true`." |
| 461 | + "axisLeft": { |
| 462 | + "$ref": "#/definitions/VGAxisConfig", |
| 463 | + "description": "Specific axis config for y-axis along the left edge of the chart." |
| 534 | 464 | }, |
| 535 | | - "maxExtent": { |
| 536 | | - "type": "number", |
| 537 | | - "description": "The maximum extent in pixels that axis ticks and labels should use. This determines a\nmaximum offset value for axis titles.\n\n__Default value:__ `undefined`." |
| 465 | + "axisRight": { |
| 466 | + "$ref": "#/definitions/VGAxisConfig", |
| 467 | + "description": "Specific axis config for y-axis along the right edge of the chart." |
| 538 | 468 | }, |
| 539 | | - "minExtent": { |
| 540 | | - "type": "number", |
| 541 | | - "description": "The minimum extent in pixels that axis ticks and labels should use. This determines a\nminimum offset value for axis titles.\n\n__Default value:__ `30` for y-axis; `undefined` for x-axis." |
| 469 | + "axisTop": { |
| 470 | + "$ref": "#/definitions/VGAxisConfig", |
| 471 | + "description": "Specific axis config for x-axis along the top edge of the chart." |
| 542 | 472 | }, |
| 543 | | - "shortTimeLabels": { |
| 544 | | - "type": "boolean", |
| 545 | | - "description": "Whether month names and weekday names should be abbreviated.\n\n__Default value:__ `false`" |
| 473 | + "axisX": { |
| 474 | + "$ref": "#/definitions/VGAxisConfig", |
| 475 | + "description": "X-axis specific config." |
| 546 | 476 | }, |
| 547 | | - "tickColor": { |
| 477 | + "axisY": { |
| 478 | + "$ref": "#/definitions/VGAxisConfig", |
| 479 | + "description": "Y-axis specific config." |
| 480 | + }, |
| 481 | + "background": { |
| 548 | 482 | "type": "string", |
| 549 | | - "description": "The color of the axis's tick." |
| 483 | + "description": "CSS color property to use as the background of visualization.\n\n__Default value:__ none (transparent)" |
| 550 | 484 | }, |
| 551 | | - "tickRound": { |
| 552 | | - "type": "boolean", |
| 553 | | - "description": "Boolean flag indicating if pixel position values should be rounded to the nearest integer." |
| 485 | + "bar": { |
| 486 | + "$ref": "#/definitions/BarConfig", |
| 487 | + "description": "Bar-Specific Config" |
| 554 | 488 | }, |
| 555 | | - "ticks": { |
| 556 | | - "type": "boolean", |
| 557 | | - "description": "Boolean value that determines whether the axis should include ticks." |
| 489 | + "circle": { |
| 490 | + "$ref": "#/definitions/MarkConfig", |
| 491 | + "description": "Circle-Specific Config" |
| 558 | 492 | }, |
| 559 | | - "tickSize": { |
| 560 | | - "type": "number", |
| 561 | | - "minimum": 0, |
| 562 | | - "description": "The size in pixels of axis ticks." |
| 493 | + "countTitle": { |
| 494 | + "type": "string", |
| 495 | + "description": "Default axis and legend title for count fields.\n\n__Default value:__ `'Number of Records'`." |
| 563 | 496 | }, |
| 564 | | - "tickWidth": { |
| 565 | | - "type": "number", |
| 566 | | - "minimum": 0, |
| 567 | | - "description": "The width, in pixels, of ticks." |
| 497 | + "fieldTitle": { |
| 498 | + "$ref": "#/definitions/FieldTitle", |
| 499 | + "description": "Defines how Vega-Lite generates title for fields. There are three possible styles:\n\n- `\"verbal\"` (Default) - displays function in a verbal style (e.g., \"Sum of field\",\n\"Year-month of date\", \"field (binned)\").\n- `\"function\"` - displays function using parentheses and capitalized texts (e.g.,\n\"SUM(field)\", \"YEARMONTH(date)\", \"BIN(field)\").\n- `\"plain\"` - displays only the field name without functions (e.g., \"field\", \"date\",\n\"field\")." |
| 568 | 500 | }, |
| 569 | | - "titleAlign": { |
| 570 | | - "type": "string", |
| 571 | | - "description": "Horizontal text alignment of axis titles." |
| 501 | + "geoshape": { |
| 502 | + "$ref": "#/definitions/MarkConfig", |
| 503 | + "description": "Geoshape-Specific Config" |
| 572 | 504 | }, |
| 573 | | - "titleAngle": { |
| 574 | | - "type": "number", |
| 575 | | - "description": "Angle in degrees of axis titles." |
| 505 | + "invalidValues": { |
| 506 | + "$ref": "#/definitions/InvalidValues", |
| 507 | + "description": "Defines how Vega-Lite should handle invalid values (`null` and `NaN`).\n- If set to `\"filter\"` (default), all data items with null values are filtered.\n- If `null`, all data items are included. In this case, invalid values will be\ninterpreted as zeroes." |
| 576 | 508 | }, |
| 577 | | - "titleBaseline": { |
| 578 | | - "type": "string", |
| 579 | | - "description": "Vertical text baseline for axis titles." |
| 509 | + "legend": { |
| 510 | + "$ref": "#/definitions/LegendConfig", |
| 511 | + "description": "Legend configuration, which determines default properties for all [legends](legend.html).\nFor a full list of legend configuration options, please see the [corresponding section of\nin the legend documentation](legend.html#config)." |
| 580 | 512 | }, |
| 581 | | - "titleColor": { |
| 582 | | - "type": "string", |
| 583 | | - "description": "Color of the title, can be in hex color code or regular color name." |
| 513 | + "line": { |
| 514 | + "$ref": "#/definitions/MarkConfig", |
| 515 | + "description": "Line-Specific Config" |
| 584 | 516 | }, |
| 585 | | - "titleFont": { |
| 517 | + "mark": { |
| 518 | + "$ref": "#/definitions/MarkConfig", |
| 519 | + "description": "Mark Config" |
| 520 | + }, |
| 521 | + "numberFormat": { |
| 586 | 522 | "type": "string", |
| 587 | | - "description": "Font of the title. (e.g., `\"Helvetica Neue\"`)." |
| 523 | + "description": "D3 Number format for axis labels and text tables. For example \"s\" for SI units. Use [D3's\nnumber format pattern](https://github.com/d3/d3-format#locale_format)." |
| 588 | 524 | }, |
| 589 | | - "titleFontSize": { |
| 590 | | - "type": "number", |
| 591 | | - "minimum": 0, |
| 592 | | - "description": "Font size of the title." |
| 525 | + "padding": { |
| 526 | + "$ref": "#/definitions/Padding", |
| 527 | + "description": "The default visualization padding, in pixels, from the edge of the visualization canvas\nto the data rectangle. If a number, specifies padding for all sides.\nIf an object, the value should have the format `{\"left\": 5, \"top\": 5, \"right\": 5,\n\"bottom\": 5}` to specify padding for each side of the visualization.\n\n__Default value__: `5`" |
| 593 | 528 | }, |
| 594 | | - "titleFontWeight": { |
| 595 | | - "$ref": "#/definitions/TitleFontWeight", |
| 596 | | - "description": "Font weight of the title. (e.g., `\"bold\"`)." |
| 529 | + "point": { |
| 530 | + "$ref": "#/definitions/MarkConfig", |
| 531 | + "description": "Point-Specific Config" |
| 597 | 532 | }, |
| 598 | | - "titleLimit": { |
| 599 | | - "type": "number", |
| 600 | | - "description": "Maximum allowed pixel width of axis titles." |
| 533 | + "projection": { |
| 534 | + "$ref": "#/definitions/ProjectionConfig", |
| 535 | + "description": "Projection configuration, which determines default properties for all\n[projections](projection.html). For a full list of projection configuration options,\nplease see the [corresponding section of the projection\ndocumentation](projection.html#config)." |
| 601 | 536 | }, |
| 602 | | - "titleMaxLength": { |
| 603 | | - "type": "number", |
| 604 | | - "description": "Max length for axis title if the title is automatically generated from the field's\ndescription." |
| 537 | + "range": { |
| 538 | + "$ref": "#/definitions/RangeConfig", |
| 539 | + "description": "An object hash that defines default range arrays or schemes for using with scales.\nFor a full list of scale range configuration options, please see the [corresponding\nsection of the scale documentation](scale.html#config)." |
| 605 | 540 | }, |
| 606 | | - "titlePadding": { |
| 607 | | - "type": "number", |
| 608 | | - "description": "The padding, in pixels, between title and axis." |
| 541 | + "rect": { |
| 542 | + "$ref": "#/definitions/MarkConfig", |
| 543 | + "description": "Rect-Specific Config" |
| 609 | 544 | }, |
| 610 | | - "titleX": { |
| 611 | | - "type": "number", |
| 612 | | - "description": "X-coordinate of the axis title relative to the axis group." |
| 545 | + "rule": { |
| 546 | + "$ref": "#/definitions/MarkConfig", |
| 547 | + "description": "Rule-Specific Config" |
| 613 | 548 | }, |
| 614 | | - "titleY": { |
| 615 | | - "type": "number", |
| 616 | | - "description": "Y-coordinate of the axis title relative to the axis group." |
| 617 | | - } |
| 618 | | - }, |
| 619 | | - "required": [], |
| 620 | | - "title": "AxisConfig", |
| 621 | | - "description": "Axis configuration, which determines default properties for all `x` and `y` [axes](axis.html). For a full list of axis configuration options, please see the [corresponding section of the axis documentation](axis.html#config)." |
| 622 | | - }, |
| 623 | | - "VGAxisConfig": { |
| 624 | | - "type": "object", |
| 625 | | - "additionalProperties": false, |
| 626 | | - "properties": { |
| 627 | | - "bandPosition": { |
| 628 | | - "type": "number", |
| 629 | | - "description": "An interpolation fraction indicating where, for `band` scales, axis ticks should be\npositioned. A value of `0` places ticks at the left edge of their bands. A value of `0.5`\nplaces ticks in the middle of their bands." |
| 549 | + "scale": { |
| 550 | + "$ref": "#/definitions/ScaleConfig", |
| 551 | + "description": "Scale configuration determines default properties for all [scales](scale.html). For a\nfull list of scale configuration options, please see the [corresponding section of the\nscale documentation](scale.html#config)." |
| 630 | 552 | }, |
| 631 | | - "domain": { |
| 632 | | - "type": "boolean", |
| 633 | | - "description": "A boolean flag indicating if the domain (the axis baseline) should be included as part of\nthe axis.\n\n__Default value:__ `true`" |
| 553 | + "selection": { |
| 554 | + "$ref": "#/definitions/SelectionConfig", |
| 555 | + "description": "An object hash for defining default properties for each type of selections." |
| 634 | 556 | }, |
| 635 | | - "domainColor": { |
| 636 | | - "type": "string", |
| 637 | | - "description": "Color of axis domain line.\n\n__Default value:__ (none, using Vega default)." |
| 557 | + "square": { |
| 558 | + "$ref": "#/definitions/MarkConfig", |
| 559 | + "description": "Square-Specific Config" |
| 638 | 560 | }, |
| 639 | | - "domainWidth": { |
| 640 | | - "type": "number", |
| 641 | | - "description": "Stroke width of axis domain line\n\n__Default value:__ (none, using Vega default)." |
| 561 | + "stack": { |
| 562 | + "$ref": "#/definitions/StackOffset", |
| 563 | + "description": "Default stack offset for stackable mark." |
| 642 | 564 | }, |
| 643 | | - "grid": { |
| 644 | | - "type": "boolean", |
| 645 | | - "description": "A boolean flag indicating if grid lines should be included as part of the axis\n\n__Default value:__ `true` for [continuous scales](scale.html#continuous) that are not\nbinned; otherwise, `false`." |
| 565 | + "style": { |
| 566 | + "type": "object", |
| 567 | + "additionalProperties": { |
| 568 | + "$ref": "#/definitions/VGMarkConfig" |
| 569 | + }, |
| 570 | + "description": "An object hash that defines key-value mappings to determine default properties for marks with a given [style](mark.html#mark-def). The keys represent styles names; the value are valid [mark configuration objects](mark.html#config). " |
| 646 | 571 | }, |
| 647 | | - "gridColor": { |
| 648 | | - "type": "string", |
| 649 | | - "description": "Color of gridlines." |
| 650 | | - }, |
| 651 | | - "gridDash": { |
| 652 | | - "type": "array", |
| 653 | | - "items": { |
| 654 | | - "type": "number" |
| 655 | | - }, |
| 656 | | - "description": "The offset (in pixels) into which to begin drawing with the grid dash array." |
| 657 | | - }, |
| 658 | | - "gridOpacity": { |
| 659 | | - "type": "number", |
| 660 | | - "minimum": 0, |
| 661 | | - "maximum": 1, |
| 662 | | - "description": "The stroke opacity of grid (value between [0,1])\n\n__Default value:__ (`1` by default)" |
| 663 | | - }, |
| 664 | | - "gridWidth": { |
| 665 | | - "type": "number", |
| 666 | | - "minimum": 0, |
| 667 | | - "description": "The grid width, in pixels." |
| 668 | | - }, |
| 669 | | - "labelAngle": { |
| 670 | | - "type": "number", |
| 671 | | - "minimum": -360, |
| 672 | | - "maximum": 360, |
| 673 | | - "description": "The rotation angle of the axis labels.\n\n__Default value:__ `-90` for nominal and ordinal fields; `0` otherwise." |
| 674 | | - }, |
| 675 | | - "labelBound": { |
| 676 | | - "$ref": "#/definitions/Label", |
| 677 | | - "description": "Indicates if labels should be hidden if they exceed the axis range. If `false `(the\ndefault) no bounds overlap analysis is performed. If `true`, labels will be hidden if\nthey exceed the axis range by more than 1 pixel. If this property is a number, it\nspecifies the pixel tolerance: the maximum amount by which a label bounding box may\nexceed the axis range.\n\n__Default value:__ `false`." |
| 678 | | - }, |
| 679 | | - "labelColor": { |
| 680 | | - "type": "string", |
| 681 | | - "description": "The color of the tick label, can be in hex color code or regular color name." |
| 682 | | - }, |
| 683 | | - "labelFlush": { |
| 684 | | - "$ref": "#/definitions/Label", |
| 685 | | - "description": "Indicates if the first and last axis labels should be aligned flush with the scale range.\nFlush alignment for a horizontal axis will left-align the first label and right-align the\nlast label. For vertical axes, bottom and top text baselines are applied instead. If this\nproperty is a number, it also indicates the number of pixels by which to offset the first\nand last labels; for example, a value of 2 will flush-align the first and last labels and\nalso push them 2 pixels outward from the center of the axis. The additional adjustment\ncan sometimes help the labels better visually group with corresponding axis ticks.\n\n__Default value:__ `true` for axis of a continuous x-scale. Otherwise, `false`." |
| 686 | | - }, |
| 687 | | - "labelFont": { |
| 688 | | - "type": "string", |
| 689 | | - "description": "The font of the tick label." |
| 690 | | - }, |
| 691 | | - "labelFontSize": { |
| 692 | | - "type": "number", |
| 693 | | - "minimum": 0, |
| 694 | | - "description": "The font size of the label, in pixels." |
| 695 | | - }, |
| 696 | | - "labelLimit": { |
| 697 | | - "type": "number", |
| 698 | | - "description": "Maximum allowed pixel width of axis tick labels." |
| 699 | | - }, |
| 700 | | - "labelOverlap": { |
| 701 | | - "$ref": "#/definitions/LabelOverlapUnion", |
| 702 | | - "description": "The strategy to use for resolving overlap of axis labels. If `false` (the default), no\noverlap reduction is attempted. If set to `true` or `\"parity\"`, a strategy of removing\nevery other label is used (this works well for standard linear axes). If set to\n`\"greedy\"`, a linear scan of the labels is performed, removing any labels that overlaps\nwith the last visible label (this often works better for log-scaled axes).\n\n__Default value:__ `true` for non-nominal fields with non-log scales; `\"greedy\"` for log\nscales; otherwise `false`." |
| 703 | | - }, |
| 704 | | - "labelPadding": { |
| 705 | | - "type": "number", |
| 706 | | - "description": "The padding, in pixels, between axis and text labels." |
| 707 | | - }, |
| 708 | | - "labels": { |
| 709 | | - "type": "boolean", |
| 710 | | - "description": "A boolean flag indicating if labels should be included as part of the axis.\n\n__Default value:__ `true`." |
| 711 | | - }, |
| 712 | | - "maxExtent": { |
| 713 | | - "type": "number", |
| 714 | | - "description": "The maximum extent in pixels that axis ticks and labels should use. This determines a\nmaximum offset value for axis titles.\n\n__Default value:__ `undefined`." |
| 715 | | - }, |
| 716 | | - "minExtent": { |
| 717 | | - "type": "number", |
| 718 | | - "description": "The minimum extent in pixels that axis ticks and labels should use. This determines a\nminimum offset value for axis titles.\n\n__Default value:__ `30` for y-axis; `undefined` for x-axis." |
| 719 | | - }, |
| 720 | | - "tickColor": { |
| 721 | | - "type": "string", |
| 722 | | - "description": "The color of the axis's tick." |
| 723 | | - }, |
| 724 | | - "tickRound": { |
| 725 | | - "type": "boolean", |
| 726 | | - "description": "Boolean flag indicating if pixel position values should be rounded to the nearest integer." |
| 727 | | - }, |
| 728 | | - "ticks": { |
| 729 | | - "type": "boolean", |
| 730 | | - "description": "Boolean value that determines whether the axis should include ticks." |
| 731 | | - }, |
| 732 | | - "tickSize": { |
| 733 | | - "type": "number", |
| 734 | | - "minimum": 0, |
| 735 | | - "description": "The size in pixels of axis ticks." |
| 736 | | - }, |
| 737 | | - "tickWidth": { |
| 738 | | - "type": "number", |
| 739 | | - "minimum": 0, |
| 740 | | - "description": "The width, in pixels, of ticks." |
| 741 | | - }, |
| 742 | | - "titleAlign": { |
| 743 | | - "type": "string", |
| 744 | | - "description": "Horizontal text alignment of axis titles." |
| 745 | | - }, |
| 746 | | - "titleAngle": { |
| 747 | | - "type": "number", |
| 748 | | - "description": "Angle in degrees of axis titles." |
| 749 | | - }, |
| 750 | | - "titleBaseline": { |
| 751 | | - "type": "string", |
| 752 | | - "description": "Vertical text baseline for axis titles." |
| 572 | + "text": { |
| 573 | + "$ref": "#/definitions/TextConfig", |
| 574 | + "description": "Text-Specific Config" |
| 753 | 575 | }, |
| 754 | | - "titleColor": { |
| 755 | | - "type": "string", |
| 756 | | - "description": "Color of the title, can be in hex color code or regular color name." |
| 576 | + "tick": { |
| 577 | + "$ref": "#/definitions/TickConfig", |
| 578 | + "description": "Tick-Specific Config" |
| 757 | 579 | }, |
| 758 | | - "titleFont": { |
| 580 | + "timeFormat": { |
| 759 | 581 | "type": "string", |
| 760 | | - "description": "Font of the title. (e.g., `\"Helvetica Neue\"`)." |
| 761 | | - }, |
| 762 | | - "titleFontSize": { |
| 763 | | - "type": "number", |
| 764 | | - "minimum": 0, |
| 765 | | - "description": "Font size of the title." |
| 766 | | - }, |
| 767 | | - "titleFontWeight": { |
| 768 | | - "$ref": "#/definitions/TitleFontWeight", |
| 769 | | - "description": "Font weight of the title. (e.g., `\"bold\"`)." |
| 770 | | - }, |
| 771 | | - "titleLimit": { |
| 772 | | - "type": "number", |
| 773 | | - "description": "Maximum allowed pixel width of axis titles." |
| 774 | | - }, |
| 775 | | - "titleMaxLength": { |
| 776 | | - "type": "number", |
| 777 | | - "description": "Max length for axis title if the title is automatically generated from the field's\ndescription." |
| 778 | | - }, |
| 779 | | - "titlePadding": { |
| 780 | | - "type": "number", |
| 781 | | - "description": "The padding, in pixels, between title and axis." |
| 582 | + "description": "Default datetime format for axis and legend labels. The format can be set directly on\neach axis and legend. Use [D3's time format\npattern](https://github.com/d3/d3-time-format#locale_format).\n\n__Default value:__ `'%b %d, %Y'`." |
| 782 | 583 | }, |
| 783 | | - "titleX": { |
| 784 | | - "type": "number", |
| 785 | | - "description": "X-coordinate of the axis title relative to the axis group." |
| 584 | + "title": { |
| 585 | + "$ref": "#/definitions/VGTitleConfig", |
| 586 | + "description": "Title configuration, which determines default properties for all [titles](title.html).\nFor a full list of title configuration options, please see the [corresponding section of\nthe title documentation](title.html#config)." |
| 786 | 587 | }, |
| 787 | | - "titleY": { |
| 788 | | - "type": "number", |
| 789 | | - "description": "Y-coordinate of the axis title relative to the axis group." |
| 588 | + "view": { |
| 589 | + "$ref": "#/definitions/ViewConfig", |
| 590 | + "description": "Default properties for [single view plots](spec.html#single)." |
| 790 | 591 | } |
| 791 | 592 | }, |
| 792 | 593 | "required": [], |
| 793 | | - "title": "VGAxisConfig", |
| 794 | | - "description": "Specific axis config for axes with \"band\" scales.\nSpecific axis config for x-axis along the bottom edge of the chart.\nSpecific axis config for y-axis along the left edge of the chart.\nSpecific axis config for y-axis along the right edge of the chart.\nSpecific axis config for x-axis along the top edge of the chart.\nX-axis specific config.\nY-axis specific config." |
| 594 | + "title": "Config", |
| 595 | + "description": "Vega-Lite configuration object. This property can only be defined at the top-level of a specification." |
| 795 | 596 | }, |
| 796 | | - "BarConfig": { |
| 597 | + "MarkConfig": { |
| 797 | 598 | "type": "object", |
| 798 | 599 | "additionalProperties": false, |
| 799 | 600 | "properties": { |
| | @@ -811,29 +612,14 @@ |
| 811 | 612 | "$ref": "#/definitions/VerticalAlign", |
| 812 | 613 | "description": "The vertical alignment of the text. One of `\"top\"`, `\"middle\"`, `\"bottom\"`.\n\n__Default value:__ `\"middle\"`" |
| 813 | 614 | }, |
| 814 | | - "binSpacing": { |
| 815 | | - "type": "number", |
| 816 | | - "minimum": 0, |
| 817 | | - "description": "Offset between bar for binned field. Ideal value for this is either 0 (Preferred by\nstatisticians) or 1 (Vega-Lite Default, D3 example style).\n\n__Default value:__ `1`" |
| 818 | | - }, |
| 819 | 615 | "color": { |
| 820 | 616 | "type": "string", |
| 821 | 617 | "description": "Default color. Note that `fill` and `stroke` have higher precedence than `color` and\nwill override `color`.\n\n__Default value:__ <span style=\"color: #4682b4;\">■</span> `\"#4682b4\"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 822 | 618 | }, |
| 823 | | - "continuousBandSize": { |
| 824 | | - "type": "number", |
| 825 | | - "minimum": 0, |
| 826 | | - "description": "The default size of the bars on continuous scales.\n\n__Default value:__ `5`" |
| 827 | | - }, |
| 828 | 619 | "cursor": { |
| 829 | 620 | "$ref": "#/definitions/Cursor", |
| 830 | 621 | "description": "The mouse cursor used over the mark. Any valid [CSS cursor\ntype](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used." |
| 831 | 622 | }, |
| 832 | | - "discreteBandSize": { |
| 833 | | - "type": "number", |
| 834 | | - "minimum": 0, |
| 835 | | - "description": "The size of the bars. If unspecified, the default size is `bandSize-1`,\nwhich provides 1 pixel offset between bars." |
| 836 | | - }, |
| 837 | 623 | "dx": { |
| 838 | 624 | "type": "number", |
| 839 | 625 | "description": "The horizontal offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| | @@ -951,963 +737,1280 @@ |
| 951 | 737 | } |
| 952 | 738 | }, |
| 953 | 739 | "required": [], |
| 954 | | - "title": "BarConfig", |
| 955 | | - "description": "Bar-Specific Config " |
| 740 | + "title": "MarkConfig", |
| 741 | + "description": "Area-Specific Config \nCircle-Specific Config \nGeoshape-Specific Config \nLine-Specific Config \nMark Config \nPoint-Specific Config \nRect-Specific Config \nRule-Specific Config \nSquare-Specific Config " |
| 956 | 742 | }, |
| 957 | | - "LegendConfig": { |
| 743 | + "AxisConfig": { |
| 958 | 744 | "type": "object", |
| 959 | 745 | "additionalProperties": false, |
| 960 | 746 | "properties": { |
| 961 | | - "cornerRadius": { |
| 962 | | - "type": "number", |
| 963 | | - "description": "Corner radius for the full legend." |
| 964 | | - }, |
| 965 | | - "entryPadding": { |
| 747 | + "bandPosition": { |
| 966 | 748 | "type": "number", |
| 967 | | - "description": "Padding (in pixels) between legend entries in a symbol legend." |
| 968 | | - }, |
| 969 | | - "fillColor": { |
| 970 | | - "type": "string", |
| 971 | | - "description": "Background fill color for the full legend." |
| 749 | + "description": "An interpolation fraction indicating where, for `band` scales, axis ticks should be\npositioned. A value of `0` places ticks at the left edge of their bands. A value of `0.5`\nplaces ticks in the middle of their bands." |
| 972 | 750 | }, |
| 973 | | - "gradientHeight": { |
| 974 | | - "type": "number", |
| 975 | | - "minimum": 0, |
| 976 | | - "description": "The height of the gradient, in pixels." |
| 751 | + "domain": { |
| 752 | + "type": "boolean", |
| 753 | + "description": "A boolean flag indicating if the domain (the axis baseline) should be included as part of\nthe axis.\n\n__Default value:__ `true`" |
| 977 | 754 | }, |
| 978 | | - "gradientLabelBaseline": { |
| 755 | + "domainColor": { |
| 979 | 756 | "type": "string", |
| 980 | | - "description": "Text baseline for color ramp gradient labels." |
| 757 | + "description": "Color of axis domain line.\n\n__Default value:__ (none, using Vega default)." |
| 981 | 758 | }, |
| 982 | | - "gradientLabelLimit": { |
| 759 | + "domainWidth": { |
| 983 | 760 | "type": "number", |
| 984 | | - "description": "The maximum allowed length in pixels of color ramp gradient labels." |
| 761 | + "description": "Stroke width of axis domain line\n\n__Default value:__ (none, using Vega default)." |
| 985 | 762 | }, |
| 986 | | - "gradientLabelOffset": { |
| 987 | | - "type": "number", |
| 988 | | - "description": "Vertical offset in pixels for color ramp gradient labels." |
| 763 | + "grid": { |
| 764 | + "type": "boolean", |
| 765 | + "description": "A boolean flag indicating if grid lines should be included as part of the axis\n\n__Default value:__ `true` for [continuous scales](scale.html#continuous) that are not\nbinned; otherwise, `false`." |
| 989 | 766 | }, |
| 990 | | - "gradientStrokeColor": { |
| 767 | + "gridColor": { |
| 991 | 768 | "type": "string", |
| 992 | | - "description": "The color of the gradient stroke, can be in hex color code or regular color name." |
| 769 | + "description": "Color of gridlines." |
| 993 | 770 | }, |
| 994 | | - "gradientStrokeWidth": { |
| 771 | + "gridDash": { |
| 772 | + "type": "array", |
| 773 | + "items": { |
| 774 | + "type": "number" |
| 775 | + }, |
| 776 | + "description": "The offset (in pixels) into which to begin drawing with the grid dash array." |
| 777 | + }, |
| 778 | + "gridOpacity": { |
| 995 | 779 | "type": "number", |
| 996 | 780 | "minimum": 0, |
| 997 | | - "description": "The width of the gradient stroke, in pixels." |
| 781 | + "maximum": 1, |
| 782 | + "description": "The stroke opacity of grid (value between [0,1])\n\n__Default value:__ (`1` by default)" |
| 998 | 783 | }, |
| 999 | | - "gradientWidth": { |
| 784 | + "gridWidth": { |
| 1000 | 785 | "type": "number", |
| 1001 | 786 | "minimum": 0, |
| 1002 | | - "description": "The width of the gradient, in pixels." |
| 787 | + "description": "The grid width, in pixels." |
| 1003 | 788 | }, |
| 1004 | | - "labelAlign": { |
| 1005 | | - "type": "string", |
| 1006 | | - "description": "The alignment of the legend label, can be left, middle or right." |
| 789 | + "labelAngle": { |
| 790 | + "type": "number", |
| 791 | + "minimum": -360, |
| 792 | + "maximum": 360, |
| 793 | + "description": "The rotation angle of the axis labels.\n\n__Default value:__ `-90` for nominal and ordinal fields; `0` otherwise." |
| 1007 | 794 | }, |
| 1008 | | - "labelBaseline": { |
| 1009 | | - "type": "string", |
| 1010 | | - "description": "The position of the baseline of legend label, can be top, middle or bottom." |
| 795 | + "labelBound": { |
| 796 | + "$ref": "#/definitions/Label", |
| 797 | + "description": "Indicates if labels should be hidden if they exceed the axis range. If `false `(the\ndefault) no bounds overlap analysis is performed. If `true`, labels will be hidden if\nthey exceed the axis range by more than 1 pixel. If this property is a number, it\nspecifies the pixel tolerance: the maximum amount by which a label bounding box may\nexceed the axis range.\n\n__Default value:__ `false`." |
| 1011 | 798 | }, |
| 1012 | 799 | "labelColor": { |
| 1013 | 800 | "type": "string", |
| 1014 | | - "description": "The color of the legend label, can be in hex color code or regular color name." |
| 801 | + "description": "The color of the tick label, can be in hex color code or regular color name." |
| 802 | + }, |
| 803 | + "labelFlush": { |
| 804 | + "$ref": "#/definitions/Label", |
| 805 | + "description": "Indicates if the first and last axis labels should be aligned flush with the scale range.\nFlush alignment for a horizontal axis will left-align the first label and right-align the\nlast label. For vertical axes, bottom and top text baselines are applied instead. If this\nproperty is a number, it also indicates the number of pixels by which to offset the first\nand last labels; for example, a value of 2 will flush-align the first and last labels and\nalso push them 2 pixels outward from the center of the axis. The additional adjustment\ncan sometimes help the labels better visually group with corresponding axis ticks.\n\n__Default value:__ `true` for axis of a continuous x-scale. Otherwise, `false`." |
| 1015 | 806 | }, |
| 1016 | 807 | "labelFont": { |
| 1017 | 808 | "type": "string", |
| 1018 | | - "description": "The font of the legend label." |
| 809 | + "description": "The font of the tick label." |
| 1019 | 810 | }, |
| 1020 | 811 | "labelFontSize": { |
| 1021 | 812 | "type": "number", |
| 1022 | 813 | "minimum": 0, |
| 1023 | | - "description": "The font size of legend label.\n\n__Default value:__ `10`." |
| 814 | + "description": "The font size of the label, in pixels." |
| 1024 | 815 | }, |
| 1025 | 816 | "labelLimit": { |
| 1026 | 817 | "type": "number", |
| 1027 | 818 | "description": "Maximum allowed pixel width of axis tick labels." |
| 1028 | 819 | }, |
| 1029 | | - "labelOffset": { |
| 1030 | | - "type": "number", |
| 1031 | | - "minimum": 0, |
| 1032 | | - "description": "The offset of the legend label." |
| 820 | + "labelOverlap": { |
| 821 | + "$ref": "#/definitions/LabelOverlapUnion", |
| 822 | + "description": "The strategy to use for resolving overlap of axis labels. If `false` (the default), no\noverlap reduction is attempted. If set to `true` or `\"parity\"`, a strategy of removing\nevery other label is used (this works well for standard linear axes). If set to\n`\"greedy\"`, a linear scan of the labels is performed, removing any labels that overlaps\nwith the last visible label (this often works better for log-scaled axes).\n\n__Default value:__ `true` for non-nominal fields with non-log scales; `\"greedy\"` for log\nscales; otherwise `false`." |
| 1033 | 823 | }, |
| 1034 | | - "offset": { |
| 824 | + "labelPadding": { |
| 1035 | 825 | "type": "number", |
| 1036 | | - "description": "The offset, in pixels, by which to displace the legend from the edge of the enclosing\ngroup or data rectangle.\n\n__Default value:__ `0`" |
| 826 | + "description": "The padding, in pixels, between axis and text labels." |
| 1037 | 827 | }, |
| 1038 | | - "orient": { |
| 1039 | | - "$ref": "#/definitions/LegendOrient", |
| 1040 | | - "description": "The orientation of the legend, which determines how the legend is positioned within the\nscene. One of \"left\", \"right\", \"top-left\", \"top-right\", \"bottom-left\", \"bottom-right\",\n\"none\".\n\n__Default value:__ `\"right\"`" |
| 828 | + "labels": { |
| 829 | + "type": "boolean", |
| 830 | + "description": "A boolean flag indicating if labels should be included as part of the axis.\n\n__Default value:__ `true`." |
| 1041 | 831 | }, |
| 1042 | | - "padding": { |
| 832 | + "maxExtent": { |
| 1043 | 833 | "type": "number", |
| 1044 | | - "description": "The padding, in pixels, between the legend and axis." |
| 834 | + "description": "The maximum extent in pixels that axis ticks and labels should use. This determines a\nmaximum offset value for axis titles.\n\n__Default value:__ `undefined`." |
| 835 | + }, |
| 836 | + "minExtent": { |
| 837 | + "type": "number", |
| 838 | + "description": "The minimum extent in pixels that axis ticks and labels should use. This determines a\nminimum offset value for axis titles.\n\n__Default value:__ `30` for y-axis; `undefined` for x-axis." |
| 1045 | 839 | }, |
| 1046 | 840 | "shortTimeLabels": { |
| 1047 | 841 | "type": "boolean", |
| 1048 | 842 | "description": "Whether month names and weekday names should be abbreviated.\n\n__Default value:__ `false`" |
| 1049 | 843 | }, |
| 1050 | | - "strokeColor": { |
| 844 | + "tickColor": { |
| 1051 | 845 | "type": "string", |
| 1052 | | - "description": "Border stroke color for the full legend." |
| 1053 | | - }, |
| 1054 | | - "strokeDash": { |
| 1055 | | - "type": "array", |
| 1056 | | - "items": { |
| 1057 | | - "type": "number" |
| 1058 | | - }, |
| 1059 | | - "description": "Border stroke dash pattern for the full legend." |
| 846 | + "description": "The color of the axis's tick." |
| 1060 | 847 | }, |
| 1061 | | - "strokeWidth": { |
| 1062 | | - "type": "number", |
| 1063 | | - "description": "Border stroke width for the full legend." |
| 848 | + "tickRound": { |
| 849 | + "type": "boolean", |
| 850 | + "description": "Boolean flag indicating if pixel position values should be rounded to the nearest integer." |
| 1064 | 851 | }, |
| 1065 | | - "symbolColor": { |
| 1066 | | - "type": "string", |
| 1067 | | - "description": "The color of the legend symbol," |
| 852 | + "ticks": { |
| 853 | + "type": "boolean", |
| 854 | + "description": "Boolean value that determines whether the axis should include ticks." |
| 1068 | 855 | }, |
| 1069 | | - "symbolSize": { |
| 856 | + "tickSize": { |
| 1070 | 857 | "type": "number", |
| 1071 | 858 | "minimum": 0, |
| 1072 | | - "description": "The size of the legend symbol, in pixels." |
| 859 | + "description": "The size in pixels of axis ticks." |
| 1073 | 860 | }, |
| 1074 | | - "symbolStrokeWidth": { |
| 861 | + "tickWidth": { |
| 1075 | 862 | "type": "number", |
| 1076 | 863 | "minimum": 0, |
| 1077 | | - "description": "The width of the symbol's stroke." |
| 1078 | | - }, |
| 1079 | | - "symbolType": { |
| 1080 | | - "type": "string", |
| 1081 | | - "description": "Default shape type (such as \"circle\") for legend symbols." |
| 864 | + "description": "The width, in pixels, of ticks." |
| 1082 | 865 | }, |
| 1083 | 866 | "titleAlign": { |
| 1084 | 867 | "type": "string", |
| 1085 | | - "description": "Horizontal text alignment for legend titles." |
| 868 | + "description": "Horizontal text alignment of axis titles." |
| 869 | + }, |
| 870 | + "titleAngle": { |
| 871 | + "type": "number", |
| 872 | + "description": "Angle in degrees of axis titles." |
| 1086 | 873 | }, |
| 1087 | 874 | "titleBaseline": { |
| 1088 | 875 | "type": "string", |
| 1089 | | - "description": "Vertical text baseline for legend titles." |
| 876 | + "description": "Vertical text baseline for axis titles." |
| 1090 | 877 | }, |
| 1091 | 878 | "titleColor": { |
| 1092 | 879 | "type": "string", |
| 1093 | | - "description": "The color of the legend title, can be in hex color code or regular color name." |
| 880 | + "description": "Color of the title, can be in hex color code or regular color name." |
| 1094 | 881 | }, |
| 1095 | 882 | "titleFont": { |
| 1096 | 883 | "type": "string", |
| 1097 | | - "description": "The font of the legend title." |
| 884 | + "description": "Font of the title. (e.g., `\"Helvetica Neue\"`)." |
| 1098 | 885 | }, |
| 1099 | 886 | "titleFontSize": { |
| 1100 | 887 | "type": "number", |
| 1101 | | - "description": "The font size of the legend title." |
| 888 | + "minimum": 0, |
| 889 | + "description": "Font size of the title." |
| 1102 | 890 | }, |
| 1103 | 891 | "titleFontWeight": { |
| 1104 | 892 | "$ref": "#/definitions/TitleFontWeight", |
| 1105 | | - "description": "The font weight of the legend title." |
| 893 | + "description": "Font weight of the title. (e.g., `\"bold\"`)." |
| 1106 | 894 | }, |
| 1107 | 895 | "titleLimit": { |
| 1108 | 896 | "type": "number", |
| 1109 | 897 | "description": "Maximum allowed pixel width of axis titles." |
| 1110 | 898 | }, |
| 899 | + "titleMaxLength": { |
| 900 | + "type": "number", |
| 901 | + "description": "Max length for axis title if the title is automatically generated from the field's\ndescription." |
| 902 | + }, |
| 1111 | 903 | "titlePadding": { |
| 1112 | 904 | "type": "number", |
| 1113 | | - "description": "The padding, in pixels, between title and legend." |
| 905 | + "description": "The padding, in pixels, between title and axis." |
| 906 | + }, |
| 907 | + "titleX": { |
| 908 | + "type": "number", |
| 909 | + "description": "X-coordinate of the axis title relative to the axis group." |
| 910 | + }, |
| 911 | + "titleY": { |
| 912 | + "type": "number", |
| 913 | + "description": "Y-coordinate of the axis title relative to the axis group." |
| 1114 | 914 | } |
| 1115 | 915 | }, |
| 1116 | 916 | "required": [], |
| 1117 | | - "title": "LegendConfig", |
| 1118 | | - "description": "Legend configuration, which determines default properties for all [legends](legend.html). For a full list of legend configuration options, please see the [corresponding section of in the legend documentation](legend.html#config)." |
| 917 | + "title": "AxisConfig", |
| 918 | + "description": "Axis configuration, which determines default properties for all `x` and `y` [axes](axis.html). For a full list of axis configuration options, please see the [corresponding section of the axis documentation](axis.html#config)." |
| 1119 | 919 | }, |
| 1120 | | - "PaddingClass": { |
| 920 | + "VGAxisConfig": { |
| 1121 | 921 | "type": "object", |
| 1122 | 922 | "additionalProperties": false, |
| 1123 | 923 | "properties": { |
| 1124 | | - "bottom": { |
| 1125 | | - "type": "number" |
| 924 | + "bandPosition": { |
| 925 | + "type": "number", |
| 926 | + "description": "An interpolation fraction indicating where, for `band` scales, axis ticks should be\npositioned. A value of `0` places ticks at the left edge of their bands. A value of `0.5`\nplaces ticks in the middle of their bands." |
| 1126 | 927 | }, |
| 1127 | | - "left": { |
| 1128 | | - "type": "number" |
| 928 | + "domain": { |
| 929 | + "type": "boolean", |
| 930 | + "description": "A boolean flag indicating if the domain (the axis baseline) should be included as part of\nthe axis.\n\n__Default value:__ `true`" |
| 1129 | 931 | }, |
| 1130 | | - "right": { |
| 1131 | | - "type": "number" |
| 932 | + "domainColor": { |
| 933 | + "type": "string", |
| 934 | + "description": "Color of axis domain line.\n\n__Default value:__ (none, using Vega default)." |
| 1132 | 935 | }, |
| 1133 | | - "top": { |
| 1134 | | - "type": "number" |
| 1135 | | - } |
| 1136 | | - }, |
| 1137 | | - "required": [], |
| 1138 | | - "title": "PaddingClass" |
| 1139 | | - }, |
| 1140 | | - "ProjectionConfig": { |
| 1141 | | - "type": "object", |
| 1142 | | - "additionalProperties": false, |
| 1143 | | - "properties": { |
| 1144 | | - "center": { |
| 936 | + "domainWidth": { |
| 937 | + "type": "number", |
| 938 | + "description": "Stroke width of axis domain line\n\n__Default value:__ (none, using Vega default)." |
| 939 | + }, |
| 940 | + "grid": { |
| 941 | + "type": "boolean", |
| 942 | + "description": "A boolean flag indicating if grid lines should be included as part of the axis\n\n__Default value:__ `true` for [continuous scales](scale.html#continuous) that are not\nbinned; otherwise, `false`." |
| 943 | + }, |
| 944 | + "gridColor": { |
| 945 | + "type": "string", |
| 946 | + "description": "Color of gridlines." |
| 947 | + }, |
| 948 | + "gridDash": { |
| 1145 | 949 | "type": "array", |
| 1146 | 950 | "items": { |
| 1147 | 951 | "type": "number" |
| 1148 | 952 | }, |
| 1149 | | - "description": "Sets the projection’s center to the specified center, a two-element array of longitude\nand latitude in degrees.\n\n__Default value:__ `[0, 0]`" |
| 953 | + "description": "The offset (in pixels) into which to begin drawing with the grid dash array." |
| 1150 | 954 | }, |
| 1151 | | - "clipAngle": { |
| 955 | + "gridOpacity": { |
| 1152 | 956 | "type": "number", |
| 1153 | | - "description": "Sets the projection’s clipping circle radius to the specified angle in degrees. If\n`null`, switches to [antimeridian](http://bl.ocks.org/mbostock/3788999) cutting rather\nthan small-circle clipping." |
| 957 | + "minimum": 0, |
| 958 | + "maximum": 1, |
| 959 | + "description": "The stroke opacity of grid (value between [0,1])\n\n__Default value:__ (`1` by default)" |
| 1154 | 960 | }, |
| 1155 | | - "clipExtent": { |
| 1156 | | - "type": "array", |
| 1157 | | - "items": { |
| 1158 | | - "type": "array", |
| 1159 | | - "items": { |
| 1160 | | - "type": "number" |
| 1161 | | - } |
| 1162 | | - }, |
| 1163 | | - "description": "Sets the projection’s viewport clip extent to the specified bounds in pixels. The extent\nbounds are specified as an array `[[x0, y0], [x1, y1]]`, where `x0` is the left-side of\nthe viewport, `y0` is the top, `x1` is the right and `y1` is the bottom. If `null`, no\nviewport clipping is performed." |
| 961 | + "gridWidth": { |
| 962 | + "type": "number", |
| 963 | + "minimum": 0, |
| 964 | + "description": "The grid width, in pixels." |
| 1164 | 965 | }, |
| 1165 | | - "coefficient": { |
| 1166 | | - "type": "number" |
| 966 | + "labelAngle": { |
| 967 | + "type": "number", |
| 968 | + "minimum": -360, |
| 969 | + "maximum": 360, |
| 970 | + "description": "The rotation angle of the axis labels.\n\n__Default value:__ `-90` for nominal and ordinal fields; `0` otherwise." |
| 1167 | 971 | }, |
| 1168 | | - "distance": { |
| 1169 | | - "type": "number" |
| 972 | + "labelBound": { |
| 973 | + "$ref": "#/definitions/Label", |
| 974 | + "description": "Indicates if labels should be hidden if they exceed the axis range. If `false `(the\ndefault) no bounds overlap analysis is performed. If `true`, labels will be hidden if\nthey exceed the axis range by more than 1 pixel. If this property is a number, it\nspecifies the pixel tolerance: the maximum amount by which a label bounding box may\nexceed the axis range.\n\n__Default value:__ `false`." |
| 1170 | 975 | }, |
| 1171 | | - "fraction": { |
| 1172 | | - "type": "number" |
| 976 | + "labelColor": { |
| 977 | + "type": "string", |
| 978 | + "description": "The color of the tick label, can be in hex color code or regular color name." |
| 1173 | 979 | }, |
| 1174 | | - "lobes": { |
| 1175 | | - "type": "number" |
| 980 | + "labelFlush": { |
| 981 | + "$ref": "#/definitions/Label", |
| 982 | + "description": "Indicates if the first and last axis labels should be aligned flush with the scale range.\nFlush alignment for a horizontal axis will left-align the first label and right-align the\nlast label. For vertical axes, bottom and top text baselines are applied instead. If this\nproperty is a number, it also indicates the number of pixels by which to offset the first\nand last labels; for example, a value of 2 will flush-align the first and last labels and\nalso push them 2 pixels outward from the center of the axis. The additional adjustment\ncan sometimes help the labels better visually group with corresponding axis ticks.\n\n__Default value:__ `true` for axis of a continuous x-scale. Otherwise, `false`." |
| 1176 | 983 | }, |
| 1177 | | - "parallel": { |
| 1178 | | - "type": "number" |
| 984 | + "labelFont": { |
| 985 | + "type": "string", |
| 986 | + "description": "The font of the tick label." |
| 1179 | 987 | }, |
| 1180 | | - "precision": { |
| 1181 | | - "$ref": "#/definitions/PurplePrecision", |
| 1182 | | - "description": "Sets the threshold for the projection’s [adaptive\nresampling](http://bl.ocks.org/mbostock/3795544) to the specified value in pixels. This\nvalue corresponds to the [Douglas–Peucker\ndistance](http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm).\nIf precision is not specified, returns the projection’s current resampling precision\nwhich defaults to `√0.5 ≅ 0.70710…`." |
| 988 | + "labelFontSize": { |
| 989 | + "type": "number", |
| 990 | + "minimum": 0, |
| 991 | + "description": "The font size of the label, in pixels." |
| 1183 | 992 | }, |
| 1184 | | - "radius": { |
| 1185 | | - "type": "number" |
| 993 | + "labelLimit": { |
| 994 | + "type": "number", |
| 995 | + "description": "Maximum allowed pixel width of axis tick labels." |
| 1186 | 996 | }, |
| 1187 | | - "ratio": { |
| 1188 | | - "type": "number" |
| 997 | + "labelOverlap": { |
| 998 | + "$ref": "#/definitions/LabelOverlapUnion", |
| 999 | + "description": "The strategy to use for resolving overlap of axis labels. If `false` (the default), no\noverlap reduction is attempted. If set to `true` or `\"parity\"`, a strategy of removing\nevery other label is used (this works well for standard linear axes). If set to\n`\"greedy\"`, a linear scan of the labels is performed, removing any labels that overlaps\nwith the last visible label (this often works better for log-scaled axes).\n\n__Default value:__ `true` for non-nominal fields with non-log scales; `\"greedy\"` for log\nscales; otherwise `false`." |
| 1189 | 1000 | }, |
| 1190 | | - "rotate": { |
| 1191 | | - "type": "array", |
| 1192 | | - "items": { |
| 1193 | | - "type": "number" |
| 1194 | | - }, |
| 1195 | | - "description": "Sets the projection’s three-axis rotation to the specified angles, which must be a two-\nor three-element array of numbers [`lambda`, `phi`, `gamma`] specifying the rotation\nangles in degrees about each spherical axis. (These correspond to yaw, pitch and roll.)\n\n__Default value:__ `[0, 0, 0]`" |
| 1001 | + "labelPadding": { |
| 1002 | + "type": "number", |
| 1003 | + "description": "The padding, in pixels, between axis and text labels." |
| 1196 | 1004 | }, |
| 1197 | | - "spacing": { |
| 1198 | | - "type": "number" |
| 1005 | + "labels": { |
| 1006 | + "type": "boolean", |
| 1007 | + "description": "A boolean flag indicating if labels should be included as part of the axis.\n\n__Default value:__ `true`." |
| 1199 | 1008 | }, |
| 1200 | | - "tilt": { |
| 1201 | | - "type": "number" |
| 1009 | + "maxExtent": { |
| 1010 | + "type": "number", |
| 1011 | + "description": "The maximum extent in pixels that axis ticks and labels should use. This determines a\nmaximum offset value for axis titles.\n\n__Default value:__ `undefined`." |
| 1202 | 1012 | }, |
| 1203 | | - "type": { |
| 1204 | | - "$ref": "#/definitions/VGProjectionType", |
| 1205 | | - "description": "The cartographic projection to use. This value is case-insensitive, for example\n`\"albers\"` and `\"Albers\"` indicate the same projection type. You can find all valid\nprojection types [in the\ndocumentation](https://vega.github.io/vega-lite/docs/projection.html#projection-types).\n\n__Default value:__ `mercator`" |
| 1206 | | - } |
| 1207 | | - }, |
| 1208 | | - "required": [], |
| 1209 | | - "title": "ProjectionConfig", |
| 1210 | | - "description": "Projection configuration, which determines default properties for all [projections](projection.html). For a full list of projection configuration options, please see the [corresponding section of the projection documentation](projection.html#config).\nAny property of Projection can be in config" |
| 1211 | | - }, |
| 1212 | | - "PurplePrecision": { |
| 1213 | | - "type": "object", |
| 1214 | | - "additionalProperties": { |
| 1215 | | - "type": "string" |
| 1216 | | - }, |
| 1217 | | - "properties": { |
| 1218 | | - "length": { |
| 1013 | + "minExtent": { |
| 1219 | 1014 | "type": "number", |
| 1220 | | - "description": "Returns the length of a String object." |
| 1221 | | - } |
| 1222 | | - }, |
| 1223 | | - "required": [ |
| 1224 | | - "length" |
| 1225 | | - ], |
| 1226 | | - "title": "PurplePrecision", |
| 1227 | | - "description": "Sets the threshold for the projection’s [adaptive resampling](http://bl.ocks.org/mbostock/3795544) to the specified value in pixels. This value corresponds to the [Douglas–Peucker distance](http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm). If precision is not specified, returns the projection’s current resampling precision which defaults to `√0.5 ≅ 0.70710…`." |
| 1228 | | - }, |
| 1229 | | - "RangeConfig": { |
| 1230 | | - "type": "object", |
| 1231 | | - "additionalProperties": { |
| 1232 | | - "$ref": "#/definitions/RangeConfigValue" |
| 1233 | | - }, |
| 1234 | | - "properties": { |
| 1235 | | - "category": { |
| 1236 | | - "$ref": "#/definitions/Category", |
| 1237 | | - "description": "Default range for _nominal_ (categorical) fields." |
| 1015 | + "description": "The minimum extent in pixels that axis ticks and labels should use. This determines a\nminimum offset value for axis titles.\n\n__Default value:__ `30` for y-axis; `undefined` for x-axis." |
| 1238 | 1016 | }, |
| 1239 | | - "diverging": { |
| 1240 | | - "$ref": "#/definitions/Category", |
| 1241 | | - "description": "Default range for diverging _quantitative_ fields." |
| 1017 | + "tickColor": { |
| 1018 | + "type": "string", |
| 1019 | + "description": "The color of the axis's tick." |
| 1242 | 1020 | }, |
| 1243 | | - "heatmap": { |
| 1244 | | - "$ref": "#/definitions/Category", |
| 1245 | | - "description": "Default range for _quantitative_ heatmaps." |
| 1021 | + "tickRound": { |
| 1022 | + "type": "boolean", |
| 1023 | + "description": "Boolean flag indicating if pixel position values should be rounded to the nearest integer." |
| 1246 | 1024 | }, |
| 1247 | | - "ordinal": { |
| 1248 | | - "$ref": "#/definitions/Category", |
| 1249 | | - "description": "Default range for _ordinal_ fields." |
| 1025 | + "ticks": { |
| 1026 | + "type": "boolean", |
| 1027 | + "description": "Boolean value that determines whether the axis should include ticks." |
| 1250 | 1028 | }, |
| 1251 | | - "ramp": { |
| 1252 | | - "$ref": "#/definitions/Category", |
| 1253 | | - "description": "Default range for _quantitative_ and _temporal_ fields." |
| 1029 | + "tickSize": { |
| 1030 | + "type": "number", |
| 1031 | + "minimum": 0, |
| 1032 | + "description": "The size in pixels of axis ticks." |
| 1254 | 1033 | }, |
| 1255 | | - "symbol": { |
| 1256 | | - "type": "array", |
| 1257 | | - "items": { |
| 1258 | | - "type": "string" |
| 1259 | | - }, |
| 1260 | | - "description": "Default range palette for the `shape` channel." |
| 1261 | | - } |
| 1262 | | - }, |
| 1263 | | - "required": [], |
| 1264 | | - "title": "RangeConfig", |
| 1265 | | - "description": "An object hash that defines default range arrays or schemes for using with scales.\nFor a full list of scale range configuration options, please see the [corresponding section of the scale documentation](scale.html#config)." |
| 1266 | | - }, |
| 1267 | | - "CategoryVGScheme": { |
| 1268 | | - "type": "object", |
| 1269 | | - "additionalProperties": false, |
| 1270 | | - "properties": { |
| 1271 | | - "count": { |
| 1272 | | - "type": "number" |
| 1034 | + "tickWidth": { |
| 1035 | + "type": "number", |
| 1036 | + "minimum": 0, |
| 1037 | + "description": "The width, in pixels, of ticks." |
| 1273 | 1038 | }, |
| 1274 | | - "extent": { |
| 1275 | | - "type": "array", |
| 1276 | | - "items": { |
| 1277 | | - "type": "number" |
| 1278 | | - } |
| 1039 | + "titleAlign": { |
| 1040 | + "type": "string", |
| 1041 | + "description": "Horizontal text alignment of axis titles." |
| 1279 | 1042 | }, |
| 1280 | | - "scheme": { |
| 1281 | | - "type": "string" |
| 1282 | | - } |
| 1283 | | - }, |
| 1284 | | - "required": [ |
| 1285 | | - "scheme" |
| 1286 | | - ], |
| 1287 | | - "title": "CategoryVGScheme" |
| 1288 | | - }, |
| 1289 | | - "RangeConfigValueVGScheme": { |
| 1290 | | - "type": "object", |
| 1291 | | - "additionalProperties": false, |
| 1292 | | - "properties": { |
| 1293 | | - "count": { |
| 1294 | | - "type": "number" |
| 1043 | + "titleAngle": { |
| 1044 | + "type": "number", |
| 1045 | + "description": "Angle in degrees of axis titles." |
| 1295 | 1046 | }, |
| 1296 | | - "extent": { |
| 1297 | | - "type": "array", |
| 1298 | | - "items": { |
| 1299 | | - "type": "number" |
| 1300 | | - } |
| 1047 | + "titleBaseline": { |
| 1048 | + "type": "string", |
| 1049 | + "description": "Vertical text baseline for axis titles." |
| 1301 | 1050 | }, |
| 1302 | | - "scheme": { |
| 1303 | | - "type": "string" |
| 1051 | + "titleColor": { |
| 1052 | + "type": "string", |
| 1053 | + "description": "Color of the title, can be in hex color code or regular color name." |
| 1304 | 1054 | }, |
| 1305 | | - "step": { |
| 1306 | | - "type": "number" |
| 1055 | + "titleFont": { |
| 1056 | + "type": "string", |
| 1057 | + "description": "Font of the title. (e.g., `\"Helvetica Neue\"`)." |
| 1058 | + }, |
| 1059 | + "titleFontSize": { |
| 1060 | + "type": "number", |
| 1061 | + "minimum": 0, |
| 1062 | + "description": "Font size of the title." |
| 1063 | + }, |
| 1064 | + "titleFontWeight": { |
| 1065 | + "$ref": "#/definitions/TitleFontWeight", |
| 1066 | + "description": "Font weight of the title. (e.g., `\"bold\"`)." |
| 1067 | + }, |
| 1068 | + "titleLimit": { |
| 1069 | + "type": "number", |
| 1070 | + "description": "Maximum allowed pixel width of axis titles." |
| 1071 | + }, |
| 1072 | + "titleMaxLength": { |
| 1073 | + "type": "number", |
| 1074 | + "description": "Max length for axis title if the title is automatically generated from the field's\ndescription." |
| 1075 | + }, |
| 1076 | + "titlePadding": { |
| 1077 | + "type": "number", |
| 1078 | + "description": "The padding, in pixels, between title and axis." |
| 1079 | + }, |
| 1080 | + "titleX": { |
| 1081 | + "type": "number", |
| 1082 | + "description": "X-coordinate of the axis title relative to the axis group." |
| 1083 | + }, |
| 1084 | + "titleY": { |
| 1085 | + "type": "number", |
| 1086 | + "description": "Y-coordinate of the axis title relative to the axis group." |
| 1307 | 1087 | } |
| 1308 | 1088 | }, |
| 1309 | 1089 | "required": [], |
| 1310 | | - "title": "RangeConfigValueVGScheme" |
| 1090 | + "title": "VGAxisConfig", |
| 1091 | + "description": "Specific axis config for axes with \"band\" scales.\nSpecific axis config for x-axis along the bottom edge of the chart.\nSpecific axis config for y-axis along the left edge of the chart.\nSpecific axis config for y-axis along the right edge of the chart.\nSpecific axis config for x-axis along the top edge of the chart.\nX-axis specific config.\nY-axis specific config." |
| 1311 | 1092 | }, |
| 1312 | | - "ScaleConfig": { |
| 1093 | + "BarConfig": { |
| 1313 | 1094 | "type": "object", |
| 1314 | 1095 | "additionalProperties": false, |
| 1315 | 1096 | "properties": { |
| 1316 | | - "bandPaddingInner": { |
| 1097 | + "align": { |
| 1098 | + "$ref": "#/definitions/HorizontalAlign", |
| 1099 | + "description": "The horizontal alignment of the text. One of `\"left\"`, `\"right\"`, `\"center\"`." |
| 1100 | + }, |
| 1101 | + "angle": { |
| 1317 | 1102 | "type": "number", |
| 1318 | 1103 | "minimum": 0, |
| 1319 | | - "maximum": 1, |
| 1320 | | - "description": "Default inner padding for `x` and `y` band-ordinal scales.\n\n__Default value:__ `0.1`" |
| 1104 | + "maximum": 360, |
| 1105 | + "description": "The rotation angle of the text, in degrees." |
| 1321 | 1106 | }, |
| 1322 | | - "bandPaddingOuter": { |
| 1107 | + "baseline": { |
| 1108 | + "$ref": "#/definitions/VerticalAlign", |
| 1109 | + "description": "The vertical alignment of the text. One of `\"top\"`, `\"middle\"`, `\"bottom\"`.\n\n__Default value:__ `\"middle\"`" |
| 1110 | + }, |
| 1111 | + "binSpacing": { |
| 1323 | 1112 | "type": "number", |
| 1324 | 1113 | "minimum": 0, |
| 1325 | | - "maximum": 1, |
| 1326 | | - "description": "Default outer padding for `x` and `y` band-ordinal scales.\nIf not specified, by default, band scale's paddingOuter is paddingInner/2." |
| 1114 | + "description": "Offset between bar for binned field. Ideal value for this is either 0 (Preferred by\nstatisticians) or 1 (Vega-Lite Default, D3 example style).\n\n__Default value:__ `1`" |
| 1327 | 1115 | }, |
| 1328 | | - "clamp": { |
| 1329 | | - "type": "boolean", |
| 1330 | | - "description": "If true, values that exceed the data domain are clamped to either the minimum or maximum\nrange value" |
| 1116 | + "color": { |
| 1117 | + "type": "string", |
| 1118 | + "description": "Default color. Note that `fill` and `stroke` have higher precedence than `color` and\nwill override `color`.\n\n__Default value:__ <span style=\"color: #4682b4;\">■</span> `\"#4682b4\"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 1331 | 1119 | }, |
| 1332 | | - "continuousPadding": { |
| 1120 | + "continuousBandSize": { |
| 1333 | 1121 | "type": "number", |
| 1334 | 1122 | "minimum": 0, |
| 1335 | | - "description": "Default padding for continuous scales.\n\n__Default:__ `5` for continuous x-scale of a vertical bar and continuous y-scale of a\nhorizontal bar.; `0` otherwise." |
| 1123 | + "description": "The default size of the bars on continuous scales.\n\n__Default value:__ `5`" |
| 1336 | 1124 | }, |
| 1337 | | - "maxBandSize": { |
| 1125 | + "cursor": { |
| 1126 | + "$ref": "#/definitions/Cursor", |
| 1127 | + "description": "The mouse cursor used over the mark. Any valid [CSS cursor\ntype](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used." |
| 1128 | + }, |
| 1129 | + "discreteBandSize": { |
| 1338 | 1130 | "type": "number", |
| 1339 | 1131 | "minimum": 0, |
| 1340 | | - "description": "The default max value for mapping quantitative fields to bar's size/bandSize.\n\nIf undefined (default), we will use the scale's `rangeStep` - 1." |
| 1132 | + "description": "The size of the bars. If unspecified, the default size is `bandSize-1`,\nwhich provides 1 pixel offset between bars." |
| 1341 | 1133 | }, |
| 1342 | | - "maxFontSize": { |
| 1134 | + "dx": { |
| 1343 | 1135 | "type": "number", |
| 1344 | | - "minimum": 0, |
| 1345 | | - "description": "The default max value for mapping quantitative fields to text's size/fontSize.\n\n__Default value:__ `40`" |
| 1136 | + "description": "The horizontal offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 1346 | 1137 | }, |
| 1347 | | - "maxOpacity": { |
| 1138 | + "dy": { |
| 1139 | + "type": "number", |
| 1140 | + "description": "The vertical offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 1141 | + }, |
| 1142 | + "fill": { |
| 1143 | + "type": "string", |
| 1144 | + "description": "Default Fill Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 1145 | + }, |
| 1146 | + "filled": { |
| 1147 | + "type": "boolean", |
| 1148 | + "description": "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 1149 | + }, |
| 1150 | + "fillOpacity": { |
| 1348 | 1151 | "type": "number", |
| 1349 | 1152 | "minimum": 0, |
| 1350 | 1153 | "maximum": 1, |
| 1351 | | - "description": "Default max opacity for mapping a field to opacity.\n\n__Default value:__ `0.8`" |
| 1154 | + "description": "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 1352 | 1155 | }, |
| 1353 | | - "maxSize": { |
| 1156 | + "font": { |
| 1157 | + "type": "string", |
| 1158 | + "description": "The typeface to set the text in (e.g., `\"Helvetica Neue\"`)." |
| 1159 | + }, |
| 1160 | + "fontSize": { |
| 1354 | 1161 | "type": "number", |
| 1355 | 1162 | "minimum": 0, |
| 1356 | | - "description": "Default max value for point size scale." |
| 1163 | + "description": "The font size, in pixels." |
| 1357 | 1164 | }, |
| 1358 | | - "maxStrokeWidth": { |
| 1165 | + "fontStyle": { |
| 1166 | + "$ref": "#/definitions/FontStyle", |
| 1167 | + "description": "The font style (e.g., `\"italic\"`)." |
| 1168 | + }, |
| 1169 | + "fontWeight": { |
| 1170 | + "$ref": "#/definitions/FontWeightUnion", |
| 1171 | + "description": "The font weight (e.g., `\"bold\"`)." |
| 1172 | + }, |
| 1173 | + "href": { |
| 1174 | + "type": "string", |
| 1175 | + "description": "A URL to load upon mouse click. If defined, the mark acts as a hyperlink." |
| 1176 | + }, |
| 1177 | + "interpolate": { |
| 1178 | + "$ref": "#/definitions/Interpolate", |
| 1179 | + "description": "The line interpolation method to use for line and area marks. One of the following:\n- `\"linear\"`: piecewise linear segments, as in a polyline.\n- `\"linear-closed\"`: close the linear segments to form a polygon.\n- `\"step\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"step-before\"`: alternate between vertical and horizontal segments, as in a step\nfunction.\n- `\"step-after\"`: alternate between horizontal and vertical segments, as in a step\nfunction.\n- `\"basis\"`: a B-spline, with control point duplication on the ends.\n- `\"basis-open\"`: an open B-spline; may not intersect the start or end.\n- `\"basis-closed\"`: a closed B-spline, as in a loop.\n- `\"cardinal\"`: a Cardinal spline, with control point duplication on the ends.\n- `\"cardinal-open\"`: an open Cardinal spline; may not intersect the start or end, but\nwill intersect other control points.\n- `\"cardinal-closed\"`: a closed Cardinal spline, as in a loop.\n- `\"bundle\"`: equivalent to basis, except the tension parameter is used to straighten the\nspline.\n- `\"monotone\"`: cubic interpolation that preserves monotonicity in y." |
| 1180 | + }, |
| 1181 | + "limit": { |
| 1359 | 1182 | "type": "number", |
| 1360 | | - "minimum": 0, |
| 1361 | | - "description": "Default max strokeWidth for strokeWidth (or rule/line's size) scale.\n\n__Default value:__ `4`" |
| 1183 | + "description": "The maximum length of the text mark in pixels (default 0, indicating no limit). The text\nvalue will be automatically truncated if the rendered size exceeds the limit." |
| 1362 | 1184 | }, |
| 1363 | | - "minBandSize": { |
| 1185 | + "opacity": { |
| 1364 | 1186 | "type": "number", |
| 1365 | 1187 | "minimum": 0, |
| 1366 | | - "description": "The default min value for mapping quantitative fields to bar and tick's size/bandSize\nscale with zero=false.\n\n__Default value:__ `2`" |
| 1188 | + "maximum": 1, |
| 1189 | + "description": "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or\n`square` marks or layered `bar` charts and `1` otherwise." |
| 1367 | 1190 | }, |
| 1368 | | - "minFontSize": { |
| 1191 | + "orient": { |
| 1192 | + "$ref": "#/definitions/Orient", |
| 1193 | + "description": "The orientation of a non-stacked bar, tick, area, and line charts.\nThe value is either horizontal (default) or vertical.\n- For bar, rule and tick, this determines whether the size of the bar and tick\nshould be applied to x or y dimension.\n- For area, this property determines the orient property of the Vega output.\n- For line, this property determines the sort order of the points in the line\nif `config.sortLineBy` is not specified.\nFor stacked charts, this is always determined by the orientation of the stack;\ntherefore explicitly specified value will be ignored." |
| 1194 | + }, |
| 1195 | + "radius": { |
| 1369 | 1196 | "type": "number", |
| 1370 | 1197 | "minimum": 0, |
| 1371 | | - "description": "The default min value for mapping quantitative fields to tick's size/fontSize scale with\nzero=false\n\n__Default value:__ `8`" |
| 1198 | + "description": "Polar coordinate radial offset, in pixels, of the text label from the origin determined\nby the `x` and `y` properties." |
| 1372 | 1199 | }, |
| 1373 | | - "minOpacity": { |
| 1200 | + "shape": { |
| 1201 | + "type": "string", |
| 1202 | + "description": "The default symbol shape to use. One of: `\"circle\"` (default), `\"square\"`, `\"cross\"`,\n`\"diamond\"`, `\"triangle-up\"`, or `\"triangle-down\"`, or a custom SVG path.\n\n__Default value:__ `\"circle\"`" |
| 1203 | + }, |
| 1204 | + "size": { |
| 1374 | 1205 | "type": "number", |
| 1375 | 1206 | "minimum": 0, |
| 1376 | | - "maximum": 1, |
| 1377 | | - "description": "Default minimum opacity for mapping a field to opacity.\n\n__Default value:__ `0.3`" |
| 1207 | + "description": "The pixel area each the point/circle/square.\nFor example: in the case of circles, the radius is determined in part by the square root\nof the size value.\n\n__Default value:__ `30`" |
| 1378 | 1208 | }, |
| 1379 | | - "minSize": { |
| 1209 | + "stroke": { |
| 1210 | + "type": "string", |
| 1211 | + "description": "Default Stroke Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 1212 | + }, |
| 1213 | + "strokeDash": { |
| 1214 | + "type": "array", |
| 1215 | + "items": { |
| 1216 | + "type": "number" |
| 1217 | + }, |
| 1218 | + "description": "An array of alternating stroke, space lengths for creating dashed or dotted lines." |
| 1219 | + }, |
| 1220 | + "strokeDashOffset": { |
| 1221 | + "type": "number", |
| 1222 | + "description": "The offset (in pixels) into which to begin drawing with the stroke dash array." |
| 1223 | + }, |
| 1224 | + "strokeOpacity": { |
| 1380 | 1225 | "type": "number", |
| 1381 | 1226 | "minimum": 0, |
| 1382 | | - "description": "Default minimum value for point size scale with zero=false.\n\n__Default value:__ `9`" |
| 1227 | + "maximum": 1, |
| 1228 | + "description": "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 1383 | 1229 | }, |
| 1384 | | - "minStrokeWidth": { |
| 1230 | + "strokeWidth": { |
| 1385 | 1231 | "type": "number", |
| 1386 | 1232 | "minimum": 0, |
| 1387 | | - "description": "Default minimum strokeWidth for strokeWidth (or rule/line's size) scale with zero=false.\n\n__Default value:__ `1`" |
| 1233 | + "description": "The stroke width, in pixels." |
| 1388 | 1234 | }, |
| 1389 | | - "pointPadding": { |
| 1235 | + "tension": { |
| 1390 | 1236 | "type": "number", |
| 1391 | 1237 | "minimum": 0, |
| 1392 | 1238 | "maximum": 1, |
| 1393 | | - "description": "Default outer padding for `x` and `y` point-ordinal scales.\n\n__Default value:__ `0.5`" |
| 1394 | | - }, |
| 1395 | | - "rangeStep": { |
| 1396 | | - "anyOf": [ |
| 1397 | | - { |
| 1398 | | - "type": "number", |
| 1399 | | - "minimum": 0 |
| 1400 | | - }, |
| 1401 | | - { |
| 1402 | | - "type": "null" |
| 1403 | | - } |
| 1404 | | - ], |
| 1405 | | - "description": "Default range step for band and point scales of (1) the `y` channel\nand (2) the `x` channel when the mark is not `text`.\n\n__Default value:__ `21`" |
| 1239 | + "description": "Depending on the interpolation type, sets the tension parameter (for line and area marks)." |
| 1406 | 1240 | }, |
| 1407 | | - "round": { |
| 1408 | | - "type": "boolean", |
| 1409 | | - "description": "If true, rounds numeric output values to integers.\nThis can be helpful for snapping to the pixel grid.\n(Only available for `x`, `y`, and `size` scales.)" |
| 1241 | + "text": { |
| 1242 | + "type": "string", |
| 1243 | + "description": "Placeholder text if the `text` channel is not specified" |
| 1410 | 1244 | }, |
| 1411 | | - "textXRangeStep": { |
| 1245 | + "theta": { |
| 1412 | 1246 | "type": "number", |
| 1413 | | - "minimum": 0, |
| 1414 | | - "description": "Default range step for `x` band and point scales of text marks.\n\n__Default value:__ `90`" |
| 1415 | | - }, |
| 1416 | | - "useUnaggregatedDomain": { |
| 1417 | | - "type": "boolean", |
| 1418 | | - "description": "Use the source data range before aggregation as scale domain instead of aggregated data\nfor aggregate axis.\n\nThis is equivalent to setting `domain` to `\"unaggregate\"` for aggregated _quantitative_\nfields by default.\n\nThis property only works with aggregate functions that produce values within the raw data\ndomain (`\"mean\"`, `\"average\"`, `\"median\"`, `\"q1\"`, `\"q3\"`, `\"min\"`, `\"max\"`). For other\naggregations that produce values outside of the raw data domain (e.g. `\"count\"`,\n`\"sum\"`), this property is ignored.\n\n__Default value:__ `false`" |
| 1247 | + "description": "Polar coordinate angle, in radians, of the text label from the origin determined by the\n`x` and `y` properties. Values for `theta` follow the same convention of `arc` mark\n`startAngle` and `endAngle` properties: angles are measured in radians, with `0`\nindicating \"north\"." |
| 1419 | 1248 | } |
| 1420 | 1249 | }, |
| 1421 | 1250 | "required": [], |
| 1422 | | - "title": "ScaleConfig", |
| 1423 | | - "description": "Scale configuration determines default properties for all [scales](scale.html). For a full list of scale configuration options, please see the [corresponding section of the scale documentation](scale.html#config)." |
| 1251 | + "title": "BarConfig", |
| 1252 | + "description": "Bar-Specific Config " |
| 1424 | 1253 | }, |
| 1425 | | - "SelectionConfig": { |
| 1254 | + "LegendConfig": { |
| 1426 | 1255 | "type": "object", |
| 1427 | 1256 | "additionalProperties": false, |
| 1428 | 1257 | "properties": { |
| 1429 | | - "interval": { |
| 1430 | | - "$ref": "#/definitions/IntervalSelectionConfig", |
| 1431 | | - "description": "The default definition for an [`interval`](selection.html#type) selection. All properties\nand transformations\nfor an interval selection definition (except `type`) may be specified here.\n\nFor instance, setting `interval` to `{\"translate\": false}` disables the ability to move\ninterval selections by default." |
| 1258 | + "cornerRadius": { |
| 1259 | + "type": "number", |
| 1260 | + "description": "Corner radius for the full legend." |
| 1432 | 1261 | }, |
| 1433 | | - "multi": { |
| 1434 | | - "$ref": "#/definitions/MultiSelectionConfig", |
| 1435 | | - "description": "The default definition for a [`multi`](selection.html#type) selection. All properties and\ntransformations\nfor a multi selection definition (except `type`) may be specified here.\n\nFor instance, setting `multi` to `{\"toggle\": \"event.altKey\"}` adds additional values to\nmulti selections when clicking with the alt-key pressed by default." |
| 1262 | + "entryPadding": { |
| 1263 | + "type": "number", |
| 1264 | + "description": "Padding (in pixels) between legend entries in a symbol legend." |
| 1436 | 1265 | }, |
| 1437 | | - "single": { |
| 1438 | | - "$ref": "#/definitions/SingleSelectionConfig", |
| 1439 | | - "description": "The default definition for a [`single`](selection.html#type) selection. All properties\nand transformations\nfor a single selection definition (except `type`) may be specified here.\n\nFor instance, setting `single` to `{\"on\": \"dblclick\"}` populates single selections on\ndouble-click by default." |
| 1440 | | - } |
| 1441 | | - }, |
| 1442 | | - "required": [], |
| 1443 | | - "title": "SelectionConfig", |
| 1444 | | - "description": "An object hash for defining default properties for each type of selections. " |
| 1445 | | - }, |
| 1446 | | - "IntervalSelectionConfig": { |
| 1447 | | - "type": "object", |
| 1448 | | - "additionalProperties": false, |
| 1449 | | - "properties": { |
| 1450 | | - "bind": { |
| 1451 | | - "$ref": "#/definitions/BindEnum", |
| 1452 | | - "description": "Establishes a two-way binding between the interval selection and the scales\nused within the same view. This allows a user to interactively pan and\nzoom the view." |
| 1266 | + "fillColor": { |
| 1267 | + "type": "string", |
| 1268 | + "description": "Background fill color for the full legend." |
| 1453 | 1269 | }, |
| 1454 | | - "empty": { |
| 1455 | | - "$ref": "#/definitions/Empty", |
| 1456 | | - "description": "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values." |
| 1270 | + "gradientHeight": { |
| 1271 | + "type": "number", |
| 1272 | + "minimum": 0, |
| 1273 | + "description": "The height of the gradient, in pixels." |
| 1457 | 1274 | }, |
| 1458 | | - "encodings": { |
| 1459 | | - "type": "array", |
| 1460 | | - "items": { |
| 1461 | | - "$ref": "#/definitions/SingleDefChannel" |
| 1462 | | - }, |
| 1463 | | - "description": "An array of encoding channels. The corresponding data field values\nmust match for a data tuple to fall within the selection." |
| 1275 | + "gradientLabelBaseline": { |
| 1276 | + "type": "string", |
| 1277 | + "description": "Text baseline for color ramp gradient labels." |
| 1464 | 1278 | }, |
| 1465 | | - "fields": { |
| 1466 | | - "type": "array", |
| 1467 | | - "items": { |
| 1468 | | - "type": "string" |
| 1469 | | - }, |
| 1470 | | - "description": "An array of field names whose values must match for a data tuple to\nfall within the selection." |
| 1279 | + "gradientLabelLimit": { |
| 1280 | + "type": "number", |
| 1281 | + "description": "The maximum allowed length in pixels of color ramp gradient labels." |
| 1471 | 1282 | }, |
| 1472 | | - "mark": { |
| 1473 | | - "$ref": "#/definitions/BrushConfig", |
| 1474 | | - "description": "An interval selection also adds a rectangle mark to depict the\nextents of the interval. The `mark` property can be used to customize the\nappearance of the mark." |
| 1283 | + "gradientLabelOffset": { |
| 1284 | + "type": "number", |
| 1285 | + "description": "Vertical offset in pixels for color ramp gradient labels." |
| 1475 | 1286 | }, |
| 1476 | | - "on": { |
| 1477 | | - "description": "A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or\nselector) that triggers the selection.\nFor interval selections, the event stream must specify a [start and\nend](https://vega.github.io/vega/docs/event-streams/#between-filters)." |
| 1287 | + "gradientStrokeColor": { |
| 1288 | + "type": "string", |
| 1289 | + "description": "The color of the gradient stroke, can be in hex color code or regular color name." |
| 1478 | 1290 | }, |
| 1479 | | - "resolve": { |
| 1480 | | - "$ref": "#/definitions/SelectionResolution", |
| 1481 | | - "description": "With layered and multi-view displays, a strategy that determines how\nselections' data queries are resolved when applied in a filter transform,\nconditional encoding rule, or scale domain." |
| 1291 | + "gradientStrokeWidth": { |
| 1292 | + "type": "number", |
| 1293 | + "minimum": 0, |
| 1294 | + "description": "The width of the gradient stroke, in pixels." |
| 1482 | 1295 | }, |
| 1483 | | - "translate": { |
| 1484 | | - "$ref": "#/definitions/Translate", |
| 1485 | | - "description": "When truthy, allows a user to interactively move an interval selection\nback-and-forth. Can be `true`, `false` (to disable panning), or a\n[Vega event stream definition](https://vega.github.io/vega/docs/event-streams/)\nwhich must include a start and end event to trigger continuous panning.\n\n__Default value:__ `true`, which corresponds to\n`[mousedown, window:mouseup] > window:mousemove!` which corresponds to\nclicks and dragging within an interval selection to reposition it." |
| 1296 | + "gradientWidth": { |
| 1297 | + "type": "number", |
| 1298 | + "minimum": 0, |
| 1299 | + "description": "The width of the gradient, in pixels." |
| 1486 | 1300 | }, |
| 1487 | | - "zoom": { |
| 1488 | | - "$ref": "#/definitions/Translate", |
| 1489 | | - "description": "When truthy, allows a user to interactively resize an interval selection.\nCan be `true`, `false` (to disable zooming), or a [Vega event stream\ndefinition](https://vega.github.io/vega/docs/event-streams/). Currently,\nonly `wheel` events are supported.\n\n\n__Default value:__ `true`, which corresponds to `wheel!`." |
| 1490 | | - } |
| 1491 | | - }, |
| 1492 | | - "required": [], |
| 1493 | | - "title": "IntervalSelectionConfig", |
| 1494 | | - "description": "The default definition for an [`interval`](selection.html#type) selection. All properties and transformations\nfor an interval selection definition (except `type`) may be specified here.\n\nFor instance, setting `interval` to `{\"translate\": false}` disables the ability to move\ninterval selections by default." |
| 1495 | | - }, |
| 1496 | | - "BrushConfig": { |
| 1497 | | - "type": "object", |
| 1498 | | - "additionalProperties": false, |
| 1499 | | - "properties": { |
| 1500 | | - "fill": { |
| 1301 | + "labelAlign": { |
| 1501 | 1302 | "type": "string", |
| 1502 | | - "description": "The fill color of the interval mark.\n\n__Default value:__ `#333333`" |
| 1303 | + "description": "The alignment of the legend label, can be left, middle or right." |
| 1503 | 1304 | }, |
| 1504 | | - "fillOpacity": { |
| 1305 | + "labelBaseline": { |
| 1306 | + "type": "string", |
| 1307 | + "description": "The position of the baseline of legend label, can be top, middle or bottom." |
| 1308 | + }, |
| 1309 | + "labelColor": { |
| 1310 | + "type": "string", |
| 1311 | + "description": "The color of the legend label, can be in hex color code or regular color name." |
| 1312 | + }, |
| 1313 | + "labelFont": { |
| 1314 | + "type": "string", |
| 1315 | + "description": "The font of the legend label." |
| 1316 | + }, |
| 1317 | + "labelFontSize": { |
| 1505 | 1318 | "type": "number", |
| 1506 | | - "description": "The fill opacity of the interval mark (a value between 0 and 1).\n\n__Default value:__ `0.125`" |
| 1319 | + "minimum": 0, |
| 1320 | + "description": "The font size of legend label.\n\n__Default value:__ `10`." |
| 1507 | 1321 | }, |
| 1508 | | - "stroke": { |
| 1322 | + "labelLimit": { |
| 1323 | + "type": "number", |
| 1324 | + "description": "Maximum allowed pixel width of axis tick labels." |
| 1325 | + }, |
| 1326 | + "labelOffset": { |
| 1327 | + "type": "number", |
| 1328 | + "minimum": 0, |
| 1329 | + "description": "The offset of the legend label." |
| 1330 | + }, |
| 1331 | + "offset": { |
| 1332 | + "type": "number", |
| 1333 | + "description": "The offset, in pixels, by which to displace the legend from the edge of the enclosing\ngroup or data rectangle.\n\n__Default value:__ `0`" |
| 1334 | + }, |
| 1335 | + "orient": { |
| 1336 | + "$ref": "#/definitions/LegendOrient", |
| 1337 | + "description": "The orientation of the legend, which determines how the legend is positioned within the\nscene. One of \"left\", \"right\", \"top-left\", \"top-right\", \"bottom-left\", \"bottom-right\",\n\"none\".\n\n__Default value:__ `\"right\"`" |
| 1338 | + }, |
| 1339 | + "padding": { |
| 1340 | + "type": "number", |
| 1341 | + "description": "The padding, in pixels, between the legend and axis." |
| 1342 | + }, |
| 1343 | + "shortTimeLabels": { |
| 1344 | + "type": "boolean", |
| 1345 | + "description": "Whether month names and weekday names should be abbreviated.\n\n__Default value:__ `false`" |
| 1346 | + }, |
| 1347 | + "strokeColor": { |
| 1509 | 1348 | "type": "string", |
| 1510 | | - "description": "The stroke color of the interval mark.\n\n__Default value:__ `#ffffff`" |
| 1349 | + "description": "Border stroke color for the full legend." |
| 1511 | 1350 | }, |
| 1512 | 1351 | "strokeDash": { |
| 1513 | 1352 | "type": "array", |
| 1514 | 1353 | "items": { |
| 1515 | 1354 | "type": "number" |
| 1516 | 1355 | }, |
| 1517 | | - "description": "An array of alternating stroke and space lengths,\nfor creating dashed or dotted lines." |
| 1356 | + "description": "Border stroke dash pattern for the full legend." |
| 1518 | 1357 | }, |
| 1519 | | - "strokeDashOffset": { |
| 1358 | + "strokeWidth": { |
| 1520 | 1359 | "type": "number", |
| 1521 | | - "description": "The offset (in pixels) with which to begin drawing the stroke dash array." |
| 1360 | + "description": "Border stroke width for the full legend." |
| 1522 | 1361 | }, |
| 1523 | | - "strokeOpacity": { |
| 1362 | + "symbolColor": { |
| 1363 | + "type": "string", |
| 1364 | + "description": "The color of the legend symbol," |
| 1365 | + }, |
| 1366 | + "symbolSize": { |
| 1524 | 1367 | "type": "number", |
| 1525 | | - "description": "The stroke opacity of the interval mark (a value between 0 and 1)." |
| 1368 | + "minimum": 0, |
| 1369 | + "description": "The size of the legend symbol, in pixels." |
| 1526 | 1370 | }, |
| 1527 | | - "strokeWidth": { |
| 1371 | + "symbolStrokeWidth": { |
| 1528 | 1372 | "type": "number", |
| 1529 | | - "description": "The stroke width of the interval mark." |
| 1373 | + "minimum": 0, |
| 1374 | + "description": "The width of the symbol's stroke." |
| 1375 | + }, |
| 1376 | + "symbolType": { |
| 1377 | + "type": "string", |
| 1378 | + "description": "Default shape type (such as \"circle\") for legend symbols." |
| 1379 | + }, |
| 1380 | + "titleAlign": { |
| 1381 | + "type": "string", |
| 1382 | + "description": "Horizontal text alignment for legend titles." |
| 1383 | + }, |
| 1384 | + "titleBaseline": { |
| 1385 | + "type": "string", |
| 1386 | + "description": "Vertical text baseline for legend titles." |
| 1387 | + }, |
| 1388 | + "titleColor": { |
| 1389 | + "type": "string", |
| 1390 | + "description": "The color of the legend title, can be in hex color code or regular color name." |
| 1391 | + }, |
| 1392 | + "titleFont": { |
| 1393 | + "type": "string", |
| 1394 | + "description": "The font of the legend title." |
| 1395 | + }, |
| 1396 | + "titleFontSize": { |
| 1397 | + "type": "number", |
| 1398 | + "description": "The font size of the legend title." |
| 1399 | + }, |
| 1400 | + "titleFontWeight": { |
| 1401 | + "$ref": "#/definitions/TitleFontWeight", |
| 1402 | + "description": "The font weight of the legend title." |
| 1403 | + }, |
| 1404 | + "titleLimit": { |
| 1405 | + "type": "number", |
| 1406 | + "description": "Maximum allowed pixel width of axis titles." |
| 1407 | + }, |
| 1408 | + "titlePadding": { |
| 1409 | + "type": "number", |
| 1410 | + "description": "The padding, in pixels, between title and legend." |
| 1530 | 1411 | } |
| 1531 | 1412 | }, |
| 1532 | 1413 | "required": [], |
| 1533 | | - "title": "BrushConfig", |
| 1534 | | - "description": "An interval selection also adds a rectangle mark to depict the\nextents of the interval. The `mark` property can be used to customize the\nappearance of the mark." |
| 1414 | + "title": "LegendConfig", |
| 1415 | + "description": "Legend configuration, which determines default properties for all [legends](legend.html). For a full list of legend configuration options, please see the [corresponding section of in the legend documentation](legend.html#config)." |
| 1535 | 1416 | }, |
| 1536 | | - "MultiSelectionConfig": { |
| 1417 | + "PaddingClass": { |
| 1537 | 1418 | "type": "object", |
| 1538 | 1419 | "additionalProperties": false, |
| 1539 | 1420 | "properties": { |
| 1540 | | - "empty": { |
| 1541 | | - "$ref": "#/definitions/Empty", |
| 1542 | | - "description": "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values." |
| 1421 | + "bottom": { |
| 1422 | + "type": "number" |
| 1543 | 1423 | }, |
| 1544 | | - "encodings": { |
| 1545 | | - "type": "array", |
| 1546 | | - "items": { |
| 1547 | | - "$ref": "#/definitions/SingleDefChannel" |
| 1548 | | - }, |
| 1549 | | - "description": "An array of encoding channels. The corresponding data field values\nmust match for a data tuple to fall within the selection." |
| 1424 | + "left": { |
| 1425 | + "type": "number" |
| 1550 | 1426 | }, |
| 1551 | | - "fields": { |
| 1552 | | - "type": "array", |
| 1553 | | - "items": { |
| 1554 | | - "type": "string" |
| 1555 | | - }, |
| 1556 | | - "description": "An array of field names whose values must match for a data tuple to\nfall within the selection." |
| 1557 | | - }, |
| 1558 | | - "nearest": { |
| 1559 | | - "type": "boolean", |
| 1560 | | - "description": "When true, an invisible voronoi diagram is computed to accelerate discrete\nselection. The data value _nearest_ the mouse cursor is added to the selection.\n\nSee the [nearest transform](nearest.html) documentation for more information." |
| 1561 | | - }, |
| 1562 | | - "on": { |
| 1563 | | - "description": "A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or\nselector) that triggers the selection.\nFor interval selections, the event stream must specify a [start and\nend](https://vega.github.io/vega/docs/event-streams/#between-filters)." |
| 1564 | | - }, |
| 1565 | | - "resolve": { |
| 1566 | | - "$ref": "#/definitions/SelectionResolution", |
| 1567 | | - "description": "With layered and multi-view displays, a strategy that determines how\nselections' data queries are resolved when applied in a filter transform,\nconditional encoding rule, or scale domain." |
| 1427 | + "right": { |
| 1428 | + "type": "number" |
| 1568 | 1429 | }, |
| 1569 | | - "toggle": { |
| 1570 | | - "$ref": "#/definitions/Translate", |
| 1571 | | - "description": "Controls whether data values should be toggled or only ever inserted into\nmulti selections. Can be `true`, `false` (for insertion only), or a\n[Vega expression](https://vega.github.io/vega/docs/expressions/).\n\n__Default value:__ `true`, which corresponds to `event.shiftKey` (i.e.,\ndata values are toggled when a user interacts with the shift-key pressed).\n\nSee the [toggle transform](toggle.html) documentation for more information." |
| 1430 | + "top": { |
| 1431 | + "type": "number" |
| 1572 | 1432 | } |
| 1573 | 1433 | }, |
| 1574 | 1434 | "required": [], |
| 1575 | | - "title": "MultiSelectionConfig", |
| 1576 | | - "description": "The default definition for a [`multi`](selection.html#type) selection. All properties and transformations\nfor a multi selection definition (except `type`) may be specified here.\n\nFor instance, setting `multi` to `{\"toggle\": \"event.altKey\"}` adds additional values to\nmulti selections when clicking with the alt-key pressed by default." |
| 1435 | + "title": "PaddingClass" |
| 1577 | 1436 | }, |
| 1578 | | - "SingleSelectionConfig": { |
| 1437 | + "ProjectionConfig": { |
| 1579 | 1438 | "type": "object", |
| 1580 | 1439 | "additionalProperties": false, |
| 1581 | 1440 | "properties": { |
| 1582 | | - "bind": { |
| 1583 | | - "type": "object", |
| 1584 | | - "additionalProperties": { |
| 1585 | | - "$ref": "#/definitions/VGBinding" |
| 1441 | + "center": { |
| 1442 | + "type": "array", |
| 1443 | + "items": { |
| 1444 | + "type": "number" |
| 1586 | 1445 | }, |
| 1587 | | - "description": "Establish a two-way binding between a single selection and input elements\n(also known as dynamic query widgets). A binding takes the form of\nVega's [input element binding definition](https://vega.github.io/vega/docs/signals/#bind)\nor can be a mapping between projected field/encodings and binding definitions.\n\nSee the [bind transform](bind.html) documentation for more information." |
| 1446 | + "description": "Sets the projection’s center to the specified center, a two-element array of longitude\nand latitude in degrees.\n\n__Default value:__ `[0, 0]`" |
| 1588 | 1447 | }, |
| 1589 | | - "empty": { |
| 1590 | | - "$ref": "#/definitions/Empty", |
| 1591 | | - "description": "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values." |
| 1448 | + "clipAngle": { |
| 1449 | + "type": "number", |
| 1450 | + "description": "Sets the projection’s clipping circle radius to the specified angle in degrees. If\n`null`, switches to [antimeridian](http://bl.ocks.org/mbostock/3788999) cutting rather\nthan small-circle clipping." |
| 1592 | 1451 | }, |
| 1593 | | - "encodings": { |
| 1452 | + "clipExtent": { |
| 1594 | 1453 | "type": "array", |
| 1595 | 1454 | "items": { |
| 1596 | | - "$ref": "#/definitions/SingleDefChannel" |
| 1455 | + "type": "array", |
| 1456 | + "items": { |
| 1457 | + "type": "number" |
| 1458 | + } |
| 1597 | 1459 | }, |
| 1598 | | - "description": "An array of encoding channels. The corresponding data field values\nmust match for a data tuple to fall within the selection." |
| 1460 | + "description": "Sets the projection’s viewport clip extent to the specified bounds in pixels. The extent\nbounds are specified as an array `[[x0, y0], [x1, y1]]`, where `x0` is the left-side of\nthe viewport, `y0` is the top, `x1` is the right and `y1` is the bottom. If `null`, no\nviewport clipping is performed." |
| 1599 | 1461 | }, |
| 1600 | | - "fields": { |
| 1462 | + "coefficient": { |
| 1463 | + "type": "number" |
| 1464 | + }, |
| 1465 | + "distance": { |
| 1466 | + "type": "number" |
| 1467 | + }, |
| 1468 | + "fraction": { |
| 1469 | + "type": "number" |
| 1470 | + }, |
| 1471 | + "lobes": { |
| 1472 | + "type": "number" |
| 1473 | + }, |
| 1474 | + "parallel": { |
| 1475 | + "type": "number" |
| 1476 | + }, |
| 1477 | + "precision": { |
| 1478 | + "$ref": "#/definitions/PurplePrecision", |
| 1479 | + "description": "Sets the threshold for the projection’s [adaptive\nresampling](http://bl.ocks.org/mbostock/3795544) to the specified value in pixels. This\nvalue corresponds to the [Douglas–Peucker\ndistance](http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm).\nIf precision is not specified, returns the projection’s current resampling precision\nwhich defaults to `√0.5 ≅ 0.70710…`." |
| 1480 | + }, |
| 1481 | + "radius": { |
| 1482 | + "type": "number" |
| 1483 | + }, |
| 1484 | + "ratio": { |
| 1485 | + "type": "number" |
| 1486 | + }, |
| 1487 | + "rotate": { |
| 1601 | 1488 | "type": "array", |
| 1602 | 1489 | "items": { |
| 1603 | | - "type": "string" |
| 1490 | + "type": "number" |
| 1604 | 1491 | }, |
| 1605 | | - "description": "An array of field names whose values must match for a data tuple to\nfall within the selection." |
| 1492 | + "description": "Sets the projection’s three-axis rotation to the specified angles, which must be a two-\nor three-element array of numbers [`lambda`, `phi`, `gamma`] specifying the rotation\nangles in degrees about each spherical axis. (These correspond to yaw, pitch and roll.)\n\n__Default value:__ `[0, 0, 0]`" |
| 1606 | 1493 | }, |
| 1607 | | - "nearest": { |
| 1608 | | - "type": "boolean", |
| 1609 | | - "description": "When true, an invisible voronoi diagram is computed to accelerate discrete\nselection. The data value _nearest_ the mouse cursor is added to the selection.\n\nSee the [nearest transform](nearest.html) documentation for more information." |
| 1494 | + "spacing": { |
| 1495 | + "type": "number" |
| 1610 | 1496 | }, |
| 1611 | | - "on": { |
| 1612 | | - "description": "A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or\nselector) that triggers the selection.\nFor interval selections, the event stream must specify a [start and\nend](https://vega.github.io/vega/docs/event-streams/#between-filters)." |
| 1497 | + "tilt": { |
| 1498 | + "type": "number" |
| 1613 | 1499 | }, |
| 1614 | | - "resolve": { |
| 1615 | | - "$ref": "#/definitions/SelectionResolution", |
| 1616 | | - "description": "With layered and multi-view displays, a strategy that determines how\nselections' data queries are resolved when applied in a filter transform,\nconditional encoding rule, or scale domain." |
| 1500 | + "type": { |
| 1501 | + "$ref": "#/definitions/VGProjectionType", |
| 1502 | + "description": "The cartographic projection to use. This value is case-insensitive, for example\n`\"albers\"` and `\"Albers\"` indicate the same projection type. You can find all valid\nprojection types [in the\ndocumentation](https://vega.github.io/vega-lite/docs/projection.html#projection-types).\n\n__Default value:__ `mercator`" |
| 1617 | 1503 | } |
| 1618 | 1504 | }, |
| 1619 | 1505 | "required": [], |
| 1620 | | - "title": "SingleSelectionConfig", |
| 1621 | | - "description": "The default definition for a [`single`](selection.html#type) selection. All properties and transformations\n for a single selection definition (except `type`) may be specified here.\n\nFor instance, setting `single` to `{\"on\": \"dblclick\"}` populates single selections on double-click by default." |
| 1506 | + "title": "ProjectionConfig", |
| 1507 | + "description": "Projection configuration, which determines default properties for all [projections](projection.html). For a full list of projection configuration options, please see the [corresponding section of the projection documentation](projection.html#config).\nAny property of Projection can be in config" |
| 1622 | 1508 | }, |
| 1623 | | - "VGMarkConfig": { |
| 1509 | + "PurplePrecision": { |
| 1624 | 1510 | "type": "object", |
| 1625 | | - "additionalProperties": false, |
| 1511 | + "additionalProperties": { |
| 1512 | + "type": "string" |
| 1513 | + }, |
| 1626 | 1514 | "properties": { |
| 1627 | | - "align": { |
| 1628 | | - "$ref": "#/definitions/HorizontalAlign", |
| 1629 | | - "description": "The horizontal alignment of the text. One of `\"left\"`, `\"right\"`, `\"center\"`." |
| 1630 | | - }, |
| 1631 | | - "angle": { |
| 1515 | + "length": { |
| 1632 | 1516 | "type": "number", |
| 1633 | | - "minimum": 0, |
| 1634 | | - "maximum": 360, |
| 1635 | | - "description": "The rotation angle of the text, in degrees." |
| 1517 | + "description": "Returns the length of a String object." |
| 1518 | + } |
| 1519 | + }, |
| 1520 | + "required": [ |
| 1521 | + "length" |
| 1522 | + ], |
| 1523 | + "title": "PurplePrecision", |
| 1524 | + "description": "Sets the threshold for the projection’s [adaptive resampling](http://bl.ocks.org/mbostock/3795544) to the specified value in pixels. This value corresponds to the [Douglas–Peucker distance](http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm). If precision is not specified, returns the projection’s current resampling precision which defaults to `√0.5 ≅ 0.70710…`." |
| 1525 | + }, |
| 1526 | + "RangeConfig": { |
| 1527 | + "type": "object", |
| 1528 | + "additionalProperties": { |
| 1529 | + "$ref": "#/definitions/RangeConfigValue" |
| 1530 | + }, |
| 1531 | + "properties": { |
| 1532 | + "category": { |
| 1533 | + "$ref": "#/definitions/Category", |
| 1534 | + "description": "Default range for _nominal_ (categorical) fields." |
| 1636 | 1535 | }, |
| 1637 | | - "baseline": { |
| 1638 | | - "$ref": "#/definitions/VerticalAlign", |
| 1639 | | - "description": "The vertical alignment of the text. One of `\"top\"`, `\"middle\"`, `\"bottom\"`.\n\n__Default value:__ `\"middle\"`" |
| 1536 | + "diverging": { |
| 1537 | + "$ref": "#/definitions/Category", |
| 1538 | + "description": "Default range for diverging _quantitative_ fields." |
| 1640 | 1539 | }, |
| 1641 | | - "cursor": { |
| 1642 | | - "$ref": "#/definitions/Cursor", |
| 1643 | | - "description": "The mouse cursor used over the mark. Any valid [CSS cursor\ntype](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used." |
| 1540 | + "heatmap": { |
| 1541 | + "$ref": "#/definitions/Category", |
| 1542 | + "description": "Default range for _quantitative_ heatmaps." |
| 1644 | 1543 | }, |
| 1645 | | - "dx": { |
| 1646 | | - "type": "number", |
| 1647 | | - "description": "The horizontal offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 1544 | + "ordinal": { |
| 1545 | + "$ref": "#/definitions/Category", |
| 1546 | + "description": "Default range for _ordinal_ fields." |
| 1648 | 1547 | }, |
| 1649 | | - "dy": { |
| 1650 | | - "type": "number", |
| 1651 | | - "description": "The vertical offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 1548 | + "ramp": { |
| 1549 | + "$ref": "#/definitions/Category", |
| 1550 | + "description": "Default range for _quantitative_ and _temporal_ fields." |
| 1652 | 1551 | }, |
| 1653 | | - "fill": { |
| 1654 | | - "type": "string", |
| 1655 | | - "description": "Default Fill Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 1552 | + "symbol": { |
| 1553 | + "type": "array", |
| 1554 | + "items": { |
| 1555 | + "type": "string" |
| 1556 | + }, |
| 1557 | + "description": "Default range palette for the `shape` channel." |
| 1558 | + } |
| 1559 | + }, |
| 1560 | + "required": [], |
| 1561 | + "title": "RangeConfig", |
| 1562 | + "description": "An object hash that defines default range arrays or schemes for using with scales.\nFor a full list of scale range configuration options, please see the [corresponding section of the scale documentation](scale.html#config)." |
| 1563 | + }, |
| 1564 | + "VGScheme": { |
| 1565 | + "type": "object", |
| 1566 | + "additionalProperties": false, |
| 1567 | + "properties": { |
| 1568 | + "count": { |
| 1569 | + "type": "number" |
| 1656 | 1570 | }, |
| 1657 | | - "fillOpacity": { |
| 1571 | + "extent": { |
| 1572 | + "type": "array", |
| 1573 | + "items": { |
| 1574 | + "type": "number" |
| 1575 | + } |
| 1576 | + }, |
| 1577 | + "scheme": { |
| 1578 | + "type": "string" |
| 1579 | + } |
| 1580 | + }, |
| 1581 | + "required": [ |
| 1582 | + "scheme" |
| 1583 | + ], |
| 1584 | + "title": "VGScheme" |
| 1585 | + }, |
| 1586 | + "RangeConfigValueClass": { |
| 1587 | + "type": "object", |
| 1588 | + "additionalProperties": false, |
| 1589 | + "properties": { |
| 1590 | + "step": { |
| 1591 | + "type": "number" |
| 1592 | + } |
| 1593 | + }, |
| 1594 | + "required": [ |
| 1595 | + "step" |
| 1596 | + ], |
| 1597 | + "title": "RangeConfigValueClass" |
| 1598 | + }, |
| 1599 | + "ScaleConfig": { |
| 1600 | + "type": "object", |
| 1601 | + "additionalProperties": false, |
| 1602 | + "properties": { |
| 1603 | + "bandPaddingInner": { |
| 1658 | 1604 | "type": "number", |
| 1659 | 1605 | "minimum": 0, |
| 1660 | 1606 | "maximum": 1, |
| 1661 | | - "description": "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 1662 | | - }, |
| 1663 | | - "font": { |
| 1664 | | - "type": "string", |
| 1665 | | - "description": "The typeface to set the text in (e.g., `\"Helvetica Neue\"`)." |
| 1607 | + "description": "Default inner padding for `x` and `y` band-ordinal scales.\n\n__Default value:__ `0.1`" |
| 1666 | 1608 | }, |
| 1667 | | - "fontSize": { |
| 1609 | + "bandPaddingOuter": { |
| 1668 | 1610 | "type": "number", |
| 1669 | 1611 | "minimum": 0, |
| 1670 | | - "description": "The font size, in pixels." |
| 1671 | | - }, |
| 1672 | | - "fontStyle": { |
| 1673 | | - "$ref": "#/definitions/FontStyle", |
| 1674 | | - "description": "The font style (e.g., `\"italic\"`)." |
| 1675 | | - }, |
| 1676 | | - "fontWeight": { |
| 1677 | | - "$ref": "#/definitions/FontWeightUnion", |
| 1678 | | - "description": "The font weight (e.g., `\"bold\"`)." |
| 1679 | | - }, |
| 1680 | | - "href": { |
| 1681 | | - "type": "string", |
| 1682 | | - "description": "A URL to load upon mouse click. If defined, the mark acts as a hyperlink." |
| 1612 | + "maximum": 1, |
| 1613 | + "description": "Default outer padding for `x` and `y` band-ordinal scales.\nIf not specified, by default, band scale's paddingOuter is paddingInner/2." |
| 1683 | 1614 | }, |
| 1684 | | - "interpolate": { |
| 1685 | | - "$ref": "#/definitions/Interpolate", |
| 1686 | | - "description": "The line interpolation method to use for line and area marks. One of the following:\n- `\"linear\"`: piecewise linear segments, as in a polyline.\n- `\"linear-closed\"`: close the linear segments to form a polygon.\n- `\"step\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"step-before\"`: alternate between vertical and horizontal segments, as in a step\nfunction.\n- `\"step-after\"`: alternate between horizontal and vertical segments, as in a step\nfunction.\n- `\"basis\"`: a B-spline, with control point duplication on the ends.\n- `\"basis-open\"`: an open B-spline; may not intersect the start or end.\n- `\"basis-closed\"`: a closed B-spline, as in a loop.\n- `\"cardinal\"`: a Cardinal spline, with control point duplication on the ends.\n- `\"cardinal-open\"`: an open Cardinal spline; may not intersect the start or end, but\nwill intersect other control points.\n- `\"cardinal-closed\"`: a closed Cardinal spline, as in a loop.\n- `\"bundle\"`: equivalent to basis, except the tension parameter is used to straighten the\nspline.\n- `\"monotone\"`: cubic interpolation that preserves monotonicity in y." |
| 1615 | + "clamp": { |
| 1616 | + "type": "boolean", |
| 1617 | + "description": "If true, values that exceed the data domain are clamped to either the minimum or maximum\nrange value" |
| 1687 | 1618 | }, |
| 1688 | | - "limit": { |
| 1619 | + "continuousPadding": { |
| 1689 | 1620 | "type": "number", |
| 1690 | | - "description": "The maximum length of the text mark in pixels (default 0, indicating no limit). The text\nvalue will be automatically truncated if the rendered size exceeds the limit." |
| 1621 | + "minimum": 0, |
| 1622 | + "description": "Default padding for continuous scales.\n\n__Default:__ `5` for continuous x-scale of a vertical bar and continuous y-scale of a\nhorizontal bar.; `0` otherwise." |
| 1691 | 1623 | }, |
| 1692 | | - "opacity": { |
| 1624 | + "maxBandSize": { |
| 1693 | 1625 | "type": "number", |
| 1694 | 1626 | "minimum": 0, |
| 1695 | | - "maximum": 1, |
| 1696 | | - "description": "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or\n`square` marks or layered `bar` charts and `1` otherwise." |
| 1697 | | - }, |
| 1698 | | - "orient": { |
| 1699 | | - "$ref": "#/definitions/Orient", |
| 1700 | | - "description": "The orientation of a non-stacked bar, tick, area, and line charts.\nThe value is either horizontal (default) or vertical.\n- For bar, rule and tick, this determines whether the size of the bar and tick\nshould be applied to x or y dimension.\n- For area, this property determines the orient property of the Vega output.\n- For line, this property determines the sort order of the points in the line\nif `config.sortLineBy` is not specified.\nFor stacked charts, this is always determined by the orientation of the stack;\ntherefore explicitly specified value will be ignored." |
| 1627 | + "description": "The default max value for mapping quantitative fields to bar's size/bandSize.\n\nIf undefined (default), we will use the scale's `rangeStep` - 1." |
| 1701 | 1628 | }, |
| 1702 | | - "radius": { |
| 1629 | + "maxFontSize": { |
| 1703 | 1630 | "type": "number", |
| 1704 | 1631 | "minimum": 0, |
| 1705 | | - "description": "Polar coordinate radial offset, in pixels, of the text label from the origin determined\nby the `x` and `y` properties." |
| 1632 | + "description": "The default max value for mapping quantitative fields to text's size/fontSize.\n\n__Default value:__ `40`" |
| 1706 | 1633 | }, |
| 1707 | | - "shape": { |
| 1708 | | - "type": "string", |
| 1709 | | - "description": "The default symbol shape to use. One of: `\"circle\"` (default), `\"square\"`, `\"cross\"`,\n`\"diamond\"`, `\"triangle-up\"`, or `\"triangle-down\"`, or a custom SVG path.\n\n__Default value:__ `\"circle\"`" |
| 1710 | | - }, |
| 1711 | | - "size": { |
| 1634 | + "maxOpacity": { |
| 1712 | 1635 | "type": "number", |
| 1713 | 1636 | "minimum": 0, |
| 1714 | | - "description": "The pixel area each the point/circle/square.\nFor example: in the case of circles, the radius is determined in part by the square root\nof the size value.\n\n__Default value:__ `30`" |
| 1715 | | - }, |
| 1716 | | - "stroke": { |
| 1717 | | - "type": "string", |
| 1718 | | - "description": "Default Stroke Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 1719 | | - }, |
| 1720 | | - "strokeDash": { |
| 1721 | | - "type": "array", |
| 1722 | | - "items": { |
| 1723 | | - "type": "number" |
| 1724 | | - }, |
| 1725 | | - "description": "An array of alternating stroke, space lengths for creating dashed or dotted lines." |
| 1637 | + "maximum": 1, |
| 1638 | + "description": "Default max opacity for mapping a field to opacity.\n\n__Default value:__ `0.8`" |
| 1726 | 1639 | }, |
| 1727 | | - "strokeDashOffset": { |
| 1640 | + "maxSize": { |
| 1728 | 1641 | "type": "number", |
| 1729 | | - "description": "The offset (in pixels) into which to begin drawing with the stroke dash array." |
| 1642 | + "minimum": 0, |
| 1643 | + "description": "Default max value for point size scale." |
| 1730 | 1644 | }, |
| 1731 | | - "strokeOpacity": { |
| 1645 | + "maxStrokeWidth": { |
| 1732 | 1646 | "type": "number", |
| 1733 | 1647 | "minimum": 0, |
| 1734 | | - "maximum": 1, |
| 1735 | | - "description": "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 1648 | + "description": "Default max strokeWidth for strokeWidth (or rule/line's size) scale.\n\n__Default value:__ `4`" |
| 1736 | 1649 | }, |
| 1737 | | - "strokeWidth": { |
| 1650 | + "minBandSize": { |
| 1738 | 1651 | "type": "number", |
| 1739 | 1652 | "minimum": 0, |
| 1740 | | - "description": "The stroke width, in pixels." |
| 1653 | + "description": "The default min value for mapping quantitative fields to bar and tick's size/bandSize\nscale with zero=false.\n\n__Default value:__ `2`" |
| 1741 | 1654 | }, |
| 1742 | | - "tension": { |
| 1655 | + "minFontSize": { |
| 1743 | 1656 | "type": "number", |
| 1744 | 1657 | "minimum": 0, |
| 1745 | | - "maximum": 1, |
| 1746 | | - "description": "Depending on the interpolation type, sets the tension parameter (for line and area marks)." |
| 1747 | | - }, |
| 1748 | | - "text": { |
| 1749 | | - "type": "string", |
| 1750 | | - "description": "Placeholder text if the `text` channel is not specified" |
| 1658 | + "description": "The default min value for mapping quantitative fields to tick's size/fontSize scale with\nzero=false\n\n__Default value:__ `8`" |
| 1751 | 1659 | }, |
| 1752 | | - "theta": { |
| 1660 | + "minOpacity": { |
| 1753 | 1661 | "type": "number", |
| 1754 | | - "description": "Polar coordinate angle, in radians, of the text label from the origin determined by the\n`x` and `y` properties. Values for `theta` follow the same convention of `arc` mark\n`startAngle` and `endAngle` properties: angles are measured in radians, with `0`\nindicating \"north\"." |
| 1755 | | - } |
| 1756 | | - }, |
| 1757 | | - "required": [], |
| 1758 | | - "title": "VGMarkConfig" |
| 1759 | | - }, |
| 1760 | | - "TextConfig": { |
| 1761 | | - "type": "object", |
| 1762 | | - "additionalProperties": false, |
| 1763 | | - "properties": { |
| 1764 | | - "align": { |
| 1765 | | - "$ref": "#/definitions/HorizontalAlign", |
| 1766 | | - "description": "The horizontal alignment of the text. One of `\"left\"`, `\"right\"`, `\"center\"`." |
| 1662 | + "minimum": 0, |
| 1663 | + "maximum": 1, |
| 1664 | + "description": "Default minimum opacity for mapping a field to opacity.\n\n__Default value:__ `0.3`" |
| 1767 | 1665 | }, |
| 1768 | | - "angle": { |
| 1666 | + "minSize": { |
| 1769 | 1667 | "type": "number", |
| 1770 | 1668 | "minimum": 0, |
| 1771 | | - "maximum": 360, |
| 1772 | | - "description": "The rotation angle of the text, in degrees." |
| 1773 | | - }, |
| 1774 | | - "baseline": { |
| 1775 | | - "$ref": "#/definitions/VerticalAlign", |
| 1776 | | - "description": "The vertical alignment of the text. One of `\"top\"`, `\"middle\"`, `\"bottom\"`.\n\n__Default value:__ `\"middle\"`" |
| 1777 | | - }, |
| 1778 | | - "color": { |
| 1779 | | - "type": "string", |
| 1780 | | - "description": "Default color. Note that `fill` and `stroke` have higher precedence than `color` and\nwill override `color`.\n\n__Default value:__ <span style=\"color: #4682b4;\">■</span> `\"#4682b4\"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 1781 | | - }, |
| 1782 | | - "cursor": { |
| 1783 | | - "$ref": "#/definitions/Cursor", |
| 1784 | | - "description": "The mouse cursor used over the mark. Any valid [CSS cursor\ntype](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used." |
| 1669 | + "description": "Default minimum value for point size scale with zero=false.\n\n__Default value:__ `9`" |
| 1785 | 1670 | }, |
| 1786 | | - "dx": { |
| 1671 | + "minStrokeWidth": { |
| 1787 | 1672 | "type": "number", |
| 1788 | | - "description": "The horizontal offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 1673 | + "minimum": 0, |
| 1674 | + "description": "Default minimum strokeWidth for strokeWidth (or rule/line's size) scale with zero=false.\n\n__Default value:__ `1`" |
| 1789 | 1675 | }, |
| 1790 | | - "dy": { |
| 1676 | + "pointPadding": { |
| 1791 | 1677 | "type": "number", |
| 1792 | | - "description": "The vertical offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 1678 | + "minimum": 0, |
| 1679 | + "maximum": 1, |
| 1680 | + "description": "Default outer padding for `x` and `y` point-ordinal scales.\n\n__Default value:__ `0.5`" |
| 1793 | 1681 | }, |
| 1794 | | - "fill": { |
| 1795 | | - "type": "string", |
| 1796 | | - "description": "Default Fill Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 1682 | + "rangeStep": { |
| 1683 | + "anyOf": [ |
| 1684 | + { |
| 1685 | + "type": "number", |
| 1686 | + "minimum": 0 |
| 1687 | + }, |
| 1688 | + { |
| 1689 | + "type": "null" |
| 1690 | + } |
| 1691 | + ], |
| 1692 | + "description": "Default range step for band and point scales of (1) the `y` channel\nand (2) the `x` channel when the mark is not `text`.\n\n__Default value:__ `21`" |
| 1797 | 1693 | }, |
| 1798 | | - "filled": { |
| 1694 | + "round": { |
| 1799 | 1695 | "type": "boolean", |
| 1800 | | - "description": "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 1696 | + "description": "If true, rounds numeric output values to integers.\nThis can be helpful for snapping to the pixel grid.\n(Only available for `x`, `y`, and `size` scales.)" |
| 1801 | 1697 | }, |
| 1802 | | - "fillOpacity": { |
| 1698 | + "textXRangeStep": { |
| 1803 | 1699 | "type": "number", |
| 1804 | 1700 | "minimum": 0, |
| 1805 | | - "maximum": 1, |
| 1806 | | - "description": "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 1701 | + "description": "Default range step for `x` band and point scales of text marks.\n\n__Default value:__ `90`" |
| 1807 | 1702 | }, |
| 1808 | | - "font": { |
| 1809 | | - "type": "string", |
| 1810 | | - "description": "The typeface to set the text in (e.g., `\"Helvetica Neue\"`)." |
| 1703 | + "useUnaggregatedDomain": { |
| 1704 | + "type": "boolean", |
| 1705 | + "description": "Use the source data range before aggregation as scale domain instead of aggregated data\nfor aggregate axis.\n\nThis is equivalent to setting `domain` to `\"unaggregate\"` for aggregated _quantitative_\nfields by default.\n\nThis property only works with aggregate functions that produce values within the raw data\ndomain (`\"mean\"`, `\"average\"`, `\"median\"`, `\"q1\"`, `\"q3\"`, `\"min\"`, `\"max\"`). For other\naggregations that produce values outside of the raw data domain (e.g. `\"count\"`,\n`\"sum\"`), this property is ignored.\n\n__Default value:__ `false`" |
| 1706 | + } |
| 1707 | + }, |
| 1708 | + "required": [], |
| 1709 | + "title": "ScaleConfig", |
| 1710 | + "description": "Scale configuration determines default properties for all [scales](scale.html). For a full list of scale configuration options, please see the [corresponding section of the scale documentation](scale.html#config)." |
| 1711 | + }, |
| 1712 | + "SelectionConfig": { |
| 1713 | + "type": "object", |
| 1714 | + "additionalProperties": false, |
| 1715 | + "properties": { |
| 1716 | + "interval": { |
| 1717 | + "$ref": "#/definitions/IntervalSelectionConfig", |
| 1718 | + "description": "The default definition for an [`interval`](selection.html#type) selection. All properties\nand transformations\nfor an interval selection definition (except `type`) may be specified here.\n\nFor instance, setting `interval` to `{\"translate\": false}` disables the ability to move\ninterval selections by default." |
| 1811 | 1719 | }, |
| 1812 | | - "fontSize": { |
| 1813 | | - "type": "number", |
| 1814 | | - "minimum": 0, |
| 1815 | | - "description": "The font size, in pixels." |
| 1720 | + "multi": { |
| 1721 | + "$ref": "#/definitions/MultiSelectionConfig", |
| 1722 | + "description": "The default definition for a [`multi`](selection.html#type) selection. All properties and\ntransformations\nfor a multi selection definition (except `type`) may be specified here.\n\nFor instance, setting `multi` to `{\"toggle\": \"event.altKey\"}` adds additional values to\nmulti selections when clicking with the alt-key pressed by default." |
| 1816 | 1723 | }, |
| 1817 | | - "fontStyle": { |
| 1818 | | - "$ref": "#/definitions/FontStyle", |
| 1819 | | - "description": "The font style (e.g., `\"italic\"`)." |
| 1724 | + "single": { |
| 1725 | + "$ref": "#/definitions/SingleSelectionConfig", |
| 1726 | + "description": "The default definition for a [`single`](selection.html#type) selection. All properties\nand transformations\nfor a single selection definition (except `type`) may be specified here.\n\nFor instance, setting `single` to `{\"on\": \"dblclick\"}` populates single selections on\ndouble-click by default." |
| 1727 | + } |
| 1728 | + }, |
| 1729 | + "required": [], |
| 1730 | + "title": "SelectionConfig", |
| 1731 | + "description": "An object hash for defining default properties for each type of selections. " |
| 1732 | + }, |
| 1733 | + "IntervalSelectionConfig": { |
| 1734 | + "type": "object", |
| 1735 | + "additionalProperties": false, |
| 1736 | + "properties": { |
| 1737 | + "bind": { |
| 1738 | + "$ref": "#/definitions/Bind", |
| 1739 | + "description": "Establishes a two-way binding between the interval selection and the scales\nused within the same view. This allows a user to interactively pan and\nzoom the view." |
| 1820 | 1740 | }, |
| 1821 | | - "fontWeight": { |
| 1822 | | - "$ref": "#/definitions/FontWeightUnion", |
| 1823 | | - "description": "The font weight (e.g., `\"bold\"`)." |
| 1741 | + "empty": { |
| 1742 | + "$ref": "#/definitions/Empty", |
| 1743 | + "description": "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values." |
| 1824 | 1744 | }, |
| 1825 | | - "href": { |
| 1826 | | - "type": "string", |
| 1827 | | - "description": "A URL to load upon mouse click. If defined, the mark acts as a hyperlink." |
| 1745 | + "encodings": { |
| 1746 | + "type": "array", |
| 1747 | + "items": { |
| 1748 | + "$ref": "#/definitions/SingleDefChannel" |
| 1749 | + }, |
| 1750 | + "description": "An array of encoding channels. The corresponding data field values\nmust match for a data tuple to fall within the selection." |
| 1828 | 1751 | }, |
| 1829 | | - "interpolate": { |
| 1830 | | - "$ref": "#/definitions/Interpolate", |
| 1831 | | - "description": "The line interpolation method to use for line and area marks. One of the following:\n- `\"linear\"`: piecewise linear segments, as in a polyline.\n- `\"linear-closed\"`: close the linear segments to form a polygon.\n- `\"step\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"step-before\"`: alternate between vertical and horizontal segments, as in a step\nfunction.\n- `\"step-after\"`: alternate between horizontal and vertical segments, as in a step\nfunction.\n- `\"basis\"`: a B-spline, with control point duplication on the ends.\n- `\"basis-open\"`: an open B-spline; may not intersect the start or end.\n- `\"basis-closed\"`: a closed B-spline, as in a loop.\n- `\"cardinal\"`: a Cardinal spline, with control point duplication on the ends.\n- `\"cardinal-open\"`: an open Cardinal spline; may not intersect the start or end, but\nwill intersect other control points.\n- `\"cardinal-closed\"`: a closed Cardinal spline, as in a loop.\n- `\"bundle\"`: equivalent to basis, except the tension parameter is used to straighten the\nspline.\n- `\"monotone\"`: cubic interpolation that preserves monotonicity in y." |
| 1752 | + "fields": { |
| 1753 | + "type": "array", |
| 1754 | + "items": { |
| 1755 | + "type": "string" |
| 1756 | + }, |
| 1757 | + "description": "An array of field names whose values must match for a data tuple to\nfall within the selection." |
| 1832 | 1758 | }, |
| 1833 | | - "limit": { |
| 1834 | | - "type": "number", |
| 1835 | | - "description": "The maximum length of the text mark in pixels (default 0, indicating no limit). The text\nvalue will be automatically truncated if the rendered size exceeds the limit." |
| 1759 | + "mark": { |
| 1760 | + "$ref": "#/definitions/BrushConfig", |
| 1761 | + "description": "An interval selection also adds a rectangle mark to depict the\nextents of the interval. The `mark` property can be used to customize the\nappearance of the mark." |
| 1836 | 1762 | }, |
| 1837 | | - "opacity": { |
| 1838 | | - "type": "number", |
| 1839 | | - "minimum": 0, |
| 1840 | | - "maximum": 1, |
| 1841 | | - "description": "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or\n`square` marks or layered `bar` charts and `1` otherwise." |
| 1763 | + "on": { |
| 1764 | + "description": "A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or\nselector) that triggers the selection.\nFor interval selections, the event stream must specify a [start and\nend](https://vega.github.io/vega/docs/event-streams/#between-filters)." |
| 1842 | 1765 | }, |
| 1843 | | - "orient": { |
| 1844 | | - "$ref": "#/definitions/Orient", |
| 1845 | | - "description": "The orientation of a non-stacked bar, tick, area, and line charts.\nThe value is either horizontal (default) or vertical.\n- For bar, rule and tick, this determines whether the size of the bar and tick\nshould be applied to x or y dimension.\n- For area, this property determines the orient property of the Vega output.\n- For line, this property determines the sort order of the points in the line\nif `config.sortLineBy` is not specified.\nFor stacked charts, this is always determined by the orientation of the stack;\ntherefore explicitly specified value will be ignored." |
| 1766 | + "resolve": { |
| 1767 | + "$ref": "#/definitions/SelectionResolution", |
| 1768 | + "description": "With layered and multi-view displays, a strategy that determines how\nselections' data queries are resolved when applied in a filter transform,\nconditional encoding rule, or scale domain." |
| 1846 | 1769 | }, |
| 1847 | | - "radius": { |
| 1848 | | - "type": "number", |
| 1849 | | - "minimum": 0, |
| 1850 | | - "description": "Polar coordinate radial offset, in pixels, of the text label from the origin determined\nby the `x` and `y` properties." |
| 1770 | + "translate": { |
| 1771 | + "$ref": "#/definitions/Translate", |
| 1772 | + "description": "When truthy, allows a user to interactively move an interval selection\nback-and-forth. Can be `true`, `false` (to disable panning), or a\n[Vega event stream definition](https://vega.github.io/vega/docs/event-streams/)\nwhich must include a start and end event to trigger continuous panning.\n\n__Default value:__ `true`, which corresponds to\n`[mousedown, window:mouseup] > window:mousemove!` which corresponds to\nclicks and dragging within an interval selection to reposition it." |
| 1851 | 1773 | }, |
| 1852 | | - "shape": { |
| 1774 | + "zoom": { |
| 1775 | + "$ref": "#/definitions/Translate", |
| 1776 | + "description": "When truthy, allows a user to interactively resize an interval selection.\nCan be `true`, `false` (to disable zooming), or a [Vega event stream\ndefinition](https://vega.github.io/vega/docs/event-streams/). Currently,\nonly `wheel` events are supported.\n\n\n__Default value:__ `true`, which corresponds to `wheel!`." |
| 1777 | + } |
| 1778 | + }, |
| 1779 | + "required": [], |
| 1780 | + "title": "IntervalSelectionConfig", |
| 1781 | + "description": "The default definition for an [`interval`](selection.html#type) selection. All properties and transformations\nfor an interval selection definition (except `type`) may be specified here.\n\nFor instance, setting `interval` to `{\"translate\": false}` disables the ability to move\ninterval selections by default." |
| 1782 | + }, |
| 1783 | + "BrushConfig": { |
| 1784 | + "type": "object", |
| 1785 | + "additionalProperties": false, |
| 1786 | + "properties": { |
| 1787 | + "fill": { |
| 1853 | 1788 | "type": "string", |
| 1854 | | - "description": "The default symbol shape to use. One of: `\"circle\"` (default), `\"square\"`, `\"cross\"`,\n`\"diamond\"`, `\"triangle-up\"`, or `\"triangle-down\"`, or a custom SVG path.\n\n__Default value:__ `\"circle\"`" |
| 1855 | | - }, |
| 1856 | | - "shortTimeLabels": { |
| 1857 | | - "type": "boolean", |
| 1858 | | - "description": "Whether month names and weekday names should be abbreviated." |
| 1789 | + "description": "The fill color of the interval mark.\n\n__Default value:__ `#333333`" |
| 1859 | 1790 | }, |
| 1860 | | - "size": { |
| 1791 | + "fillOpacity": { |
| 1861 | 1792 | "type": "number", |
| 1862 | | - "minimum": 0, |
| 1863 | | - "description": "The pixel area each the point/circle/square.\nFor example: in the case of circles, the radius is determined in part by the square root\nof the size value.\n\n__Default value:__ `30`" |
| 1793 | + "description": "The fill opacity of the interval mark (a value between 0 and 1).\n\n__Default value:__ `0.125`" |
| 1864 | 1794 | }, |
| 1865 | 1795 | "stroke": { |
| 1866 | 1796 | "type": "string", |
| 1867 | | - "description": "Default Stroke Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 1797 | + "description": "The stroke color of the interval mark.\n\n__Default value:__ `#ffffff`" |
| 1868 | 1798 | }, |
| 1869 | 1799 | "strokeDash": { |
| 1870 | 1800 | "type": "array", |
| 1871 | 1801 | "items": { |
| 1872 | 1802 | "type": "number" |
| 1873 | 1803 | }, |
| 1874 | | - "description": "An array of alternating stroke, space lengths for creating dashed or dotted lines." |
| 1804 | + "description": "An array of alternating stroke and space lengths,\nfor creating dashed or dotted lines." |
| 1875 | 1805 | }, |
| 1876 | 1806 | "strokeDashOffset": { |
| 1877 | 1807 | "type": "number", |
| 1878 | | - "description": "The offset (in pixels) into which to begin drawing with the stroke dash array." |
| 1808 | + "description": "The offset (in pixels) with which to begin drawing the stroke dash array." |
| 1879 | 1809 | }, |
| 1880 | 1810 | "strokeOpacity": { |
| 1881 | 1811 | "type": "number", |
| 1882 | | - "minimum": 0, |
| 1883 | | - "maximum": 1, |
| 1884 | | - "description": "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 1812 | + "description": "The stroke opacity of the interval mark (a value between 0 and 1)." |
| 1885 | 1813 | }, |
| 1886 | 1814 | "strokeWidth": { |
| 1887 | 1815 | "type": "number", |
| 1888 | | - "minimum": 0, |
| 1889 | | - "description": "The stroke width, in pixels." |
| 1890 | | - }, |
| 1891 | | - "tension": { |
| 1892 | | - "type": "number", |
| 1893 | | - "minimum": 0, |
| 1894 | | - "maximum": 1, |
| 1895 | | - "description": "Depending on the interpolation type, sets the tension parameter (for line and area marks)." |
| 1896 | | - }, |
| 1897 | | - "text": { |
| 1898 | | - "type": "string", |
| 1899 | | - "description": "Placeholder text if the `text` channel is not specified" |
| 1900 | | - }, |
| 1901 | | - "theta": { |
| 1902 | | - "type": "number", |
| 1903 | | - "description": "Polar coordinate angle, in radians, of the text label from the origin determined by the\n`x` and `y` properties. Values for `theta` follow the same convention of `arc` mark\n`startAngle` and `endAngle` properties: angles are measured in radians, with `0`\nindicating \"north\"." |
| 1816 | + "description": "The stroke width of the interval mark." |
| 1904 | 1817 | } |
| 1905 | 1818 | }, |
| 1906 | 1819 | "required": [], |
| 1907 | | - "title": "TextConfig", |
| 1908 | | - "description": "Text-Specific Config " |
| 1820 | + "title": "BrushConfig", |
| 1821 | + "description": "An interval selection also adds a rectangle mark to depict the\nextents of the interval. The `mark` property can be used to customize the\nappearance of the mark." |
| 1909 | 1822 | }, |
| 1910 | | - "TickConfig": { |
| 1823 | + "MultiSelectionConfig": { |
| 1824 | + "type": "object", |
| 1825 | + "additionalProperties": false, |
| 1826 | + "properties": { |
| 1827 | + "empty": { |
| 1828 | + "$ref": "#/definitions/Empty", |
| 1829 | + "description": "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values." |
| 1830 | + }, |
| 1831 | + "encodings": { |
| 1832 | + "type": "array", |
| 1833 | + "items": { |
| 1834 | + "$ref": "#/definitions/SingleDefChannel" |
| 1835 | + }, |
| 1836 | + "description": "An array of encoding channels. The corresponding data field values\nmust match for a data tuple to fall within the selection." |
| 1837 | + }, |
| 1838 | + "fields": { |
| 1839 | + "type": "array", |
| 1840 | + "items": { |
| 1841 | + "type": "string" |
| 1842 | + }, |
| 1843 | + "description": "An array of field names whose values must match for a data tuple to\nfall within the selection." |
| 1844 | + }, |
| 1845 | + "nearest": { |
| 1846 | + "type": "boolean", |
| 1847 | + "description": "When true, an invisible voronoi diagram is computed to accelerate discrete\nselection. The data value _nearest_ the mouse cursor is added to the selection.\n\nSee the [nearest transform](nearest.html) documentation for more information." |
| 1848 | + }, |
| 1849 | + "on": { |
| 1850 | + "description": "A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or\nselector) that triggers the selection.\nFor interval selections, the event stream must specify a [start and\nend](https://vega.github.io/vega/docs/event-streams/#between-filters)." |
| 1851 | + }, |
| 1852 | + "resolve": { |
| 1853 | + "$ref": "#/definitions/SelectionResolution", |
| 1854 | + "description": "With layered and multi-view displays, a strategy that determines how\nselections' data queries are resolved when applied in a filter transform,\nconditional encoding rule, or scale domain." |
| 1855 | + }, |
| 1856 | + "toggle": { |
| 1857 | + "$ref": "#/definitions/Translate", |
| 1858 | + "description": "Controls whether data values should be toggled or only ever inserted into\nmulti selections. Can be `true`, `false` (for insertion only), or a\n[Vega expression](https://vega.github.io/vega/docs/expressions/).\n\n__Default value:__ `true`, which corresponds to `event.shiftKey` (i.e.,\ndata values are toggled when a user interacts with the shift-key pressed).\n\nSee the [toggle transform](toggle.html) documentation for more information." |
| 1859 | + } |
| 1860 | + }, |
| 1861 | + "required": [], |
| 1862 | + "title": "MultiSelectionConfig", |
| 1863 | + "description": "The default definition for a [`multi`](selection.html#type) selection. All properties and transformations\nfor a multi selection definition (except `type`) may be specified here.\n\nFor instance, setting `multi` to `{\"toggle\": \"event.altKey\"}` adds additional values to\nmulti selections when clicking with the alt-key pressed by default." |
| 1864 | + }, |
| 1865 | + "SingleSelectionConfig": { |
| 1866 | + "type": "object", |
| 1867 | + "additionalProperties": false, |
| 1868 | + "properties": { |
| 1869 | + "bind": { |
| 1870 | + "type": "object", |
| 1871 | + "additionalProperties": { |
| 1872 | + "$ref": "#/definitions/VGBinding" |
| 1873 | + }, |
| 1874 | + "description": "Establish a two-way binding between a single selection and input elements\n(also known as dynamic query widgets). A binding takes the form of\nVega's [input element binding definition](https://vega.github.io/vega/docs/signals/#bind)\nor can be a mapping between projected field/encodings and binding definitions.\n\nSee the [bind transform](bind.html) documentation for more information." |
| 1875 | + }, |
| 1876 | + "empty": { |
| 1877 | + "$ref": "#/definitions/Empty", |
| 1878 | + "description": "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values." |
| 1879 | + }, |
| 1880 | + "encodings": { |
| 1881 | + "type": "array", |
| 1882 | + "items": { |
| 1883 | + "$ref": "#/definitions/SingleDefChannel" |
| 1884 | + }, |
| 1885 | + "description": "An array of encoding channels. The corresponding data field values\nmust match for a data tuple to fall within the selection." |
| 1886 | + }, |
| 1887 | + "fields": { |
| 1888 | + "type": "array", |
| 1889 | + "items": { |
| 1890 | + "type": "string" |
| 1891 | + }, |
| 1892 | + "description": "An array of field names whose values must match for a data tuple to\nfall within the selection." |
| 1893 | + }, |
| 1894 | + "nearest": { |
| 1895 | + "type": "boolean", |
| 1896 | + "description": "When true, an invisible voronoi diagram is computed to accelerate discrete\nselection. The data value _nearest_ the mouse cursor is added to the selection.\n\nSee the [nearest transform](nearest.html) documentation for more information." |
| 1897 | + }, |
| 1898 | + "on": { |
| 1899 | + "description": "A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or\nselector) that triggers the selection.\nFor interval selections, the event stream must specify a [start and\nend](https://vega.github.io/vega/docs/event-streams/#between-filters)." |
| 1900 | + }, |
| 1901 | + "resolve": { |
| 1902 | + "$ref": "#/definitions/SelectionResolution", |
| 1903 | + "description": "With layered and multi-view displays, a strategy that determines how\nselections' data queries are resolved when applied in a filter transform,\nconditional encoding rule, or scale domain." |
| 1904 | + } |
| 1905 | + }, |
| 1906 | + "required": [], |
| 1907 | + "title": "SingleSelectionConfig", |
| 1908 | + "description": "The default definition for a [`single`](selection.html#type) selection. All properties and transformations\n for a single selection definition (except `type`) may be specified here.\n\nFor instance, setting `single` to `{\"on\": \"dblclick\"}` populates single selections on double-click by default." |
| 1909 | + }, |
| 1910 | + "VGCheckboxBinding": { |
| 1911 | + "type": "object", |
| 1912 | + "additionalProperties": false, |
| 1913 | + "properties": { |
| 1914 | + "element": { |
| 1915 | + "type": "string" |
| 1916 | + }, |
| 1917 | + "input": { |
| 1918 | + "$ref": "#/definitions/PurpleInput" |
| 1919 | + } |
| 1920 | + }, |
| 1921 | + "required": [ |
| 1922 | + "input" |
| 1923 | + ], |
| 1924 | + "title": "VGCheckboxBinding" |
| 1925 | + }, |
| 1926 | + "VGRadioBinding": { |
| 1927 | + "type": "object", |
| 1928 | + "additionalProperties": false, |
| 1929 | + "properties": { |
| 1930 | + "element": { |
| 1931 | + "type": "string" |
| 1932 | + }, |
| 1933 | + "input": { |
| 1934 | + "$ref": "#/definitions/FluffyInput" |
| 1935 | + }, |
| 1936 | + "options": { |
| 1937 | + "type": "array", |
| 1938 | + "items": { |
| 1939 | + "type": "string" |
| 1940 | + } |
| 1941 | + } |
| 1942 | + }, |
| 1943 | + "required": [ |
| 1944 | + "input", |
| 1945 | + "options" |
| 1946 | + ], |
| 1947 | + "title": "VGRadioBinding" |
| 1948 | + }, |
| 1949 | + "VGSelectBinding": { |
| 1950 | + "type": "object", |
| 1951 | + "additionalProperties": false, |
| 1952 | + "properties": { |
| 1953 | + "element": { |
| 1954 | + "type": "string" |
| 1955 | + }, |
| 1956 | + "input": { |
| 1957 | + "$ref": "#/definitions/TentacledInput" |
| 1958 | + }, |
| 1959 | + "options": { |
| 1960 | + "type": "array", |
| 1961 | + "items": { |
| 1962 | + "type": "string" |
| 1963 | + } |
| 1964 | + } |
| 1965 | + }, |
| 1966 | + "required": [ |
| 1967 | + "input", |
| 1968 | + "options" |
| 1969 | + ], |
| 1970 | + "title": "VGSelectBinding" |
| 1971 | + }, |
| 1972 | + "VGRangeBinding": { |
| 1973 | + "type": "object", |
| 1974 | + "additionalProperties": false, |
| 1975 | + "properties": { |
| 1976 | + "element": { |
| 1977 | + "type": "string" |
| 1978 | + }, |
| 1979 | + "input": { |
| 1980 | + "$ref": "#/definitions/StickyInput" |
| 1981 | + }, |
| 1982 | + "max": { |
| 1983 | + "type": "number" |
| 1984 | + }, |
| 1985 | + "min": { |
| 1986 | + "type": "number" |
| 1987 | + }, |
| 1988 | + "step": { |
| 1989 | + "type": "number" |
| 1990 | + } |
| 1991 | + }, |
| 1992 | + "required": [ |
| 1993 | + "input" |
| 1994 | + ], |
| 1995 | + "title": "VGRangeBinding" |
| 1996 | + }, |
| 1997 | + "VGGenericBinding": { |
| 1998 | + "type": "object", |
| 1999 | + "additionalProperties": false, |
| 2000 | + "properties": { |
| 2001 | + "element": { |
| 2002 | + "type": "string" |
| 2003 | + }, |
| 2004 | + "input": { |
| 2005 | + "type": "string" |
| 2006 | + } |
| 2007 | + }, |
| 2008 | + "required": [ |
| 2009 | + "input" |
| 2010 | + ], |
| 2011 | + "title": "VGGenericBinding" |
| 2012 | + }, |
| 2013 | + "VGMarkConfig": { |
| 1911 | 2014 | "type": "object", |
| 1912 | 2015 | "additionalProperties": false, |
| 1913 | 2016 | "properties": { |
| | @@ -1921,19 +2024,10 @@ |
| 1921 | 2024 | "maximum": 360, |
| 1922 | 2025 | "description": "The rotation angle of the text, in degrees." |
| 1923 | 2026 | }, |
| 1924 | | - "bandSize": { |
| 1925 | | - "type": "number", |
| 1926 | | - "minimum": 0, |
| 1927 | | - "description": "The width of the ticks.\n\n__Default value:__ 2/3 of rangeStep." |
| 1928 | | - }, |
| 1929 | 2027 | "baseline": { |
| 1930 | 2028 | "$ref": "#/definitions/VerticalAlign", |
| 1931 | 2029 | "description": "The vertical alignment of the text. One of `\"top\"`, `\"middle\"`, `\"bottom\"`.\n\n__Default value:__ `\"middle\"`" |
| 1932 | 2030 | }, |
| 1933 | | - "color": { |
| 1934 | | - "type": "string", |
| 1935 | | - "description": "Default color. Note that `fill` and `stroke` have higher precedence than `color` and\nwill override `color`.\n\n__Default value:__ <span style=\"color: #4682b4;\">■</span> `\"#4682b4\"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 1936 | | - }, |
| 1937 | 2031 | "cursor": { |
| 1938 | 2032 | "$ref": "#/definitions/Cursor", |
| 1939 | 2033 | "description": "The mouse cursor used over the mark. Any valid [CSS cursor\ntype](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used." |
| | @@ -1950,10 +2044,6 @@ |
| 1950 | 2044 | "type": "string", |
| 1951 | 2045 | "description": "Default Fill Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 1952 | 2046 | }, |
| 1953 | | - "filled": { |
| 1954 | | - "type": "boolean", |
| 1955 | | - "description": "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 1956 | | - }, |
| 1957 | 2047 | "fillOpacity": { |
| 1958 | 2048 | "type": "number", |
| 1959 | 2049 | "minimum": 0, |
| | @@ -2052,1838 +2142,2700 @@ |
| 2052 | 2142 | "theta": { |
| 2053 | 2143 | "type": "number", |
| 2054 | 2144 | "description": "Polar coordinate angle, in radians, of the text label from the origin determined by the\n`x` and `y` properties. Values for `theta` follow the same convention of `arc` mark\n`startAngle` and `endAngle` properties: angles are measured in radians, with `0`\nindicating \"north\"." |
| 2055 | | - }, |
| 2056 | | - "thickness": { |
| 2057 | | - "type": "number", |
| 2058 | | - "minimum": 0, |
| 2059 | | - "description": "Thickness of the tick mark.\n\n__Default value:__ `1`" |
| 2060 | 2145 | } |
| 2061 | 2146 | }, |
| 2062 | 2147 | "required": [], |
| 2063 | | - "title": "TickConfig", |
| 2064 | | - "description": "Tick-Specific Config " |
| 2148 | + "title": "VGMarkConfig" |
| 2065 | 2149 | }, |
| 2066 | | - "VGTitleConfig": { |
| 2150 | + "TextConfig": { |
| 2067 | 2151 | "type": "object", |
| 2068 | 2152 | "additionalProperties": false, |
| 2069 | 2153 | "properties": { |
| 2070 | | - "anchor": { |
| 2071 | | - "$ref": "#/definitions/Anchor", |
| 2072 | | - "description": "The anchor position for placing the title. One of `\"start\"`, `\"middle\"`, or `\"end\"`. For\nexample, with an orientation of top these anchor positions map to a left-, center-, or\nright-aligned title.\n\n__Default value:__ `\"middle\"` for [single](spec.html) and [layered](layer.html) views.\n`\"start\"` for other composite views.\n\n__Note:__ [For now](https://github.com/vega/vega-lite/issues/2875), `anchor` is only\ncustomizable only for [single](spec.html) and [layered](layer.html) views. For other\ncomposite views, `anchor` is always `\"start\"`." |
| 2154 | + "align": { |
| 2155 | + "$ref": "#/definitions/HorizontalAlign", |
| 2156 | + "description": "The horizontal alignment of the text. One of `\"left\"`, `\"right\"`, `\"center\"`." |
| 2073 | 2157 | }, |
| 2074 | 2158 | "angle": { |
| 2075 | 2159 | "type": "number", |
| 2076 | | - "description": "Angle in degrees of title text." |
| 2160 | + "minimum": 0, |
| 2161 | + "maximum": 360, |
| 2162 | + "description": "The rotation angle of the text, in degrees." |
| 2077 | 2163 | }, |
| 2078 | 2164 | "baseline": { |
| 2079 | 2165 | "$ref": "#/definitions/VerticalAlign", |
| 2080 | | - "description": "Vertical text baseline for title text." |
| 2166 | + "description": "The vertical alignment of the text. One of `\"top\"`, `\"middle\"`, `\"bottom\"`.\n\n__Default value:__ `\"middle\"`" |
| 2081 | 2167 | }, |
| 2082 | 2168 | "color": { |
| 2083 | 2169 | "type": "string", |
| 2084 | | - "description": "Text color for title text." |
| 2170 | + "description": "Default color. Note that `fill` and `stroke` have higher precedence than `color` and\nwill override `color`.\n\n__Default value:__ <span style=\"color: #4682b4;\">■</span> `\"#4682b4\"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 2171 | + }, |
| 2172 | + "cursor": { |
| 2173 | + "$ref": "#/definitions/Cursor", |
| 2174 | + "description": "The mouse cursor used over the mark. Any valid [CSS cursor\ntype](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used." |
| 2175 | + }, |
| 2176 | + "dx": { |
| 2177 | + "type": "number", |
| 2178 | + "description": "The horizontal offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 2179 | + }, |
| 2180 | + "dy": { |
| 2181 | + "type": "number", |
| 2182 | + "description": "The vertical offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 2183 | + }, |
| 2184 | + "fill": { |
| 2185 | + "type": "string", |
| 2186 | + "description": "Default Fill Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 2187 | + }, |
| 2188 | + "filled": { |
| 2189 | + "type": "boolean", |
| 2190 | + "description": "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 2191 | + }, |
| 2192 | + "fillOpacity": { |
| 2193 | + "type": "number", |
| 2194 | + "minimum": 0, |
| 2195 | + "maximum": 1, |
| 2196 | + "description": "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 2085 | 2197 | }, |
| 2086 | 2198 | "font": { |
| 2087 | 2199 | "type": "string", |
| 2088 | | - "description": "Font name for title text." |
| 2200 | + "description": "The typeface to set the text in (e.g., `\"Helvetica Neue\"`)." |
| 2089 | 2201 | }, |
| 2090 | 2202 | "fontSize": { |
| 2091 | 2203 | "type": "number", |
| 2092 | 2204 | "minimum": 0, |
| 2093 | | - "description": "Font size in pixels for title text.\n\n__Default value:__ `10`." |
| 2205 | + "description": "The font size, in pixels." |
| 2206 | + }, |
| 2207 | + "fontStyle": { |
| 2208 | + "$ref": "#/definitions/FontStyle", |
| 2209 | + "description": "The font style (e.g., `\"italic\"`)." |
| 2094 | 2210 | }, |
| 2095 | 2211 | "fontWeight": { |
| 2096 | 2212 | "$ref": "#/definitions/FontWeightUnion", |
| 2097 | | - "description": "Font weight for title text." |
| 2213 | + "description": "The font weight (e.g., `\"bold\"`)." |
| 2098 | 2214 | }, |
| 2099 | | - "limit": { |
| 2100 | | - "type": "number", |
| 2101 | | - "minimum": 0, |
| 2102 | | - "description": "The maximum allowed length in pixels of legend labels." |
| 2215 | + "href": { |
| 2216 | + "type": "string", |
| 2217 | + "description": "A URL to load upon mouse click. If defined, the mark acts as a hyperlink." |
| 2103 | 2218 | }, |
| 2104 | | - "offset": { |
| 2219 | + "interpolate": { |
| 2220 | + "$ref": "#/definitions/Interpolate", |
| 2221 | + "description": "The line interpolation method to use for line and area marks. One of the following:\n- `\"linear\"`: piecewise linear segments, as in a polyline.\n- `\"linear-closed\"`: close the linear segments to form a polygon.\n- `\"step\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"step-before\"`: alternate between vertical and horizontal segments, as in a step\nfunction.\n- `\"step-after\"`: alternate between horizontal and vertical segments, as in a step\nfunction.\n- `\"basis\"`: a B-spline, with control point duplication on the ends.\n- `\"basis-open\"`: an open B-spline; may not intersect the start or end.\n- `\"basis-closed\"`: a closed B-spline, as in a loop.\n- `\"cardinal\"`: a Cardinal spline, with control point duplication on the ends.\n- `\"cardinal-open\"`: an open Cardinal spline; may not intersect the start or end, but\nwill intersect other control points.\n- `\"cardinal-closed\"`: a closed Cardinal spline, as in a loop.\n- `\"bundle\"`: equivalent to basis, except the tension parameter is used to straighten the\nspline.\n- `\"monotone\"`: cubic interpolation that preserves monotonicity in y." |
| 2222 | + }, |
| 2223 | + "limit": { |
| 2105 | 2224 | "type": "number", |
| 2106 | | - "description": "Offset in pixels of the title from the chart body and axes." |
| 2225 | + "description": "The maximum length of the text mark in pixels (default 0, indicating no limit). The text\nvalue will be automatically truncated if the rendered size exceeds the limit." |
| 2226 | + }, |
| 2227 | + "opacity": { |
| 2228 | + "type": "number", |
| 2229 | + "minimum": 0, |
| 2230 | + "maximum": 1, |
| 2231 | + "description": "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or\n`square` marks or layered `bar` charts and `1` otherwise." |
| 2107 | 2232 | }, |
| 2108 | 2233 | "orient": { |
| 2109 | | - "$ref": "#/definitions/TitleOrient", |
| 2110 | | - "description": "Default title orientation (\"top\", \"bottom\", \"left\", or \"right\")" |
| 2111 | | - } |
| 2112 | | - }, |
| 2113 | | - "required": [], |
| 2114 | | - "title": "VGTitleConfig", |
| 2115 | | - "description": "Title configuration, which determines default properties for all [titles](title.html). For a full list of title configuration options, please see the [corresponding section of the title documentation](title.html#config)." |
| 2116 | | - }, |
| 2117 | | - "ViewConfig": { |
| 2118 | | - "type": "object", |
| 2119 | | - "additionalProperties": false, |
| 2120 | | - "properties": { |
| 2121 | | - "clip": { |
| 2122 | | - "type": "boolean", |
| 2123 | | - "description": "Whether the view should be clipped." |
| 2234 | + "$ref": "#/definitions/Orient", |
| 2235 | + "description": "The orientation of a non-stacked bar, tick, area, and line charts.\nThe value is either horizontal (default) or vertical.\n- For bar, rule and tick, this determines whether the size of the bar and tick\nshould be applied to x or y dimension.\n- For area, this property determines the orient property of the Vega output.\n- For line, this property determines the sort order of the points in the line\nif `config.sortLineBy` is not specified.\nFor stacked charts, this is always determined by the orientation of the stack;\ntherefore explicitly specified value will be ignored." |
| 2124 | 2236 | }, |
| 2125 | | - "fill": { |
| 2237 | + "radius": { |
| 2238 | + "type": "number", |
| 2239 | + "minimum": 0, |
| 2240 | + "description": "Polar coordinate radial offset, in pixels, of the text label from the origin determined\nby the `x` and `y` properties." |
| 2241 | + }, |
| 2242 | + "shape": { |
| 2126 | 2243 | "type": "string", |
| 2127 | | - "description": "The fill color.\n\n__Default value:__ (none)" |
| 2244 | + "description": "The default symbol shape to use. One of: `\"circle\"` (default), `\"square\"`, `\"cross\"`,\n`\"diamond\"`, `\"triangle-up\"`, or `\"triangle-down\"`, or a custom SVG path.\n\n__Default value:__ `\"circle\"`" |
| 2128 | 2245 | }, |
| 2129 | | - "fillOpacity": { |
| 2130 | | - "type": "number", |
| 2131 | | - "description": "The fill opacity (value between [0,1]).\n\n__Default value:__ (none)" |
| 2246 | + "shortTimeLabels": { |
| 2247 | + "type": "boolean", |
| 2248 | + "description": "Whether month names and weekday names should be abbreviated." |
| 2132 | 2249 | }, |
| 2133 | | - "height": { |
| 2250 | + "size": { |
| 2134 | 2251 | "type": "number", |
| 2135 | | - "description": "The default height of the single plot or each plot in a trellis plot when the\nvisualization has a continuous (non-ordinal) y-scale with `rangeStep` = `null`.\n\n__Default value:__ `200`" |
| 2252 | + "minimum": 0, |
| 2253 | + "description": "The pixel area each the point/circle/square.\nFor example: in the case of circles, the radius is determined in part by the square root\nof the size value.\n\n__Default value:__ `30`" |
| 2136 | 2254 | }, |
| 2137 | 2255 | "stroke": { |
| 2138 | 2256 | "type": "string", |
| 2139 | | - "description": "The stroke color.\n\n__Default value:__ (none)" |
| 2257 | + "description": "Default Stroke Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 2140 | 2258 | }, |
| 2141 | 2259 | "strokeDash": { |
| 2142 | 2260 | "type": "array", |
| 2143 | 2261 | "items": { |
| 2144 | 2262 | "type": "number" |
| 2145 | 2263 | }, |
| 2146 | | - "description": "An array of alternating stroke, space lengths for creating dashed or dotted lines.\n\n__Default value:__ (none)" |
| 2264 | + "description": "An array of alternating stroke, space lengths for creating dashed or dotted lines." |
| 2147 | 2265 | }, |
| 2148 | 2266 | "strokeDashOffset": { |
| 2149 | 2267 | "type": "number", |
| 2150 | | - "description": "The offset (in pixels) into which to begin drawing with the stroke dash array.\n\n__Default value:__ (none)" |
| 2268 | + "description": "The offset (in pixels) into which to begin drawing with the stroke dash array." |
| 2151 | 2269 | }, |
| 2152 | 2270 | "strokeOpacity": { |
| 2153 | 2271 | "type": "number", |
| 2154 | | - "description": "The stroke opacity (value between [0,1]).\n\n__Default value:__ (none)" |
| 2272 | + "minimum": 0, |
| 2273 | + "maximum": 1, |
| 2274 | + "description": "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 2155 | 2275 | }, |
| 2156 | 2276 | "strokeWidth": { |
| 2157 | 2277 | "type": "number", |
| 2158 | | - "description": "The stroke width, in pixels.\n\n__Default value:__ (none)" |
| 2278 | + "minimum": 0, |
| 2279 | + "description": "The stroke width, in pixels." |
| 2159 | 2280 | }, |
| 2160 | | - "width": { |
| 2281 | + "tension": { |
| 2161 | 2282 | "type": "number", |
| 2162 | | - "description": "The default width of the single plot or each plot in a trellis plot when the\nvisualization has a continuous (non-ordinal) x-scale or ordinal x-scale with `rangeStep`\n= `null`.\n\n__Default value:__ `200`" |
| 2163 | | - } |
| 2164 | | - }, |
| 2165 | | - "required": [], |
| 2166 | | - "title": "ViewConfig", |
| 2167 | | - "description": "Default properties for [single view plots](spec.html#single). " |
| 2168 | | - }, |
| 2169 | | - "Data": { |
| 2170 | | - "type": "object", |
| 2171 | | - "additionalProperties": false, |
| 2172 | | - "properties": { |
| 2173 | | - "format": { |
| 2174 | | - "$ref": "#/definitions/DataFormat", |
| 2175 | | - "description": "An object that specifies the format for parsing the data file.\n\nAn object that specifies the format for parsing the data values.\n\nAn object that specifies the format for parsing the data." |
| 2283 | + "minimum": 0, |
| 2284 | + "maximum": 1, |
| 2285 | + "description": "Depending on the interpolation type, sets the tension parameter (for line and area marks)." |
| 2176 | 2286 | }, |
| 2177 | | - "url": { |
| 2287 | + "text": { |
| 2178 | 2288 | "type": "string", |
| 2179 | | - "description": "An URL from which to load the data set. Use the `format.type` property\nto ensure the loaded data is correctly parsed." |
| 2180 | | - }, |
| 2181 | | - "values": { |
| 2182 | | - "$ref": "#/definitions/Values", |
| 2183 | | - "description": "The full data set, included inline. This can be an array of objects or primitive values\nor a string.\nArrays of primitive values are ingested as objects with a `data` property. Strings are\nparsed according to the specified format type." |
| 2289 | + "description": "Placeholder text if the `text` channel is not specified" |
| 2184 | 2290 | }, |
| 2185 | | - "name": { |
| 2186 | | - "type": "string", |
| 2187 | | - "description": "Provide a placeholder name and bind data at runtime." |
| 2291 | + "theta": { |
| 2292 | + "type": "number", |
| 2293 | + "description": "Polar coordinate angle, in radians, of the text label from the origin determined by the\n`x` and `y` properties. Values for `theta` follow the same convention of `arc` mark\n`startAngle` and `endAngle` properties: angles are measured in radians, with `0`\nindicating \"north\"." |
| 2188 | 2294 | } |
| 2189 | 2295 | }, |
| 2190 | 2296 | "required": [], |
| 2191 | | - "title": "Data", |
| 2192 | | - "description": "An object describing the data source\nSecondary data source to lookup in." |
| 2297 | + "title": "TextConfig", |
| 2298 | + "description": "Text-Specific Config " |
| 2193 | 2299 | }, |
| 2194 | | - "DataFormat": { |
| 2300 | + "TickConfig": { |
| 2195 | 2301 | "type": "object", |
| 2196 | 2302 | "additionalProperties": false, |
| 2197 | 2303 | "properties": { |
| 2198 | | - "parse": { |
| 2199 | | - "$ref": "#/definitions/ParseUnion", |
| 2200 | | - "description": "If set to auto (the default), perform automatic type inference to determine the desired\ndata types.\nAlternatively, a parsing directive object can be provided for explicit data types. Each\nproperty of the object corresponds to a field name, and the value to the desired data\ntype (one of `\"number\"`, `\"boolean\"` or `\"date\"`).\nFor example, `\"parse\": {\"modified_on\": \"date\"}` parses the `modified_on` field in each\ninput record a Date value.\n\nFor `\"date\"`, we parse data based using Javascript's\n[`Date.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\nFor Specific date formats can be provided (e.g., `{foo: 'date:\"%m%d%Y\"'}`), using the\n[d3-time-format syntax](https://github.com/d3/d3-time-format#locale_format). UTC date\nformat parsing is supported similarly (e.g., `{foo: 'utc:\"%m%d%Y\"'}`). See more about\n[UTC time](timeunit.html#utc)" |
| 2304 | + "align": { |
| 2305 | + "$ref": "#/definitions/HorizontalAlign", |
| 2306 | + "description": "The horizontal alignment of the text. One of `\"left\"`, `\"right\"`, `\"center\"`." |
| 2201 | 2307 | }, |
| 2202 | | - "type": { |
| 2203 | | - "$ref": "#/definitions/DataFormatType", |
| 2204 | | - "description": "Type of input data: `\"json\"`, `\"csv\"`, `\"tsv\"`.\nThe default format type is determined by the extension of the file URL.\nIf no extension is detected, `\"json\"` will be used by default." |
| 2308 | + "angle": { |
| 2309 | + "type": "number", |
| 2310 | + "minimum": 0, |
| 2311 | + "maximum": 360, |
| 2312 | + "description": "The rotation angle of the text, in degrees." |
| 2205 | 2313 | }, |
| 2206 | | - "property": { |
| 2314 | + "bandSize": { |
| 2315 | + "type": "number", |
| 2316 | + "minimum": 0, |
| 2317 | + "description": "The width of the ticks.\n\n__Default value:__ 2/3 of rangeStep." |
| 2318 | + }, |
| 2319 | + "baseline": { |
| 2320 | + "$ref": "#/definitions/VerticalAlign", |
| 2321 | + "description": "The vertical alignment of the text. One of `\"top\"`, `\"middle\"`, `\"bottom\"`.\n\n__Default value:__ `\"middle\"`" |
| 2322 | + }, |
| 2323 | + "color": { |
| 2207 | 2324 | "type": "string", |
| 2208 | | - "description": "The JSON property containing the desired data.\nThis parameter can be used when the loaded JSON file may have surrounding structure or\nmeta-data.\nFor example `\"property\": \"values.features\"` is equivalent to retrieving\n`json.values.features`\nfrom the loaded JSON object." |
| 2325 | + "description": "Default color. Note that `fill` and `stroke` have higher precedence than `color` and\nwill override `color`.\n\n__Default value:__ <span style=\"color: #4682b4;\">■</span> `\"#4682b4\"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 2209 | 2326 | }, |
| 2210 | | - "feature": { |
| 2327 | + "cursor": { |
| 2328 | + "$ref": "#/definitions/Cursor", |
| 2329 | + "description": "The mouse cursor used over the mark. Any valid [CSS cursor\ntype](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used." |
| 2330 | + }, |
| 2331 | + "dx": { |
| 2332 | + "type": "number", |
| 2333 | + "description": "The horizontal offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 2334 | + }, |
| 2335 | + "dy": { |
| 2336 | + "type": "number", |
| 2337 | + "description": "The vertical offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 2338 | + }, |
| 2339 | + "fill": { |
| 2211 | 2340 | "type": "string", |
| 2212 | | - "description": "The name of the TopoJSON object set to convert to a GeoJSON feature collection.\nFor example, in a map of the world, there may be an object set named `\"countries\"`.\nUsing the feature property, we can extract this set and generate a GeoJSON feature object\nfor each country." |
| 2341 | + "description": "Default Fill Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 2213 | 2342 | }, |
| 2214 | | - "mesh": { |
| 2343 | + "filled": { |
| 2344 | + "type": "boolean", |
| 2345 | + "description": "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 2346 | + }, |
| 2347 | + "fillOpacity": { |
| 2348 | + "type": "number", |
| 2349 | + "minimum": 0, |
| 2350 | + "maximum": 1, |
| 2351 | + "description": "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 2352 | + }, |
| 2353 | + "font": { |
| 2215 | 2354 | "type": "string", |
| 2216 | | - "description": "The name of the TopoJSON object set to convert to mesh.\nSimilar to the `feature` option, `mesh` extracts a named TopoJSON object set.\nUnlike the `feature` option, the corresponding geo data is returned as a single, unified\nmesh instance, not as individual GeoJSON features.\nExtracting a mesh is useful for more efficiently drawing borders or other geographic\nelements that you do not need to associate with specific regions such as individual\ncountries, states or counties." |
| 2217 | | - } |
| 2218 | | - }, |
| 2219 | | - "required": [], |
| 2220 | | - "title": "DataFormat", |
| 2221 | | - "description": "An object that specifies the format for parsing the data file.\nAn object that specifies the format for parsing the data values.\nAn object that specifies the format for parsing the data." |
| 2222 | | - }, |
| 2223 | | - "EncodingWithFacet": { |
| 2224 | | - "type": "object", |
| 2225 | | - "additionalProperties": false, |
| 2226 | | - "properties": { |
| 2227 | | - "color": { |
| 2228 | | - "$ref": "#/definitions/MarkPropDefWithCondition", |
| 2229 | | - "description": "Color of the marks – either fill or stroke color based on mark type.\nBy default, `color` represents fill color for `\"area\"`, `\"bar\"`, `\"tick\"`,\n`\"text\"`, `\"circle\"`, and `\"square\"` / stroke color for `\"line\"` and `\"point\"`.\n\n__Default value:__ If undefined, the default color depends on [mark\nconfig](config.html#mark)'s `color` property.\n\n_Note:_ See the scale documentation for more information about customizing [color\nscheme](scale.html#scheme)." |
| 2355 | + "description": "The typeface to set the text in (e.g., `\"Helvetica Neue\"`)." |
| 2230 | 2356 | }, |
| 2231 | | - "column": { |
| 2232 | | - "$ref": "#/definitions/FacetFieldDef", |
| 2233 | | - "description": "Horizontal facets for trellis plots." |
| 2357 | + "fontSize": { |
| 2358 | + "type": "number", |
| 2359 | + "minimum": 0, |
| 2360 | + "description": "The font size, in pixels." |
| 2234 | 2361 | }, |
| 2235 | | - "detail": { |
| 2236 | | - "$ref": "#/definitions/Detail", |
| 2237 | | - "description": "Additional levels of detail for grouping data in aggregate views and\nin line and area marks without mapping data to a specific visual channel." |
| 2362 | + "fontStyle": { |
| 2363 | + "$ref": "#/definitions/FontStyle", |
| 2364 | + "description": "The font style (e.g., `\"italic\"`)." |
| 2365 | + }, |
| 2366 | + "fontWeight": { |
| 2367 | + "$ref": "#/definitions/FontWeightUnion", |
| 2368 | + "description": "The font weight (e.g., `\"bold\"`)." |
| 2238 | 2369 | }, |
| 2239 | 2370 | "href": { |
| 2240 | | - "$ref": "#/definitions/DefWithCondition", |
| 2241 | | - "description": "A URL to load upon mouse click." |
| 2371 | + "type": "string", |
| 2372 | + "description": "A URL to load upon mouse click. If defined, the mark acts as a hyperlink." |
| 2373 | + }, |
| 2374 | + "interpolate": { |
| 2375 | + "$ref": "#/definitions/Interpolate", |
| 2376 | + "description": "The line interpolation method to use for line and area marks. One of the following:\n- `\"linear\"`: piecewise linear segments, as in a polyline.\n- `\"linear-closed\"`: close the linear segments to form a polygon.\n- `\"step\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"step-before\"`: alternate between vertical and horizontal segments, as in a step\nfunction.\n- `\"step-after\"`: alternate between horizontal and vertical segments, as in a step\nfunction.\n- `\"basis\"`: a B-spline, with control point duplication on the ends.\n- `\"basis-open\"`: an open B-spline; may not intersect the start or end.\n- `\"basis-closed\"`: a closed B-spline, as in a loop.\n- `\"cardinal\"`: a Cardinal spline, with control point duplication on the ends.\n- `\"cardinal-open\"`: an open Cardinal spline; may not intersect the start or end, but\nwill intersect other control points.\n- `\"cardinal-closed\"`: a closed Cardinal spline, as in a loop.\n- `\"bundle\"`: equivalent to basis, except the tension parameter is used to straighten the\nspline.\n- `\"monotone\"`: cubic interpolation that preserves monotonicity in y." |
| 2377 | + }, |
| 2378 | + "limit": { |
| 2379 | + "type": "number", |
| 2380 | + "description": "The maximum length of the text mark in pixels (default 0, indicating no limit). The text\nvalue will be automatically truncated if the rendered size exceeds the limit." |
| 2242 | 2381 | }, |
| 2243 | 2382 | "opacity": { |
| 2244 | | - "$ref": "#/definitions/MarkPropDefWithCondition", |
| 2245 | | - "description": "Opacity of the marks – either can be a value or a range.\n\n__Default value:__ If undefined, the default opacity depends on [mark\nconfig](config.html#mark)'s `opacity` property." |
| 2383 | + "type": "number", |
| 2384 | + "minimum": 0, |
| 2385 | + "maximum": 1, |
| 2386 | + "description": "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or\n`square` marks or layered `bar` charts and `1` otherwise." |
| 2246 | 2387 | }, |
| 2247 | | - "order": { |
| 2248 | | - "$ref": "#/definitions/Order", |
| 2249 | | - "description": "Stack order for stacked marks or order of data points in line marks for connected scatter\nplots.\n\n__Note__: In aggregate plots, `order` field should be `aggregate`d to avoid creating\nadditional aggregation grouping." |
| 2388 | + "orient": { |
| 2389 | + "$ref": "#/definitions/Orient", |
| 2390 | + "description": "The orientation of a non-stacked bar, tick, area, and line charts.\nThe value is either horizontal (default) or vertical.\n- For bar, rule and tick, this determines whether the size of the bar and tick\nshould be applied to x or y dimension.\n- For area, this property determines the orient property of the Vega output.\n- For line, this property determines the sort order of the points in the line\nif `config.sortLineBy` is not specified.\nFor stacked charts, this is always determined by the orientation of the stack;\ntherefore explicitly specified value will be ignored." |
| 2250 | 2391 | }, |
| 2251 | | - "row": { |
| 2252 | | - "$ref": "#/definitions/FacetFieldDef", |
| 2253 | | - "description": "Vertical facets for trellis plots." |
| 2392 | + "radius": { |
| 2393 | + "type": "number", |
| 2394 | + "minimum": 0, |
| 2395 | + "description": "Polar coordinate radial offset, in pixels, of the text label from the origin determined\nby the `x` and `y` properties." |
| 2254 | 2396 | }, |
| 2255 | 2397 | "shape": { |
| 2256 | | - "$ref": "#/definitions/MarkPropDefWithCondition", |
| 2257 | | - "description": "For `point` marks the supported values are\n`\"circle\"` (default), `\"square\"`, `\"cross\"`, `\"diamond\"`, `\"triangle-up\"`,\nor `\"triangle-down\"`, or else a custom SVG path string.\nFor `geoshape` marks it should be a field definition of the geojson data\n\n__Default value:__ If undefined, the default shape depends on [mark\nconfig](config.html#point-config)'s `shape` property." |
| 2398 | + "type": "string", |
| 2399 | + "description": "The default symbol shape to use. One of: `\"circle\"` (default), `\"square\"`, `\"cross\"`,\n`\"diamond\"`, `\"triangle-up\"`, or `\"triangle-down\"`, or a custom SVG path.\n\n__Default value:__ `\"circle\"`" |
| 2258 | 2400 | }, |
| 2259 | 2401 | "size": { |
| 2260 | | - "$ref": "#/definitions/MarkPropDefWithCondition", |
| 2261 | | - "description": "Size of the mark.\n- For `\"point\"`, `\"square\"` and `\"circle\"`, – the symbol size, or pixel area of the mark.\n- For `\"bar\"` and `\"tick\"` – the bar and tick's size.\n- For `\"text\"` – the text's font size.\n- Size is currently unsupported for `\"line\"`, `\"area\"`, and `\"rect\"`." |
| 2262 | | - }, |
| 2263 | | - "text": { |
| 2264 | | - "$ref": "#/definitions/TextDefWithCondition", |
| 2265 | | - "description": "Text of the `text` mark." |
| 2402 | + "type": "number", |
| 2403 | + "minimum": 0, |
| 2404 | + "description": "The pixel area each the point/circle/square.\nFor example: in the case of circles, the radius is determined in part by the square root\nof the size value.\n\n__Default value:__ `30`" |
| 2266 | 2405 | }, |
| 2267 | | - "tooltip": { |
| 2268 | | - "$ref": "#/definitions/TextDefWithCondition", |
| 2269 | | - "description": "The tooltip text to show upon mouse hover." |
| 2406 | + "stroke": { |
| 2407 | + "type": "string", |
| 2408 | + "description": "Default Stroke Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 2270 | 2409 | }, |
| 2271 | | - "x": { |
| 2272 | | - "$ref": "#/definitions/XClass", |
| 2273 | | - "description": "X coordinates of the marks, or width of horizontal `\"bar\"` and `\"area\"`." |
| 2410 | + "strokeDash": { |
| 2411 | + "type": "array", |
| 2412 | + "items": { |
| 2413 | + "type": "number" |
| 2414 | + }, |
| 2415 | + "description": "An array of alternating stroke, space lengths for creating dashed or dotted lines." |
| 2274 | 2416 | }, |
| 2275 | | - "x2": { |
| 2276 | | - "$ref": "#/definitions/X2Class", |
| 2277 | | - "description": "X2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`." |
| 2417 | + "strokeDashOffset": { |
| 2418 | + "type": "number", |
| 2419 | + "description": "The offset (in pixels) into which to begin drawing with the stroke dash array." |
| 2278 | 2420 | }, |
| 2279 | | - "y": { |
| 2280 | | - "$ref": "#/definitions/XClass", |
| 2281 | | - "description": "Y coordinates of the marks, or height of vertical `\"bar\"` and `\"area\"`." |
| 2421 | + "strokeOpacity": { |
| 2422 | + "type": "number", |
| 2423 | + "minimum": 0, |
| 2424 | + "maximum": 1, |
| 2425 | + "description": "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 2282 | 2426 | }, |
| 2283 | | - "y2": { |
| 2284 | | - "$ref": "#/definitions/X2Class", |
| 2285 | | - "description": "Y2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`." |
| 2427 | + "strokeWidth": { |
| 2428 | + "type": "number", |
| 2429 | + "minimum": 0, |
| 2430 | + "description": "The stroke width, in pixels." |
| 2431 | + }, |
| 2432 | + "tension": { |
| 2433 | + "type": "number", |
| 2434 | + "minimum": 0, |
| 2435 | + "maximum": 1, |
| 2436 | + "description": "Depending on the interpolation type, sets the tension parameter (for line and area marks)." |
| 2437 | + }, |
| 2438 | + "text": { |
| 2439 | + "type": "string", |
| 2440 | + "description": "Placeholder text if the `text` channel is not specified" |
| 2441 | + }, |
| 2442 | + "theta": { |
| 2443 | + "type": "number", |
| 2444 | + "description": "Polar coordinate angle, in radians, of the text label from the origin determined by the\n`x` and `y` properties. Values for `theta` follow the same convention of `arc` mark\n`startAngle` and `endAngle` properties: angles are measured in radians, with `0`\nindicating \"north\"." |
| 2445 | + }, |
| 2446 | + "thickness": { |
| 2447 | + "type": "number", |
| 2448 | + "minimum": 0, |
| 2449 | + "description": "Thickness of the tick mark.\n\n__Default value:__ `1`" |
| 2286 | 2450 | } |
| 2287 | 2451 | }, |
| 2288 | 2452 | "required": [], |
| 2289 | | - "title": "EncodingWithFacet", |
| 2290 | | - "description": "A key-value mapping between encoding channels and definition of fields." |
| 2453 | + "title": "TickConfig", |
| 2454 | + "description": "Tick-Specific Config " |
| 2291 | 2455 | }, |
| 2292 | | - "MarkPropDefWithCondition": { |
| 2456 | + "VGTitleConfig": { |
| 2293 | 2457 | "type": "object", |
| 2294 | 2458 | "additionalProperties": false, |
| 2295 | 2459 | "properties": { |
| 2296 | | - "aggregate": { |
| 2297 | | - "$ref": "#/definitions/AggregateOp", |
| 2298 | | - "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 2460 | + "anchor": { |
| 2461 | + "$ref": "#/definitions/Anchor", |
| 2462 | + "description": "The anchor position for placing the title. One of `\"start\"`, `\"middle\"`, or `\"end\"`. For\nexample, with an orientation of top these anchor positions map to a left-, center-, or\nright-aligned title.\n\n__Default value:__ `\"middle\"` for [single](spec.html) and [layered](layer.html) views.\n`\"start\"` for other composite views.\n\n__Note:__ [For now](https://github.com/vega/vega-lite/issues/2875), `anchor` is only\ncustomizable only for [single](spec.html) and [layered](layer.html) views. For other\ncomposite views, `anchor` is always `\"start\"`." |
| 2299 | 2463 | }, |
| 2300 | | - "bin": { |
| 2301 | | - "$ref": "#/definitions/Bin", |
| 2302 | | - "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 2464 | + "angle": { |
| 2465 | + "type": "number", |
| 2466 | + "description": "Angle in degrees of title text." |
| 2303 | 2467 | }, |
| 2304 | | - "condition": { |
| 2305 | | - "$ref": "#/definitions/ColorCondition", |
| 2306 | | - "description": "One or more value definition(s) with a selection predicate.\n\n__Note:__ A field definition's `condition` property can only contain [value\ndefinitions](encoding.html#value-def)\nsince Vega-Lite only allows at most one encoded field per encoding channel.\n\nA field definition or one or more value definition(s) with a selection predicate." |
| 2468 | + "baseline": { |
| 2469 | + "$ref": "#/definitions/VerticalAlign", |
| 2470 | + "description": "Vertical text baseline for title text." |
| 2307 | 2471 | }, |
| 2308 | | - "field": { |
| 2309 | | - "$ref": "#/definitions/Field", |
| 2310 | | - "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 2472 | + "color": { |
| 2473 | + "type": "string", |
| 2474 | + "description": "Text color for title text." |
| 2311 | 2475 | }, |
| 2312 | | - "legend": { |
| 2313 | | - "anyOf": [ |
| 2314 | | - { |
| 2315 | | - "$ref": "#/definitions/Legend" |
| 2316 | | - }, |
| 2317 | | - { |
| 2318 | | - "type": "null" |
| 2319 | | - } |
| 2320 | | - ], |
| 2321 | | - "description": "An object defining properties of the legend.\nIf `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](legend.html) are applied." |
| 2476 | + "font": { |
| 2477 | + "type": "string", |
| 2478 | + "description": "Font name for title text." |
| 2322 | 2479 | }, |
| 2323 | | - "scale": { |
| 2324 | | - "$ref": "#/definitions/Scale", |
| 2325 | | - "description": "An object defining properties of the channel's scale, which is the function that\ntransforms values in the data domain (numbers, dates, strings, etc) to visual values\n(pixels, colors, sizes) of the encoding channels.\n\n__Default value:__ If undefined, default [scale properties](scale.html) are applied." |
| 2480 | + "fontSize": { |
| 2481 | + "type": "number", |
| 2482 | + "minimum": 0, |
| 2483 | + "description": "Font size in pixels for title text.\n\n__Default value:__ `10`." |
| 2326 | 2484 | }, |
| 2327 | | - "sort": { |
| 2328 | | - "$ref": "#/definitions/SortUnion", |
| 2329 | | - "description": "Sort order for the encoded field.\nSupported `sort` values include `\"ascending\"`, `\"descending\"` and `null` (no sorting).\nFor fields with discrete domains, `sort` can also be a [sort field definition\nobject](sort.html#sort-field).\n\n__Default value:__ `\"ascending\"`" |
| 2485 | + "fontWeight": { |
| 2486 | + "$ref": "#/definitions/FontWeightUnion", |
| 2487 | + "description": "Font weight for title text." |
| 2330 | 2488 | }, |
| 2331 | | - "timeUnit": { |
| 2332 | | - "$ref": "#/definitions/TimeUnit", |
| 2333 | | - "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 2489 | + "limit": { |
| 2490 | + "type": "number", |
| 2491 | + "minimum": 0, |
| 2492 | + "description": "The maximum allowed length in pixels of legend labels." |
| 2334 | 2493 | }, |
| 2335 | | - "type": { |
| 2336 | | - "$ref": "#/definitions/Type", |
| 2337 | | - "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 2494 | + "offset": { |
| 2495 | + "type": "number", |
| 2496 | + "description": "Offset in pixels of the title from the chart body and axes." |
| 2338 | 2497 | }, |
| 2339 | | - "value": { |
| 2340 | | - "$ref": "#/definitions/ConditionalValueDefValue", |
| 2341 | | - "description": "A constant value in visual domain." |
| 2498 | + "orient": { |
| 2499 | + "$ref": "#/definitions/TitleOrient", |
| 2500 | + "description": "Default title orientation (\"top\", \"bottom\", \"left\", or \"right\")" |
| 2342 | 2501 | } |
| 2343 | 2502 | }, |
| 2344 | 2503 | "required": [], |
| 2345 | | - "title": "MarkPropDefWithCondition", |
| 2346 | | - "description": "Color of the marks – either fill or stroke color based on mark type.\nBy default, `color` represents fill color for `\"area\"`, `\"bar\"`, `\"tick\"`,\n`\"text\"`, `\"circle\"`, and `\"square\"` / stroke color for `\"line\"` and `\"point\"`.\n\n__Default value:__ If undefined, the default color depends on [mark config](config.html#mark)'s `color` property.\n\n_Note:_ See the scale documentation for more information about customizing [color scheme](scale.html#scheme).\nOpacity of the marks – either can be a value or a range.\n\n__Default value:__ If undefined, the default opacity depends on [mark config](config.html#mark)'s `opacity` property.\nFor `point` marks the supported values are\n`\"circle\"` (default), `\"square\"`, `\"cross\"`, `\"diamond\"`, `\"triangle-up\"`,\nor `\"triangle-down\"`, or else a custom SVG path string.\nFor `geoshape` marks it should be a field definition of the geojson data\n\n__Default value:__ If undefined, the default shape depends on [mark config](config.html#point-config)'s `shape` property.\nSize of the mark.\n- For `\"point\"`, `\"square\"` and `\"circle\"`, – the symbol size, or pixel area of the mark.\n- For `\"bar\"` and `\"tick\"` – the bar and tick's size.\n- For `\"text\"` – the text's font size.\n- Size is currently unsupported for `\"line\"`, `\"area\"`, and `\"rect\"`.\nA FieldDef with Condition<ValueDef>\n{\n condition: {value: ...},\n field: ...,\n ...\n}\nA ValueDef with Condition<ValueDef | FieldDef>\n{\n condition: {field: ...} | {value: ...},\n value: ...,\n}" |
| 2504 | + "title": "VGTitleConfig", |
| 2505 | + "description": "Title configuration, which determines default properties for all [titles](title.html). For a full list of title configuration options, please see the [corresponding section of the title documentation](title.html#config)." |
| 2347 | 2506 | }, |
| 2348 | | - "BinParams": { |
| 2507 | + "ViewConfig": { |
| 2349 | 2508 | "type": "object", |
| 2350 | 2509 | "additionalProperties": false, |
| 2351 | 2510 | "properties": { |
| 2352 | | - "base": { |
| 2511 | + "clip": { |
| 2512 | + "type": "boolean", |
| 2513 | + "description": "Whether the view should be clipped." |
| 2514 | + }, |
| 2515 | + "fill": { |
| 2516 | + "type": "string", |
| 2517 | + "description": "The fill color.\n\n__Default value:__ (none)" |
| 2518 | + }, |
| 2519 | + "fillOpacity": { |
| 2353 | 2520 | "type": "number", |
| 2354 | | - "description": "The number base to use for automatic bin determination (default is base 10).\n\n__Default value:__ `10`" |
| 2521 | + "description": "The fill opacity (value between [0,1]).\n\n__Default value:__ (none)" |
| 2355 | 2522 | }, |
| 2356 | | - "divide": { |
| 2357 | | - "type": "array", |
| 2358 | | - "items": { |
| 2359 | | - "type": "number" |
| 2360 | | - }, |
| 2361 | | - "minItems": 1, |
| 2362 | | - "description": "Scale factors indicating allowable subdivisions. The default value is [5, 2], which\nindicates that for base 10 numbers (the default base), the method may consider dividing\nbin sizes by 5 and/or 2. For example, for an initial step size of 10, the method can\ncheck if bin sizes of 2 (= 10/5), 5 (= 10/2), or 1 (= 10/(5*2)) might also satisfy the\ngiven constraints.\n\n__Default value:__ `[5, 2]`" |
| 2523 | + "height": { |
| 2524 | + "type": "number", |
| 2525 | + "description": "The default height of the single plot or each plot in a trellis plot when the\nvisualization has a continuous (non-ordinal) y-scale with `rangeStep` = `null`.\n\n__Default value:__ `200`" |
| 2363 | 2526 | }, |
| 2364 | | - "extent": { |
| 2527 | + "stroke": { |
| 2528 | + "type": "string", |
| 2529 | + "description": "The stroke color.\n\n__Default value:__ (none)" |
| 2530 | + }, |
| 2531 | + "strokeDash": { |
| 2365 | 2532 | "type": "array", |
| 2366 | 2533 | "items": { |
| 2367 | 2534 | "type": "number" |
| 2368 | 2535 | }, |
| 2369 | | - "minItems": 2, |
| 2370 | | - "maxItems": 2, |
| 2371 | | - "description": "A two-element (`[min, max]`) array indicating the range of desired bin values." |
| 2536 | + "description": "An array of alternating stroke, space lengths for creating dashed or dotted lines.\n\n__Default value:__ (none)" |
| 2372 | 2537 | }, |
| 2373 | | - "maxbins": { |
| 2538 | + "strokeDashOffset": { |
| 2374 | 2539 | "type": "number", |
| 2375 | | - "minimum": 2, |
| 2376 | | - "description": "Maximum number of bins.\n\n__Default value:__ `6` for `row`, `column` and `shape` channels; `10` for other channels" |
| 2540 | + "description": "The offset (in pixels) into which to begin drawing with the stroke dash array.\n\n__Default value:__ (none)" |
| 2377 | 2541 | }, |
| 2378 | | - "minstep": { |
| 2542 | + "strokeOpacity": { |
| 2379 | 2543 | "type": "number", |
| 2380 | | - "description": "A minimum allowable step size (particularly useful for integer values)." |
| 2381 | | - }, |
| 2382 | | - "nice": { |
| 2383 | | - "type": "boolean", |
| 2384 | | - "description": "If true (the default), attempts to make the bin boundaries use human-friendly boundaries,\nsuch as multiples of ten." |
| 2544 | + "description": "The stroke opacity (value between [0,1]).\n\n__Default value:__ (none)" |
| 2385 | 2545 | }, |
| 2386 | | - "step": { |
| 2546 | + "strokeWidth": { |
| 2387 | 2547 | "type": "number", |
| 2388 | | - "description": "An exact step size to use between bins.\n\n__Note:__ If provided, options such as maxbins will be ignored." |
| 2548 | + "description": "The stroke width, in pixels.\n\n__Default value:__ (none)" |
| 2389 | 2549 | }, |
| 2390 | | - "steps": { |
| 2391 | | - "type": "array", |
| 2392 | | - "items": { |
| 2393 | | - "type": "number" |
| 2394 | | - }, |
| 2395 | | - "minItems": 1, |
| 2396 | | - "description": "An array of allowable step sizes to choose from." |
| 2550 | + "width": { |
| 2551 | + "type": "number", |
| 2552 | + "description": "The default width of the single plot or each plot in a trellis plot when the\nvisualization has a continuous (non-ordinal) x-scale or ordinal x-scale with `rangeStep`\n= `null`.\n\n__Default value:__ `200`" |
| 2397 | 2553 | } |
| 2398 | 2554 | }, |
| 2399 | 2555 | "required": [], |
| 2400 | | - "title": "BinParams", |
| 2401 | | - "description": "Binning properties or boolean flag for determining whether to bin data or not." |
| 2556 | + "title": "ViewConfig", |
| 2557 | + "description": "Default properties for [single view plots](spec.html#single). " |
| 2402 | 2558 | }, |
| 2403 | | - "ConditionalValueDef": { |
| 2559 | + "URLData": { |
| 2404 | 2560 | "type": "object", |
| 2405 | 2561 | "additionalProperties": false, |
| 2406 | 2562 | "properties": { |
| 2407 | | - "test": { |
| 2408 | | - "$ref": "#/definitions/LogicalOperandPredicate" |
| 2409 | | - }, |
| 2410 | | - "value": { |
| 2411 | | - "$ref": "#/definitions/ConditionalValueDefValue", |
| 2412 | | - "description": "A constant value in visual domain (e.g., `\"red\"` / \"#0099ff\" for color, values between\n`0` to `1` for opacity)." |
| 2563 | + "format": { |
| 2564 | + "$ref": "#/definitions/DataFormat", |
| 2565 | + "description": "An object that specifies the format for parsing the data file." |
| 2413 | 2566 | }, |
| 2414 | | - "selection": { |
| 2415 | | - "$ref": "#/definitions/SelectionOperand", |
| 2416 | | - "description": "A [selection name](selection.html), or a series of [composed\nselections](selection.html#compose)." |
| 2567 | + "url": { |
| 2568 | + "type": "string", |
| 2569 | + "description": "An URL from which to load the data set. Use the `format.type` property\nto ensure the loaded data is correctly parsed." |
| 2417 | 2570 | } |
| 2418 | 2571 | }, |
| 2419 | 2572 | "required": [ |
| 2420 | | - "value" |
| 2573 | + "url" |
| 2421 | 2574 | ], |
| 2422 | | - "title": "ConditionalValueDef" |
| 2575 | + "title": "URLData" |
| 2423 | 2576 | }, |
| 2424 | | - "ConditionalPredicateMarkPropFieldDefClass": { |
| 2577 | + "InlineData": { |
| 2425 | 2578 | "type": "object", |
| 2426 | 2579 | "additionalProperties": false, |
| 2427 | 2580 | "properties": { |
| 2428 | | - "test": { |
| 2429 | | - "$ref": "#/definitions/LogicalOperandPredicate" |
| 2430 | | - }, |
| 2431 | | - "value": { |
| 2432 | | - "$ref": "#/definitions/ConditionalValueDefValue", |
| 2433 | | - "description": "A constant value in visual domain (e.g., `\"red\"` / \"#0099ff\" for color, values between\n`0` to `1` for opacity)." |
| 2434 | | - }, |
| 2435 | | - "selection": { |
| 2436 | | - "$ref": "#/definitions/SelectionOperand", |
| 2437 | | - "description": "A [selection name](selection.html), or a series of [composed\nselections](selection.html#compose)." |
| 2438 | | - }, |
| 2439 | | - "aggregate": { |
| 2440 | | - "$ref": "#/definitions/AggregateOp", |
| 2441 | | - "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 2442 | | - }, |
| 2443 | | - "bin": { |
| 2444 | | - "$ref": "#/definitions/Bin", |
| 2445 | | - "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 2446 | | - }, |
| 2447 | | - "field": { |
| 2448 | | - "$ref": "#/definitions/Field", |
| 2449 | | - "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 2450 | | - }, |
| 2451 | | - "legend": { |
| 2452 | | - "anyOf": [ |
| 2453 | | - { |
| 2454 | | - "$ref": "#/definitions/Legend" |
| 2455 | | - }, |
| 2456 | | - { |
| 2457 | | - "type": "null" |
| 2458 | | - } |
| 2459 | | - ], |
| 2460 | | - "description": "An object defining properties of the legend.\nIf `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](legend.html) are applied." |
| 2461 | | - }, |
| 2462 | | - "scale": { |
| 2463 | | - "$ref": "#/definitions/Scale", |
| 2464 | | - "description": "An object defining properties of the channel's scale, which is the function that\ntransforms values in the data domain (numbers, dates, strings, etc) to visual values\n(pixels, colors, sizes) of the encoding channels.\n\n__Default value:__ If undefined, default [scale properties](scale.html) are applied." |
| 2465 | | - }, |
| 2466 | | - "sort": { |
| 2467 | | - "$ref": "#/definitions/SortUnion", |
| 2468 | | - "description": "Sort order for the encoded field.\nSupported `sort` values include `\"ascending\"`, `\"descending\"` and `null` (no sorting).\nFor fields with discrete domains, `sort` can also be a [sort field definition\nobject](sort.html#sort-field).\n\n__Default value:__ `\"ascending\"`" |
| 2469 | | - }, |
| 2470 | | - "timeUnit": { |
| 2471 | | - "$ref": "#/definitions/TimeUnit", |
| 2472 | | - "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 2581 | + "format": { |
| 2582 | + "$ref": "#/definitions/DataFormat", |
| 2583 | + "description": "An object that specifies the format for parsing the data values." |
| 2473 | 2584 | }, |
| 2474 | | - "type": { |
| 2475 | | - "$ref": "#/definitions/Type", |
| 2476 | | - "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 2585 | + "values": { |
| 2586 | + "$ref": "#/definitions/Values", |
| 2587 | + "description": "The full data set, included inline. This can be an array of objects or primitive values\nor a string.\nArrays of primitive values are ingested as objects with a `data` property. Strings are\nparsed according to the specified format type." |
| 2477 | 2588 | } |
| 2478 | 2589 | }, |
| 2479 | | - "required": [], |
| 2480 | | - "title": "ConditionalPredicateMarkPropFieldDefClass" |
| 2590 | + "required": [ |
| 2591 | + "values" |
| 2592 | + ], |
| 2593 | + "title": "InlineData" |
| 2481 | 2594 | }, |
| 2482 | | - "Selection": { |
| 2595 | + "NamedData": { |
| 2483 | 2596 | "type": "object", |
| 2484 | 2597 | "additionalProperties": false, |
| 2485 | 2598 | "properties": { |
| 2486 | | - "not": { |
| 2487 | | - "$ref": "#/definitions/SelectionOperand" |
| 2488 | | - }, |
| 2489 | | - "and": { |
| 2490 | | - "type": "array", |
| 2491 | | - "items": { |
| 2492 | | - "$ref": "#/definitions/SelectionOperand" |
| 2493 | | - } |
| 2599 | + "format": { |
| 2600 | + "$ref": "#/definitions/DataFormat", |
| 2601 | + "description": "An object that specifies the format for parsing the data." |
| 2494 | 2602 | }, |
| 2495 | | - "or": { |
| 2496 | | - "type": "array", |
| 2497 | | - "items": { |
| 2498 | | - "$ref": "#/definitions/SelectionOperand" |
| 2499 | | - } |
| 2603 | + "name": { |
| 2604 | + "type": "string", |
| 2605 | + "description": "Provide a placeholder name and bind data at runtime." |
| 2500 | 2606 | } |
| 2501 | 2607 | }, |
| 2502 | | - "required": [], |
| 2503 | | - "title": "Selection" |
| 2608 | + "required": [ |
| 2609 | + "name" |
| 2610 | + ], |
| 2611 | + "title": "NamedData" |
| 2504 | 2612 | }, |
| 2505 | | - "Predicate": { |
| 2613 | + "CSVDataFormat": { |
| 2506 | 2614 | "type": "object", |
| 2507 | 2615 | "additionalProperties": false, |
| 2508 | 2616 | "properties": { |
| 2509 | | - "not": { |
| 2510 | | - "$ref": "#/definitions/LogicalOperandPredicate" |
| 2511 | | - }, |
| 2512 | | - "and": { |
| 2513 | | - "type": "array", |
| 2514 | | - "items": { |
| 2515 | | - "$ref": "#/definitions/LogicalOperandPredicate" |
| 2516 | | - } |
| 2517 | | - }, |
| 2518 | | - "or": { |
| 2519 | | - "type": "array", |
| 2520 | | - "items": { |
| 2521 | | - "$ref": "#/definitions/LogicalOperandPredicate" |
| 2522 | | - } |
| 2617 | + "parse": { |
| 2618 | + "$ref": "#/definitions/ParseUnion", |
| 2619 | + "description": "If set to auto (the default), perform automatic type inference to determine the desired\ndata types.\nAlternatively, a parsing directive object can be provided for explicit data types. Each\nproperty of the object corresponds to a field name, and the value to the desired data\ntype (one of `\"number\"`, `\"boolean\"` or `\"date\"`).\nFor example, `\"parse\": {\"modified_on\": \"date\"}` parses the `modified_on` field in each\ninput record a Date value.\n\nFor `\"date\"`, we parse data based using Javascript's\n[`Date.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\nFor Specific date formats can be provided (e.g., `{foo: 'date:\"%m%d%Y\"'}`), using the\n[d3-time-format syntax](https://github.com/d3/d3-time-format#locale_format). UTC date\nformat parsing is supported similarly (e.g., `{foo: 'utc:\"%m%d%Y\"'}`). See more about\n[UTC time](timeunit.html#utc)" |
| 2523 | 2620 | }, |
| 2524 | | - "equal": { |
| 2525 | | - "$ref": "#/definitions/Equal", |
| 2526 | | - "description": "The value that the field should be equal to." |
| 2621 | + "type": { |
| 2622 | + "$ref": "#/definitions/PurpleType", |
| 2623 | + "description": "Type of input data: `\"json\"`, `\"csv\"`, `\"tsv\"`.\nThe default format type is determined by the extension of the file URL.\nIf no extension is detected, `\"json\"` will be used by default." |
| 2624 | + } |
| 2625 | + }, |
| 2626 | + "required": [], |
| 2627 | + "title": "CSVDataFormat" |
| 2628 | + }, |
| 2629 | + "JSONDataFormat": { |
| 2630 | + "type": "object", |
| 2631 | + "additionalProperties": false, |
| 2632 | + "properties": { |
| 2633 | + "parse": { |
| 2634 | + "$ref": "#/definitions/ParseUnion", |
| 2635 | + "description": "If set to auto (the default), perform automatic type inference to determine the desired\ndata types.\nAlternatively, a parsing directive object can be provided for explicit data types. Each\nproperty of the object corresponds to a field name, and the value to the desired data\ntype (one of `\"number\"`, `\"boolean\"` or `\"date\"`).\nFor example, `\"parse\": {\"modified_on\": \"date\"}` parses the `modified_on` field in each\ninput record a Date value.\n\nFor `\"date\"`, we parse data based using Javascript's\n[`Date.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\nFor Specific date formats can be provided (e.g., `{foo: 'date:\"%m%d%Y\"'}`), using the\n[d3-time-format syntax](https://github.com/d3/d3-time-format#locale_format). UTC date\nformat parsing is supported similarly (e.g., `{foo: 'utc:\"%m%d%Y\"'}`). See more about\n[UTC time](timeunit.html#utc)" |
| 2527 | 2636 | }, |
| 2528 | | - "field": { |
| 2637 | + "property": { |
| 2529 | 2638 | "type": "string", |
| 2530 | | - "description": "Field to be filtered.\n\nField to be filtered" |
| 2639 | + "description": "The JSON property containing the desired data.\nThis parameter can be used when the loaded JSON file may have surrounding structure or\nmeta-data.\nFor example `\"property\": \"values.features\"` is equivalent to retrieving\n`json.values.features`\nfrom the loaded JSON object." |
| 2531 | 2640 | }, |
| 2532 | | - "timeUnit": { |
| 2533 | | - "$ref": "#/definitions/TimeUnit", |
| 2534 | | - "description": "Time unit for the field to be filtered.\n\ntime unit for the field to be filtered." |
| 2641 | + "type": { |
| 2642 | + "$ref": "#/definitions/FluffyType", |
| 2643 | + "description": "Type of input data: `\"json\"`, `\"csv\"`, `\"tsv\"`.\nThe default format type is determined by the extension of the file URL.\nIf no extension is detected, `\"json\"` will be used by default." |
| 2644 | + } |
| 2645 | + }, |
| 2646 | + "required": [], |
| 2647 | + "title": "JSONDataFormat" |
| 2648 | + }, |
| 2649 | + "TopoDataFormat": { |
| 2650 | + "type": "object", |
| 2651 | + "additionalProperties": false, |
| 2652 | + "properties": { |
| 2653 | + "feature": { |
| 2654 | + "type": "string", |
| 2655 | + "description": "The name of the TopoJSON object set to convert to a GeoJSON feature collection.\nFor example, in a map of the world, there may be an object set named `\"countries\"`.\nUsing the feature property, we can extract this set and generate a GeoJSON feature object\nfor each country." |
| 2535 | 2656 | }, |
| 2536 | | - "range": { |
| 2537 | | - "type": "array", |
| 2538 | | - "items": { |
| 2539 | | - "$ref": "#/definitions/RangeElement" |
| 2540 | | - }, |
| 2541 | | - "minItems": 2, |
| 2542 | | - "maxItems": 2, |
| 2543 | | - "description": "An array of inclusive minimum and maximum values\nfor a field value of a data item to be included in the filtered data." |
| 2657 | + "mesh": { |
| 2658 | + "type": "string", |
| 2659 | + "description": "The name of the TopoJSON object set to convert to mesh.\nSimilar to the `feature` option, `mesh` extracts a named TopoJSON object set.\nUnlike the `feature` option, the corresponding geo data is returned as a single, unified\nmesh instance, not as individual GeoJSON features.\nExtracting a mesh is useful for more efficiently drawing borders or other geographic\nelements that you do not need to associate with specific regions such as individual\ncountries, states or counties." |
| 2544 | 2660 | }, |
| 2545 | | - "oneOf": { |
| 2546 | | - "type": "array", |
| 2547 | | - "items": { |
| 2548 | | - "$ref": "#/definitions/Equal" |
| 2549 | | - }, |
| 2550 | | - "description": "A set of values that the `field`'s value should be a member of,\nfor a data item included in the filtered data." |
| 2661 | + "parse": { |
| 2662 | + "$ref": "#/definitions/ParseUnion", |
| 2663 | + "description": "If set to auto (the default), perform automatic type inference to determine the desired\ndata types.\nAlternatively, a parsing directive object can be provided for explicit data types. Each\nproperty of the object corresponds to a field name, and the value to the desired data\ntype (one of `\"number\"`, `\"boolean\"` or `\"date\"`).\nFor example, `\"parse\": {\"modified_on\": \"date\"}` parses the `modified_on` field in each\ninput record a Date value.\n\nFor `\"date\"`, we parse data based using Javascript's\n[`Date.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\nFor Specific date formats can be provided (e.g., `{foo: 'date:\"%m%d%Y\"'}`), using the\n[d3-time-format syntax](https://github.com/d3/d3-time-format#locale_format). UTC date\nformat parsing is supported similarly (e.g., `{foo: 'utc:\"%m%d%Y\"'}`). See more about\n[UTC time](timeunit.html#utc)" |
| 2551 | 2664 | }, |
| 2552 | | - "selection": { |
| 2553 | | - "$ref": "#/definitions/SelectionOperand", |
| 2554 | | - "description": "Filter using a selection name." |
| 2665 | + "type": { |
| 2666 | + "$ref": "#/definitions/TentacledType", |
| 2667 | + "description": "Type of input data: `\"json\"`, `\"csv\"`, `\"tsv\"`.\nThe default format type is determined by the extension of the file URL.\nIf no extension is detected, `\"json\"` will be used by default." |
| 2555 | 2668 | } |
| 2556 | 2669 | }, |
| 2557 | 2670 | "required": [], |
| 2558 | | - "title": "Predicate" |
| 2671 | + "title": "TopoDataFormat" |
| 2559 | 2672 | }, |
| 2560 | | - "DateTime": { |
| 2673 | + "EncodingWithFacet": { |
| 2561 | 2674 | "type": "object", |
| 2562 | 2675 | "additionalProperties": false, |
| 2563 | 2676 | "properties": { |
| 2564 | | - "date": { |
| 2565 | | - "type": "number", |
| 2566 | | - "minimum": 1, |
| 2567 | | - "maximum": 31, |
| 2568 | | - "description": "Integer value representing the date from 1-31." |
| 2677 | + "color": { |
| 2678 | + "$ref": "#/definitions/Color", |
| 2679 | + "description": "Color of the marks – either fill or stroke color based on mark type.\nBy default, `color` represents fill color for `\"area\"`, `\"bar\"`, `\"tick\"`,\n`\"text\"`, `\"circle\"`, and `\"square\"` / stroke color for `\"line\"` and `\"point\"`.\n\n__Default value:__ If undefined, the default color depends on [mark\nconfig](config.html#mark)'s `color` property.\n\n_Note:_ See the scale documentation for more information about customizing [color\nscheme](scale.html#scheme)." |
| 2569 | 2680 | }, |
| 2570 | | - "day": { |
| 2571 | | - "$ref": "#/definitions/Day", |
| 2572 | | - "description": "Value representing the day of a week. This can be one of: (1) integer value -- `1`\nrepresents Monday; (2) case-insensitive day name (e.g., `\"Monday\"`); (3)\ncase-insensitive, 3-character short day name (e.g., `\"Mon\"`). <br/> **Warning:** A\nDateTime definition object with `day`** should not be combined with `year`, `quarter`,\n`month`, or `date`." |
| 2681 | + "column": { |
| 2682 | + "$ref": "#/definitions/FacetFieldDef", |
| 2683 | + "description": "Horizontal facets for trellis plots." |
| 2573 | 2684 | }, |
| 2574 | | - "hours": { |
| 2575 | | - "type": "number", |
| 2576 | | - "minimum": 0, |
| 2577 | | - "maximum": 23, |
| 2578 | | - "description": "Integer value representing the hour of a day from 0-23." |
| 2685 | + "detail": { |
| 2686 | + "$ref": "#/definitions/Detail", |
| 2687 | + "description": "Additional levels of detail for grouping data in aggregate views and\nin line and area marks without mapping data to a specific visual channel." |
| 2579 | 2688 | }, |
| 2580 | | - "milliseconds": { |
| 2581 | | - "type": "number", |
| 2582 | | - "minimum": 0, |
| 2583 | | - "maximum": 999, |
| 2584 | | - "description": "Integer value representing the millisecond segment of time." |
| 2689 | + "href": { |
| 2690 | + "$ref": "#/definitions/Href", |
| 2691 | + "description": "A URL to load upon mouse click." |
| 2585 | 2692 | }, |
| 2586 | | - "minutes": { |
| 2587 | | - "type": "number", |
| 2588 | | - "minimum": 0, |
| 2589 | | - "maximum": 59, |
| 2590 | | - "description": "Integer value representing the minute segment of time from 0-59." |
| 2693 | + "opacity": { |
| 2694 | + "$ref": "#/definitions/Color", |
| 2695 | + "description": "Opacity of the marks – either can be a value or a range.\n\n__Default value:__ If undefined, the default opacity depends on [mark\nconfig](config.html#mark)'s `opacity` property." |
| 2591 | 2696 | }, |
| 2592 | | - "month": { |
| 2593 | | - "$ref": "#/definitions/Month", |
| 2594 | | - "description": "One of: (1) integer value representing the month from `1`-`12`. `1` represents January;\n(2) case-insensitive month name (e.g., `\"January\"`); (3) case-insensitive, 3-character\nshort month name (e.g., `\"Jan\"`)." |
| 2697 | + "order": { |
| 2698 | + "$ref": "#/definitions/Order", |
| 2699 | + "description": "Stack order for stacked marks or order of data points in line marks for connected scatter\nplots.\n\n__Note__: In aggregate plots, `order` field should be `aggregate`d to avoid creating\nadditional aggregation grouping." |
| 2595 | 2700 | }, |
| 2596 | | - "quarter": { |
| 2597 | | - "type": "number", |
| 2598 | | - "minimum": 1, |
| 2599 | | - "maximum": 4, |
| 2600 | | - "description": "Integer value representing the quarter of the year (from 1-4)." |
| 2701 | + "row": { |
| 2702 | + "$ref": "#/definitions/FacetFieldDef", |
| 2703 | + "description": "Vertical facets for trellis plots." |
| 2601 | 2704 | }, |
| 2602 | | - "seconds": { |
| 2603 | | - "type": "number", |
| 2604 | | - "minimum": 0, |
| 2605 | | - "maximum": 59, |
| 2606 | | - "description": "Integer value representing the second segment (0-59) of a time value" |
| 2705 | + "shape": { |
| 2706 | + "$ref": "#/definitions/Color", |
| 2707 | + "description": "For `point` marks the supported values are\n`\"circle\"` (default), `\"square\"`, `\"cross\"`, `\"diamond\"`, `\"triangle-up\"`,\nor `\"triangle-down\"`, or else a custom SVG path string.\nFor `geoshape` marks it should be a field definition of the geojson data\n\n__Default value:__ If undefined, the default shape depends on [mark\nconfig](config.html#point-config)'s `shape` property." |
| 2607 | 2708 | }, |
| 2608 | | - "utc": { |
| 2609 | | - "type": "boolean", |
| 2610 | | - "description": "A boolean flag indicating if date time is in utc time. If false, the date time is in\nlocal time" |
| 2709 | + "size": { |
| 2710 | + "$ref": "#/definitions/Color", |
| 2711 | + "description": "Size of the mark.\n- For `\"point\"`, `\"square\"` and `\"circle\"`, – the symbol size, or pixel area of the mark.\n- For `\"bar\"` and `\"tick\"` – the bar and tick's size.\n- For `\"text\"` – the text's font size.\n- Size is currently unsupported for `\"line\"`, `\"area\"`, and `\"rect\"`." |
| 2611 | 2712 | }, |
| 2612 | | - "year": { |
| 2613 | | - "type": "number", |
| 2614 | | - "description": "Integer value representing the year." |
| 2713 | + "text": { |
| 2714 | + "$ref": "#/definitions/Text", |
| 2715 | + "description": "Text of the `text` mark." |
| 2716 | + }, |
| 2717 | + "tooltip": { |
| 2718 | + "$ref": "#/definitions/Text", |
| 2719 | + "description": "The tooltip text to show upon mouse hover." |
| 2720 | + }, |
| 2721 | + "x": { |
| 2722 | + "$ref": "#/definitions/X", |
| 2723 | + "description": "X coordinates of the marks, or width of horizontal `\"bar\"` and `\"area\"`." |
| 2724 | + }, |
| 2725 | + "x2": { |
| 2726 | + "$ref": "#/definitions/X2", |
| 2727 | + "description": "X2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`." |
| 2728 | + }, |
| 2729 | + "y": { |
| 2730 | + "$ref": "#/definitions/X", |
| 2731 | + "description": "Y coordinates of the marks, or height of vertical `\"bar\"` and `\"area\"`." |
| 2732 | + }, |
| 2733 | + "y2": { |
| 2734 | + "$ref": "#/definitions/X2", |
| 2735 | + "description": "Y2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`." |
| 2615 | 2736 | } |
| 2616 | 2737 | }, |
| 2617 | 2738 | "required": [], |
| 2618 | | - "title": "DateTime", |
| 2619 | | - "description": "Object for defining datetime in Vega-Lite Filter.\nIf both month and quarter are provided, month has higher precedence.\n`day` cannot be combined with other date.\nWe accept string for month and day names." |
| 2620 | | - }, |
| 2621 | | - "RepeatRef": { |
| 2622 | | - "type": "object", |
| 2623 | | - "additionalProperties": false, |
| 2624 | | - "properties": { |
| 2625 | | - "repeat": { |
| 2626 | | - "$ref": "#/definitions/RepeatEnum" |
| 2627 | | - } |
| 2628 | | - }, |
| 2629 | | - "required": [ |
| 2630 | | - "repeat" |
| 2631 | | - ], |
| 2632 | | - "title": "RepeatRef", |
| 2633 | | - "description": "Reference to a repeated value." |
| 2739 | + "title": "EncodingWithFacet", |
| 2740 | + "description": "A key-value mapping between encoding channels and definition of fields." |
| 2634 | 2741 | }, |
| 2635 | | - "Legend": { |
| 2742 | + "MarkPropFieldDefWithCondition": { |
| 2636 | 2743 | "type": "object", |
| 2637 | 2744 | "additionalProperties": false, |
| 2638 | 2745 | "properties": { |
| 2639 | | - "entryPadding": { |
| 2640 | | - "type": "number", |
| 2641 | | - "description": "Padding (in pixels) between legend entries in a symbol legend." |
| 2642 | | - }, |
| 2643 | | - "format": { |
| 2644 | | - "type": "string", |
| 2645 | | - "description": "The formatting pattern for labels. This is D3's [number format\npattern](https://github.com/d3/d3-format#locale_format) for quantitative fields and D3's\n[time format pattern](https://github.com/d3/d3-time-format#locale_format) for time\nfield.\n\nSee the [format documentation](format.html) for more information.\n\n__Default value:__ derived from [numberFormat](config.html#format) config for\nquantitative fields and from [timeFormat](config.html#format) config for temporal fields." |
| 2646 | | - }, |
| 2647 | | - "offset": { |
| 2648 | | - "type": "number", |
| 2649 | | - "description": "The offset, in pixels, by which to displace the legend from the edge of the enclosing\ngroup or data rectangle.\n\n__Default value:__ `0`" |
| 2746 | + "aggregate": { |
| 2747 | + "$ref": "#/definitions/AggregateOp", |
| 2748 | + "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 2650 | 2749 | }, |
| 2651 | | - "orient": { |
| 2652 | | - "$ref": "#/definitions/LegendOrient", |
| 2653 | | - "description": "The orientation of the legend, which determines how the legend is positioned within the\nscene. One of \"left\", \"right\", \"top-left\", \"top-right\", \"bottom-left\", \"bottom-right\",\n\"none\".\n\n__Default value:__ `\"right\"`" |
| 2750 | + "bin": { |
| 2751 | + "$ref": "#/definitions/Bin", |
| 2752 | + "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 2654 | 2753 | }, |
| 2655 | | - "padding": { |
| 2656 | | - "type": "number", |
| 2657 | | - "description": "The padding, in pixels, between the legend and axis." |
| 2754 | + "condition": { |
| 2755 | + "$ref": "#/definitions/ConditionUnion", |
| 2756 | + "description": "One or more value definition(s) with a selection predicate.\n\n__Note:__ A field definition's `condition` property can only contain [value\ndefinitions](encoding.html#value-def)\nsince Vega-Lite only allows at most one encoded field per encoding channel." |
| 2658 | 2757 | }, |
| 2659 | | - "tickCount": { |
| 2660 | | - "type": "number", |
| 2661 | | - "description": "The desired number of tick values for quantitative legends." |
| 2758 | + "field": { |
| 2759 | + "$ref": "#/definitions/Field", |
| 2760 | + "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 2662 | 2761 | }, |
| 2663 | | - "title": { |
| 2762 | + "legend": { |
| 2664 | 2763 | "anyOf": [ |
| 2665 | 2764 | { |
| 2666 | | - "type": "null" |
| 2765 | + "$ref": "#/definitions/Legend" |
| 2667 | 2766 | }, |
| 2668 | 2767 | { |
| 2669 | | - "type": "string" |
| 2768 | + "type": "null" |
| 2670 | 2769 | } |
| 2671 | 2770 | ], |
| 2672 | | - "description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function\n(`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the\nfunction is displayed as a part of the title (e.g., `\"Sum of Profit\"`). If the field is\nbinned or has a time unit applied, the applied function will be denoted in parentheses\n(e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is\nsimply the field name.\n\n__Note__: You can customize the default field title format by providing the [`fieldTitle`\nproperty in the [config](config.html) or [`fieldTitle` function via the `compile`\nfunction's options](compile.html#field-title)." |
| 2771 | + "description": "An object defining properties of the legend.\nIf `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](legend.html) are applied." |
| 2673 | 2772 | }, |
| 2674 | | - "type": { |
| 2675 | | - "$ref": "#/definitions/LegendType", |
| 2676 | | - "description": "The type of the legend. Use `\"symbol\"` to create a discrete legend and `\"gradient\"` for a\ncontinuous color gradient.\n\n__Default value:__ `\"gradient\"` for non-binned quantitative fields and temporal fields;\n`\"symbol\"` otherwise." |
| 2773 | + "scale": { |
| 2774 | + "$ref": "#/definitions/Scale", |
| 2775 | + "description": "An object defining properties of the channel's scale, which is the function that\ntransforms values in the data domain (numbers, dates, strings, etc) to visual values\n(pixels, colors, sizes) of the encoding channels.\n\n__Default value:__ If undefined, default [scale properties](scale.html) are applied." |
| 2677 | 2776 | }, |
| 2678 | | - "values": { |
| 2679 | | - "type": "array", |
| 2680 | | - "items": { |
| 2681 | | - "$ref": "#/definitions/LegendValue" |
| 2682 | | - }, |
| 2683 | | - "description": "Explicitly set the visible legend values." |
| 2777 | + "sort": { |
| 2778 | + "$ref": "#/definitions/SortUnion", |
| 2779 | + "description": "Sort order for the encoded field.\nSupported `sort` values include `\"ascending\"`, `\"descending\"` and `null` (no sorting).\nFor fields with discrete domains, `sort` can also be a [sort field definition\nobject](sort.html#sort-field).\n\n__Default value:__ `\"ascending\"`" |
| 2684 | 2780 | }, |
| 2685 | | - "zindex": { |
| 2686 | | - "type": "number", |
| 2687 | | - "minimum": 0, |
| 2688 | | - "description": "A non-positive integer indicating z-index of the legend.\nIf zindex is 0, legend should be drawn behind all chart elements.\nTo put them in front, use zindex = 1." |
| 2781 | + "timeUnit": { |
| 2782 | + "$ref": "#/definitions/TimeUnit", |
| 2783 | + "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 2784 | + }, |
| 2785 | + "type": { |
| 2786 | + "$ref": "#/definitions/Type", |
| 2787 | + "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 2689 | 2788 | } |
| 2690 | 2789 | }, |
| 2691 | | - "required": [], |
| 2692 | | - "title": "Legend", |
| 2693 | | - "description": "Properties of a legend or boolean flag for determining whether to show it." |
| 2790 | + "required": [ |
| 2791 | + "type" |
| 2792 | + ], |
| 2793 | + "title": "MarkPropFieldDefWithCondition", |
| 2794 | + "description": "A FieldDef with Condition<ValueDef>\n{\n condition: {value: ...},\n field: ...,\n ...\n}" |
| 2694 | 2795 | }, |
| 2695 | | - "Scale": { |
| 2796 | + "MarkPropValueDefWithCondition": { |
| 2696 | 2797 | "type": "object", |
| 2697 | 2798 | "additionalProperties": false, |
| 2698 | 2799 | "properties": { |
| 2699 | | - "base": { |
| 2700 | | - "type": "number", |
| 2701 | | - "description": "The logarithm base of the `log` scale (default `10`)." |
| 2702 | | - }, |
| 2703 | | - "clamp": { |
| 2704 | | - "type": "boolean", |
| 2705 | | - "description": "If `true`, values that exceed the data domain are clamped to either the minimum or\nmaximum range value\n\n__Default value:__ derived from the [scale config](config.html#scale-config)'s `clamp`\n(`true` by default)." |
| 2800 | + "condition": { |
| 2801 | + "$ref": "#/definitions/ColorCondition", |
| 2802 | + "description": "A field definition or one or more value definition(s) with a selection predicate." |
| 2706 | 2803 | }, |
| 2707 | | - "domain": { |
| 2708 | | - "$ref": "#/definitions/DomainUnion", |
| 2709 | | - "description": "Customized domain values.\n\nFor _quantitative_ fields, `domain` can take the form of a two-element array with minimum\nand maximum values. [Piecewise scales](scale.html#piecewise) can be created by providing\na `domain` with more than two entries.\nIf the input field is aggregated, `domain` can also be a string value `\"unaggregated\"`,\nindicating that the domain should include the raw data values prior to the aggregation.\n\nFor _temporal_ fields, `domain` can be a two-element array minimum and maximum values, in\nthe form of either timestamps or the [DateTime definition objects](types.html#datetime).\n\nFor _ordinal_ and _nominal_ fields, `domain` can be an array that lists valid input\nvalues.\n\nThe `selection` property can be used to [interactively\ndetermine](selection.html#scale-domains) the scale domain." |
| 2710 | | - }, |
| 2711 | | - "exponent": { |
| 2804 | + "value": { |
| 2805 | + "$ref": "#/definitions/ConditionValue", |
| 2806 | + "description": "A constant value in visual domain." |
| 2807 | + } |
| 2808 | + }, |
| 2809 | + "required": [], |
| 2810 | + "title": "MarkPropValueDefWithCondition", |
| 2811 | + "description": "A ValueDef with Condition<ValueDef | FieldDef>\n{\n condition: {field: ...} | {value: ...},\n value: ...,\n}" |
| 2812 | + }, |
| 2813 | + "BinParams": { |
| 2814 | + "type": "object", |
| 2815 | + "additionalProperties": false, |
| 2816 | + "properties": { |
| 2817 | + "base": { |
| 2712 | 2818 | "type": "number", |
| 2713 | | - "description": "The exponent of the `pow` scale." |
| 2714 | | - }, |
| 2715 | | - "interpolate": { |
| 2716 | | - "$ref": "#/definitions/InterpolateUnion", |
| 2717 | | - "description": "The interpolation method for range values. By default, a general interpolator for\nnumbers, dates, strings and colors (in RGB space) is used. For color ranges, this\nproperty allows interpolation in alternative color spaces. Legal values include `rgb`,\n`hsl`, `hsl-long`, `lab`, `hcl`, `hcl-long`, `cubehelix` and `cubehelix-long` ('-long'\nvariants use longer paths in polar coordinate spaces). If object-valued, this property\naccepts an object with a string-valued _type_ property and an optional numeric _gamma_\nproperty applicable to rgb and cubehelix interpolators. For more, see the [d3-interpolate\ndocumentation](https://github.com/d3/d3-interpolate).\n\n__Note:__ Sequential scales do not support `interpolate` as they have a fixed\ninterpolator. Since Vega-Lite uses sequential scales for quantitative fields by default,\nyou have to set the scale `type` to other quantitative scale type such as `\"linear\"` to\ncustomize `interpolate`." |
| 2819 | + "description": "The number base to use for automatic bin determination (default is base 10).\n\n__Default value:__ `10`" |
| 2718 | 2820 | }, |
| 2719 | | - "nice": { |
| 2720 | | - "$ref": "#/definitions/NiceUnion", |
| 2721 | | - "description": "Extending the domain so that it starts and ends on nice round values. This method\ntypically modifies the scale’s domain, and may only extend the bounds to the nearest\nround value. Nicing is useful if the domain is computed from data and may be irregular.\nFor example, for a domain of _[0.201479…, 0.996679…]_, a nice domain might be _[0.2,\n1.0]_.\n\nFor quantitative scales such as linear, `nice` can be either a boolean flag or a number.\nIf `nice` is a number, it will represent a desired tick count. This allows greater\ncontrol over the step size used to extend the bounds, guaranteeing that the returned\nticks will exactly cover the domain.\n\nFor temporal fields with time and utc scales, the `nice` value can be a string indicating\nthe desired time interval. Legal values are `\"millisecond\"`, `\"second\"`, `\"minute\"`,\n`\"hour\"`, `\"day\"`, `\"week\"`, `\"month\"`, and `\"year\"`. Alternatively, `time` and `utc`\nscales can accept an object-valued interval specifier of the form `{\"interval\": \"month\",\n\"step\": 3}`, which includes a desired number of interval steps. Here, the domain would\nsnap to quarter (Jan, Apr, Jul, Oct) boundaries.\n\n__Default value:__ `true` for unbinned _quantitative_ fields; `false` otherwise." |
| 2821 | + "divide": { |
| 2822 | + "type": "array", |
| 2823 | + "items": { |
| 2824 | + "type": "number" |
| 2825 | + }, |
| 2826 | + "minItems": 1, |
| 2827 | + "description": "Scale factors indicating allowable subdivisions. The default value is [5, 2], which\nindicates that for base 10 numbers (the default base), the method may consider dividing\nbin sizes by 5 and/or 2. For example, for an initial step size of 10, the method can\ncheck if bin sizes of 2 (= 10/5), 5 (= 10/2), or 1 (= 10/(5*2)) might also satisfy the\ngiven constraints.\n\n__Default value:__ `[5, 2]`" |
| 2722 | 2828 | }, |
| 2723 | | - "padding": { |
| 2724 | | - "type": "number", |
| 2725 | | - "minimum": 0, |
| 2726 | | - "description": "For _[continuous](scale.html#continuous)_ scales, expands the scale domain to accommodate\nthe specified number of pixels on each of the scale range. The scale range must represent\npixels for this parameter to function as intended. Padding adjustment is performed prior\nto all other adjustments, including the effects of the zero, nice, domainMin, and\ndomainMax properties.\n\nFor _[band](scale.html#band)_ scales, shortcut for setting `paddingInner` and\n`paddingOuter` to the same value.\n\nFor _[point](scale.html#point)_ scales, alias for `paddingOuter`.\n\n__Default value:__ For _continuous_ scales, derived from the [scale\nconfig](scale.html#config)'s `continuousPadding`.\nFor _band and point_ scales, see `paddingInner` and `paddingOuter`." |
| 2829 | + "extent": { |
| 2830 | + "type": "array", |
| 2831 | + "items": { |
| 2832 | + "type": "number" |
| 2833 | + }, |
| 2834 | + "minItems": 2, |
| 2835 | + "maxItems": 2, |
| 2836 | + "description": "A two-element (`[min, max]`) array indicating the range of desired bin values." |
| 2727 | 2837 | }, |
| 2728 | | - "paddingInner": { |
| 2838 | + "maxbins": { |
| 2729 | 2839 | "type": "number", |
| 2730 | | - "minimum": 0, |
| 2731 | | - "maximum": 1, |
| 2732 | | - "description": "The inner padding (spacing) within each band step of band scales, as a fraction of the\nstep size. This value must lie in the range [0,1].\n\nFor point scale, this property is invalid as point scales do not have internal band\nwidths (only step sizes between bands).\n\n__Default value:__ derived from the [scale config](scale.html#config)'s\n`bandPaddingInner`." |
| 2840 | + "minimum": 2, |
| 2841 | + "description": "Maximum number of bins.\n\n__Default value:__ `6` for `row`, `column` and `shape` channels; `10` for other channels" |
| 2733 | 2842 | }, |
| 2734 | | - "paddingOuter": { |
| 2843 | + "minstep": { |
| 2735 | 2844 | "type": "number", |
| 2736 | | - "minimum": 0, |
| 2737 | | - "maximum": 1, |
| 2738 | | - "description": "The outer padding (spacing) at the ends of the range of band and point scales,\nas a fraction of the step size. This value must lie in the range [0,1].\n\n__Default value:__ derived from the [scale config](scale.html#config)'s\n`bandPaddingOuter` for band scales and `pointPadding` for point scales." |
| 2739 | | - }, |
| 2740 | | - "range": { |
| 2741 | | - "$ref": "#/definitions/ScaleRange", |
| 2742 | | - "description": "The range of the scale. One of:\n\n- A string indicating a [pre-defined named scale range](scale.html#range-config) (e.g.,\nexample, `\"symbol\"`, or `\"diverging\"`).\n\n- For [continuous scales](scale.html#continuous), two-element array indicating minimum\nand maximum values, or an array with more than two entries for specifying a [piecewise\nscale](scale.html#piecewise).\n\n- For [discrete](scale.html#discrete) and [discretizing](scale.html#discretizing) scales,\nan array of desired output values.\n\n__Notes:__\n\n1) For [sequential](scale.html#sequential), [ordinal](scale.html#ordinal), and\ndiscretizing color scales, you can also specify a color [`scheme`](scale.html#scheme)\ninstead of `range`.\n\n2) Any directly specified `range` for `x` and `y` channels will be ignored. Range can be\ncustomized via the view's corresponding [size](size.html) (`width` and `height`) or via\n[range steps and paddings properties](#range-step) for [band](#band) and [point](#point)\nscales." |
| 2743 | | - }, |
| 2744 | | - "rangeStep": { |
| 2745 | | - "anyOf": [ |
| 2746 | | - { |
| 2747 | | - "type": "number", |
| 2748 | | - "minimum": 0 |
| 2749 | | - }, |
| 2750 | | - { |
| 2751 | | - "type": "null" |
| 2752 | | - } |
| 2753 | | - ], |
| 2754 | | - "description": "The distance between the starts of adjacent bands or points in [band](scale.html#band)\nand [point](scale.html#point) scales.\n\nIf `rangeStep` is `null` or if the view contains the scale's corresponding\n[size](size.html) (`width` for `x` scales and `height` for `y` scales), `rangeStep` will\nbe automatically determined to fit the size of the view.\n\n__Default value:__ derived the [scale config](config.html#scale-config)'s\n`textXRangeStep` (`90` by default) for x-scales of `text` marks and `rangeStep` (`21` by\ndefault) for x-scales of other marks and y-scales.\n\n__Warning__: If `rangeStep` is `null` and the cardinality of the scale's domain is higher\nthan `width` or `height`, the rangeStep might become less than one pixel and the mark\nmight not appear correctly." |
| 2845 | + "description": "A minimum allowable step size (particularly useful for integer values)." |
| 2755 | 2846 | }, |
| 2756 | | - "round": { |
| 2847 | + "nice": { |
| 2757 | 2848 | "type": "boolean", |
| 2758 | | - "description": "If `true`, rounds numeric output values to integers. This can be helpful for snapping to\nthe pixel grid.\n\n__Default value:__ `false`." |
| 2759 | | - }, |
| 2760 | | - "scheme": { |
| 2761 | | - "$ref": "#/definitions/Scheme", |
| 2762 | | - "description": "A string indicating a color [scheme](scale.html#scheme) name (e.g., `\"category10\"` or\n`\"viridis\"`) or a [scheme parameter object](scale.html#scheme-params).\n\nDiscrete color schemes may be used with [discrete](scale.html#discrete) or\n[discretizing](scale.html#discretizing) scales. Continuous color schemes are intended for\nuse with [sequential](scales.html#sequential) scales.\n\nFor the full list of supported scheme, please refer to the [Vega\nScheme](https://vega.github.io/vega/docs/schemes/#reference) reference." |
| 2849 | + "description": "If true (the default), attempts to make the bin boundaries use human-friendly boundaries,\nsuch as multiples of ten." |
| 2763 | 2850 | }, |
| 2764 | | - "type": { |
| 2765 | | - "$ref": "#/definitions/ScaleType", |
| 2766 | | - "description": "The type of scale. Vega-Lite supports the following categories of scale types:\n\n1) [**Continuous Scales**](scale.html#continuous) -- mapping continuous domains to\ncontinuous output ranges ([`\"linear\"`](scale.html#linear), [`\"pow\"`](scale.html#pow),\n[`\"sqrt\"`](scale.html#sqrt), [`\"log\"`](scale.html#log), [`\"time\"`](scale.html#time),\n[`\"utc\"`](scale.html#utc), [`\"sequential\"`](scale.html#sequential)).\n\n2) [**Discrete Scales**](scale.html#discrete) -- mapping discrete domains to discrete\n([`\"ordinal\"`](scale.html#ordinal)) or continuous ([`\"band\"`](scale.html#band) and\n[`\"point\"`](scale.html#point)) output ranges.\n\n3) [**Discretizing Scales**](scale.html#discretizing) -- mapping continuous domains to\ndiscrete output ranges ([`\"bin-linear\"`](scale.html#bin-linear) and\n[`\"bin-ordinal\"`](scale.html#bin-ordinal)).\n\n__Default value:__ please see the [scale type table](scale.html#type)." |
| 2851 | + "step": { |
| 2852 | + "type": "number", |
| 2853 | + "description": "An exact step size to use between bins.\n\n__Note:__ If provided, options such as maxbins will be ignored." |
| 2767 | 2854 | }, |
| 2768 | | - "zero": { |
| 2769 | | - "type": "boolean", |
| 2770 | | - "description": "If `true`, ensures that a zero baseline value is included in the scale domain.\n\n__Default value:__ `true` for x and y channels if the quantitative field is not binned\nand no custom `domain` is provided; `false` otherwise.\n\n__Note:__ Log, time, and utc scales do not support `zero`." |
| 2855 | + "steps": { |
| 2856 | + "type": "array", |
| 2857 | + "items": { |
| 2858 | + "type": "number" |
| 2859 | + }, |
| 2860 | + "minItems": 1, |
| 2861 | + "description": "An array of allowable step sizes to choose from." |
| 2771 | 2862 | } |
| 2772 | 2863 | }, |
| 2773 | 2864 | "required": [], |
| 2774 | | - "title": "Scale", |
| 2775 | | - "description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\n__Default value:__ If undefined, default [scale properties](scale.html) are applied." |
| 2865 | + "title": "BinParams", |
| 2866 | + "description": "Binning properties or boolean flag for determining whether to bin data or not." |
| 2776 | 2867 | }, |
| 2777 | | - "DomainClass": { |
| 2868 | + "ConditionalPredicateValueDef": { |
| 2778 | 2869 | "type": "object", |
| 2779 | 2870 | "additionalProperties": false, |
| 2780 | 2871 | "properties": { |
| 2781 | | - "field": { |
| 2782 | | - "type": "string", |
| 2783 | | - "description": "The field name to extract selected values for, when a selection is\n[projected](project.html)\nover multiple fields or encodings." |
| 2784 | | - }, |
| 2785 | | - "selection": { |
| 2786 | | - "type": "string", |
| 2787 | | - "description": "The name of a selection." |
| 2872 | + "test": { |
| 2873 | + "$ref": "#/definitions/LogicalOperandPredicate" |
| 2788 | 2874 | }, |
| 2789 | | - "encoding": { |
| 2790 | | - "type": "string", |
| 2791 | | - "description": "The encoding channel to extract selected values for, when a selection is\n[projected](project.html)\nover multiple fields or encodings." |
| 2875 | + "value": { |
| 2876 | + "$ref": "#/definitions/ConditionValue", |
| 2877 | + "description": "A constant value in visual domain (e.g., `\"red\"` / \"#0099ff\" for color, values between\n`0` to `1` for opacity)." |
| 2792 | 2878 | } |
| 2793 | 2879 | }, |
| 2794 | 2880 | "required": [ |
| 2795 | | - "selection" |
| 2881 | + "test", |
| 2882 | + "value" |
| 2796 | 2883 | ], |
| 2797 | | - "title": "DomainClass" |
| 2884 | + "title": "ConditionalPredicateValueDef" |
| 2798 | 2885 | }, |
| 2799 | | - "InterpolateParams": { |
| 2886 | + "ConditionalSelectionValueDef": { |
| 2800 | 2887 | "type": "object", |
| 2801 | 2888 | "additionalProperties": false, |
| 2802 | 2889 | "properties": { |
| 2803 | | - "gamma": { |
| 2804 | | - "type": "number" |
| 2890 | + "selection": { |
| 2891 | + "$ref": "#/definitions/SelectionOperand", |
| 2892 | + "description": "A [selection name](selection.html), or a series of [composed\nselections](selection.html#compose)." |
| 2805 | 2893 | }, |
| 2806 | | - "type": { |
| 2807 | | - "$ref": "#/definitions/InterpolateParamsType" |
| 2894 | + "value": { |
| 2895 | + "$ref": "#/definitions/ConditionValue", |
| 2896 | + "description": "A constant value in visual domain (e.g., `\"red\"` / \"#0099ff\" for color, values between\n`0` to `1` for opacity)." |
| 2808 | 2897 | } |
| 2809 | 2898 | }, |
| 2810 | 2899 | "required": [ |
| 2811 | | - "type" |
| 2900 | + "selection", |
| 2901 | + "value" |
| 2812 | 2902 | ], |
| 2813 | | - "title": "InterpolateParams" |
| 2903 | + "title": "ConditionalSelectionValueDef" |
| 2814 | 2904 | }, |
| 2815 | | - "NiceClass": { |
| 2905 | + "LogicalNotPredicate": { |
| 2816 | 2906 | "type": "object", |
| 2817 | 2907 | "additionalProperties": false, |
| 2818 | 2908 | "properties": { |
| 2819 | | - "interval": { |
| 2820 | | - "type": "string" |
| 2821 | | - }, |
| 2822 | | - "step": { |
| 2823 | | - "type": "number" |
| 2909 | + "not": { |
| 2910 | + "$ref": "#/definitions/LogicalOperandPredicate" |
| 2824 | 2911 | } |
| 2825 | 2912 | }, |
| 2826 | 2913 | "required": [ |
| 2827 | | - "interval", |
| 2828 | | - "step" |
| 2914 | + "not" |
| 2829 | 2915 | ], |
| 2830 | | - "title": "NiceClass" |
| 2916 | + "title": "LogicalNotPredicate" |
| 2831 | 2917 | }, |
| 2832 | | - "SchemeParams": { |
| 2918 | + "LogicalAndPredicate": { |
| 2833 | 2919 | "type": "object", |
| 2834 | 2920 | "additionalProperties": false, |
| 2835 | 2921 | "properties": { |
| 2836 | | - "extent": { |
| 2922 | + "and": { |
| 2837 | 2923 | "type": "array", |
| 2838 | 2924 | "items": { |
| 2839 | | - "type": "number" |
| 2840 | | - }, |
| 2841 | | - "description": "For sequential and diverging schemes only, determines the extent of the color range to\nuse. For example `[0.2, 1]` will rescale the color scheme such that color values in the\nrange _[0, 0.2)_ are excluded from the scheme." |
| 2842 | | - }, |
| 2843 | | - "name": { |
| 2844 | | - "type": "string", |
| 2845 | | - "description": "A color scheme name for sequential/ordinal scales (e.g., `\"category10\"` or `\"viridis\"`).\n\nFor the full list of supported scheme, please refer to the [Vega\nScheme](https://vega.github.io/vega/docs/schemes/#reference) reference." |
| 2925 | + "$ref": "#/definitions/LogicalOperandPredicate" |
| 2926 | + } |
| 2846 | 2927 | } |
| 2847 | 2928 | }, |
| 2848 | 2929 | "required": [ |
| 2849 | | - "name" |
| 2930 | + "and" |
| 2850 | 2931 | ], |
| 2851 | | - "title": "SchemeParams" |
| 2932 | + "title": "LogicalAndPredicate" |
| 2852 | 2933 | }, |
| 2853 | | - "SortField": { |
| 2934 | + "LogicalOrPredicate": { |
| 2854 | 2935 | "type": "object", |
| 2855 | 2936 | "additionalProperties": false, |
| 2856 | 2937 | "properties": { |
| 2857 | | - "field": { |
| 2858 | | - "$ref": "#/definitions/Field", |
| 2859 | | - "description": "The data [field](field.html) to sort by.\n\n__Default value:__ If unspecified, defaults to the field specified in the outer data\nreference." |
| 2860 | | - }, |
| 2861 | | - "op": { |
| 2862 | | - "$ref": "#/definitions/AggregateOp", |
| 2863 | | - "description": "An [aggregate operation](aggregate.html#ops) to perform on the field prior to sorting\n(e.g., `\"count\"`, `\"mean\"` and `\"median\"`).\nThis property is required in cases where the sort field and the data reference field do\nnot match.\nThe input data objects will be aggregated, grouped by the encoded data field.\n\nFor a full list of operations, please see the documentation for\n[aggregate](aggregate.html#ops)." |
| 2864 | | - }, |
| 2865 | | - "order": { |
| 2866 | | - "anyOf": [ |
| 2867 | | - { |
| 2868 | | - "$ref": "#/definitions/SortEnum" |
| 2869 | | - }, |
| 2870 | | - { |
| 2871 | | - "type": "null" |
| 2872 | | - } |
| 2873 | | - ], |
| 2874 | | - "description": "The sort order. One of `\"ascending\"` (default) or `\"descending\"`.\nSort order for a facet field.\nThis can be `\"ascending\"`, `\"descending\"`." |
| 2938 | + "or": { |
| 2939 | + "type": "array", |
| 2940 | + "items": { |
| 2941 | + "$ref": "#/definitions/LogicalOperandPredicate" |
| 2942 | + } |
| 2875 | 2943 | } |
| 2876 | 2944 | }, |
| 2877 | 2945 | "required": [ |
| 2878 | | - "op" |
| 2946 | + "or" |
| 2879 | 2947 | ], |
| 2880 | | - "title": "SortField" |
| 2948 | + "title": "LogicalOrPredicate" |
| 2881 | 2949 | }, |
| 2882 | | - "FacetFieldDef": { |
| 2950 | + "FieldEqualPredicate": { |
| 2883 | 2951 | "type": "object", |
| 2884 | 2952 | "additionalProperties": false, |
| 2885 | 2953 | "properties": { |
| 2886 | | - "aggregate": { |
| 2887 | | - "$ref": "#/definitions/AggregateOp", |
| 2888 | | - "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 2889 | | - }, |
| 2890 | | - "bin": { |
| 2891 | | - "$ref": "#/definitions/Bin", |
| 2892 | | - "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 2954 | + "equal": { |
| 2955 | + "$ref": "#/definitions/Equal", |
| 2956 | + "description": "The value that the field should be equal to." |
| 2893 | 2957 | }, |
| 2894 | 2958 | "field": { |
| 2895 | | - "$ref": "#/definitions/Field", |
| 2896 | | - "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 2897 | | - }, |
| 2898 | | - "header": { |
| 2899 | | - "$ref": "#/definitions/Header", |
| 2900 | | - "description": "An object defining properties of a facet's header." |
| 2901 | | - }, |
| 2902 | | - "sort": { |
| 2903 | | - "anyOf": [ |
| 2904 | | - { |
| 2905 | | - "$ref": "#/definitions/SortEnum" |
| 2906 | | - }, |
| 2907 | | - { |
| 2908 | | - "type": "null" |
| 2909 | | - } |
| 2910 | | - ], |
| 2911 | | - "description": "The sort order. One of `\"ascending\"` (default) or `\"descending\"`.\nSort order for a facet field.\nThis can be `\"ascending\"`, `\"descending\"`." |
| 2959 | + "type": "string", |
| 2960 | + "description": "Field to be filtered." |
| 2912 | 2961 | }, |
| 2913 | 2962 | "timeUnit": { |
| 2914 | 2963 | "$ref": "#/definitions/TimeUnit", |
| 2915 | | - "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 2916 | | - }, |
| 2917 | | - "type": { |
| 2918 | | - "$ref": "#/definitions/Type", |
| 2919 | | - "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 2964 | + "description": "Time unit for the field to be filtered." |
| 2920 | 2965 | } |
| 2921 | 2966 | }, |
| 2922 | 2967 | "required": [ |
| 2923 | | - "type" |
| 2968 | + "equal", |
| 2969 | + "field" |
| 2924 | 2970 | ], |
| 2925 | | - "title": "FacetFieldDef", |
| 2926 | | - "description": "Horizontal facets for trellis plots.\nVertical facets for trellis plots." |
| 2971 | + "title": "FieldEqualPredicate" |
| 2927 | 2972 | }, |
| 2928 | | - "Header": { |
| 2973 | + "FieldRangePredicate": { |
| 2929 | 2974 | "type": "object", |
| 2930 | 2975 | "additionalProperties": false, |
| 2931 | 2976 | "properties": { |
| 2932 | | - "format": { |
| 2977 | + "field": { |
| 2933 | 2978 | "type": "string", |
| 2934 | | - "description": "The formatting pattern for labels. This is D3's [number format\npattern](https://github.com/d3/d3-format#locale_format) for quantitative fields and D3's\n[time format pattern](https://github.com/d3/d3-time-format#locale_format) for time\nfield.\n\nSee the [format documentation](format.html) for more information.\n\n__Default value:__ derived from [numberFormat](config.html#format) config for\nquantitative fields and from [timeFormat](config.html#format) config for temporal fields." |
| 2979 | + "description": "Field to be filtered" |
| 2935 | 2980 | }, |
| 2936 | | - "labelAngle": { |
| 2937 | | - "type": "number", |
| 2938 | | - "minimum": -360, |
| 2939 | | - "maximum": 360, |
| 2940 | | - "description": "The rotation angle of the header labels.\n\n__Default value:__ `0`." |
| 2981 | + "range": { |
| 2982 | + "type": "array", |
| 2983 | + "items": { |
| 2984 | + "$ref": "#/definitions/RangeElement" |
| 2985 | + }, |
| 2986 | + "minItems": 2, |
| 2987 | + "maxItems": 2, |
| 2988 | + "description": "An array of inclusive minimum and maximum values\nfor a field value of a data item to be included in the filtered data." |
| 2941 | 2989 | }, |
| 2942 | | - "title": { |
| 2943 | | - "anyOf": [ |
| 2944 | | - { |
| 2945 | | - "type": "null" |
| 2946 | | - }, |
| 2947 | | - { |
| 2948 | | - "type": "string" |
| 2949 | | - } |
| 2950 | | - ], |
| 2951 | | - "description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function\n(`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the\nfunction is displayed as a part of the title (e.g., `\"Sum of Profit\"`). If the field is\nbinned or has a time unit applied, the applied function will be denoted in parentheses\n(e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is\nsimply the field name.\n\n__Note__: You can customize the default field title format by providing the [`fieldTitle`\nproperty in the [config](config.html) or [`fieldTitle` function via the `compile`\nfunction's options](compile.html#field-title)." |
| 2990 | + "timeUnit": { |
| 2991 | + "$ref": "#/definitions/TimeUnit", |
| 2992 | + "description": "time unit for the field to be filtered." |
| 2952 | 2993 | } |
| 2953 | 2994 | }, |
| 2954 | | - "required": [], |
| 2955 | | - "title": "Header", |
| 2956 | | - "description": "An object defining properties of a facet's header.\nHeaders of row / column channels for faceted plots." |
| 2995 | + "required": [ |
| 2996 | + "field", |
| 2997 | + "range" |
| 2998 | + ], |
| 2999 | + "title": "FieldRangePredicate" |
| 2957 | 3000 | }, |
| 2958 | | - "FieldDef": { |
| 3001 | + "FieldOneOfPredicate": { |
| 2959 | 3002 | "type": "object", |
| 2960 | 3003 | "additionalProperties": false, |
| 2961 | 3004 | "properties": { |
| 2962 | | - "aggregate": { |
| 2963 | | - "$ref": "#/definitions/AggregateOp", |
| 2964 | | - "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 2965 | | - }, |
| 2966 | | - "bin": { |
| 2967 | | - "$ref": "#/definitions/Bin", |
| 2968 | | - "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 2969 | | - }, |
| 2970 | 3005 | "field": { |
| 2971 | | - "$ref": "#/definitions/Field", |
| 2972 | | - "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3006 | + "type": "string", |
| 3007 | + "description": "Field to be filtered" |
| 3008 | + }, |
| 3009 | + "oneOf": { |
| 3010 | + "type": "array", |
| 3011 | + "items": { |
| 3012 | + "$ref": "#/definitions/Equal" |
| 3013 | + }, |
| 3014 | + "description": "A set of values that the `field`'s value should be a member of,\nfor a data item included in the filtered data." |
| 2973 | 3015 | }, |
| 2974 | 3016 | "timeUnit": { |
| 2975 | 3017 | "$ref": "#/definitions/TimeUnit", |
| 2976 | | - "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 2977 | | - }, |
| 2978 | | - "type": { |
| 2979 | | - "$ref": "#/definitions/Type", |
| 2980 | | - "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3018 | + "description": "time unit for the field to be filtered." |
| 2981 | 3019 | } |
| 2982 | 3020 | }, |
| 2983 | 3021 | "required": [ |
| 2984 | | - "type" |
| 3022 | + "field", |
| 3023 | + "oneOf" |
| 2985 | 3024 | ], |
| 2986 | | - "title": "FieldDef", |
| 2987 | | - "description": "Definition object for a data field, its type and transformation of an encoding channel." |
| 3025 | + "title": "FieldOneOfPredicate" |
| 2988 | 3026 | }, |
| 2989 | | - "DefWithCondition": { |
| 3027 | + "SelectionPredicate": { |
| 2990 | 3028 | "type": "object", |
| 2991 | 3029 | "additionalProperties": false, |
| 2992 | 3030 | "properties": { |
| 2993 | | - "aggregate": { |
| 2994 | | - "$ref": "#/definitions/AggregateOp", |
| 2995 | | - "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 2996 | | - }, |
| 2997 | | - "bin": { |
| 2998 | | - "$ref": "#/definitions/Bin", |
| 2999 | | - "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3000 | | - }, |
| 3001 | | - "condition": { |
| 3002 | | - "$ref": "#/definitions/HrefCondition", |
| 3003 | | - "description": "One or more value definition(s) with a selection predicate.\n\n__Note:__ A field definition's `condition` property can only contain [value\ndefinitions](encoding.html#value-def)\nsince Vega-Lite only allows at most one encoded field per encoding channel.\n\nA field definition or one or more value definition(s) with a selection predicate." |
| 3004 | | - }, |
| 3005 | | - "field": { |
| 3006 | | - "$ref": "#/definitions/Field", |
| 3007 | | - "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3008 | | - }, |
| 3009 | | - "timeUnit": { |
| 3010 | | - "$ref": "#/definitions/TimeUnit", |
| 3011 | | - "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3012 | | - }, |
| 3013 | | - "type": { |
| 3014 | | - "$ref": "#/definitions/Type", |
| 3015 | | - "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3016 | | - }, |
| 3017 | | - "value": { |
| 3018 | | - "$ref": "#/definitions/ConditionalValueDefValue", |
| 3019 | | - "description": "A constant value in visual domain." |
| 3031 | + "selection": { |
| 3032 | + "$ref": "#/definitions/SelectionOperand", |
| 3033 | + "description": "Filter using a selection name." |
| 3020 | 3034 | } |
| 3021 | 3035 | }, |
| 3022 | | - "required": [], |
| 3023 | | - "title": "DefWithCondition", |
| 3024 | | - "description": "A URL to load upon mouse click.\nA FieldDef with Condition<ValueDef>\n{\n condition: {value: ...},\n field: ...,\n ...\n}\nA ValueDef with Condition<ValueDef | FieldDef>\n{\n condition: {field: ...} | {value: ...},\n value: ...,\n}" |
| 3036 | + "required": [ |
| 3037 | + "selection" |
| 3038 | + ], |
| 3039 | + "title": "SelectionPredicate" |
| 3025 | 3040 | }, |
| 3026 | | - "ConditionalPredicateFieldDefClass": { |
| 3041 | + "DateTime": { |
| 3027 | 3042 | "type": "object", |
| 3028 | 3043 | "additionalProperties": false, |
| 3029 | 3044 | "properties": { |
| 3030 | | - "test": { |
| 3031 | | - "$ref": "#/definitions/LogicalOperandPredicate" |
| 3045 | + "date": { |
| 3046 | + "type": "number", |
| 3047 | + "minimum": 1, |
| 3048 | + "maximum": 31, |
| 3049 | + "description": "Integer value representing the date from 1-31." |
| 3032 | 3050 | }, |
| 3033 | | - "value": { |
| 3034 | | - "$ref": "#/definitions/ConditionalValueDefValue", |
| 3035 | | - "description": "A constant value in visual domain (e.g., `\"red\"` / \"#0099ff\" for color, values between\n`0` to `1` for opacity)." |
| 3051 | + "day": { |
| 3052 | + "$ref": "#/definitions/Day", |
| 3053 | + "description": "Value representing the day of a week. This can be one of: (1) integer value -- `1`\nrepresents Monday; (2) case-insensitive day name (e.g., `\"Monday\"`); (3)\ncase-insensitive, 3-character short day name (e.g., `\"Mon\"`). <br/> **Warning:** A\nDateTime definition object with `day`** should not be combined with `year`, `quarter`,\n`month`, or `date`." |
| 3036 | 3054 | }, |
| 3037 | | - "selection": { |
| 3038 | | - "$ref": "#/definitions/SelectionOperand", |
| 3039 | | - "description": "A [selection name](selection.html), or a series of [composed\nselections](selection.html#compose)." |
| 3055 | + "hours": { |
| 3056 | + "type": "number", |
| 3057 | + "minimum": 0, |
| 3058 | + "maximum": 23, |
| 3059 | + "description": "Integer value representing the hour of a day from 0-23." |
| 3040 | 3060 | }, |
| 3041 | | - "aggregate": { |
| 3042 | | - "$ref": "#/definitions/AggregateOp", |
| 3043 | | - "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3061 | + "milliseconds": { |
| 3062 | + "type": "number", |
| 3063 | + "minimum": 0, |
| 3064 | + "maximum": 999, |
| 3065 | + "description": "Integer value representing the millisecond segment of time." |
| 3044 | 3066 | }, |
| 3045 | | - "bin": { |
| 3046 | | - "$ref": "#/definitions/Bin", |
| 3047 | | - "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3067 | + "minutes": { |
| 3068 | + "type": "number", |
| 3069 | + "minimum": 0, |
| 3070 | + "maximum": 59, |
| 3071 | + "description": "Integer value representing the minute segment of time from 0-59." |
| 3048 | 3072 | }, |
| 3049 | | - "field": { |
| 3050 | | - "$ref": "#/definitions/Field", |
| 3051 | | - "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3073 | + "month": { |
| 3074 | + "$ref": "#/definitions/Month", |
| 3075 | + "description": "One of: (1) integer value representing the month from `1`-`12`. `1` represents January;\n(2) case-insensitive month name (e.g., `\"January\"`); (3) case-insensitive, 3-character\nshort month name (e.g., `\"Jan\"`)." |
| 3052 | 3076 | }, |
| 3053 | | - "timeUnit": { |
| 3054 | | - "$ref": "#/definitions/TimeUnit", |
| 3055 | | - "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3077 | + "quarter": { |
| 3078 | + "type": "number", |
| 3079 | + "minimum": 1, |
| 3080 | + "maximum": 4, |
| 3081 | + "description": "Integer value representing the quarter of the year (from 1-4)." |
| 3056 | 3082 | }, |
| 3057 | | - "type": { |
| 3058 | | - "$ref": "#/definitions/Type", |
| 3059 | | - "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3083 | + "seconds": { |
| 3084 | + "type": "number", |
| 3085 | + "minimum": 0, |
| 3086 | + "maximum": 59, |
| 3087 | + "description": "Integer value representing the second segment (0-59) of a time value" |
| 3088 | + }, |
| 3089 | + "utc": { |
| 3090 | + "type": "boolean", |
| 3091 | + "description": "A boolean flag indicating if date time is in utc time. If false, the date time is in\nlocal time" |
| 3092 | + }, |
| 3093 | + "year": { |
| 3094 | + "type": "number", |
| 3095 | + "description": "Integer value representing the year." |
| 3060 | 3096 | } |
| 3061 | 3097 | }, |
| 3062 | 3098 | "required": [], |
| 3063 | | - "title": "ConditionalPredicateFieldDefClass" |
| 3099 | + "title": "DateTime", |
| 3100 | + "description": "Object for defining datetime in Vega-Lite Filter.\nIf both month and quarter are provided, month has higher precedence.\n`day` cannot be combined with other date.\nWe accept string for month and day names." |
| 3064 | 3101 | }, |
| 3065 | | - "OrderFieldDef": { |
| 3102 | + "SelectionNot": { |
| 3066 | 3103 | "type": "object", |
| 3067 | 3104 | "additionalProperties": false, |
| 3068 | 3105 | "properties": { |
| 3069 | | - "aggregate": { |
| 3070 | | - "$ref": "#/definitions/AggregateOp", |
| 3071 | | - "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3072 | | - }, |
| 3073 | | - "bin": { |
| 3074 | | - "$ref": "#/definitions/Bin", |
| 3075 | | - "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3076 | | - }, |
| 3077 | | - "field": { |
| 3078 | | - "$ref": "#/definitions/Field", |
| 3079 | | - "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3080 | | - }, |
| 3081 | | - "sort": { |
| 3082 | | - "anyOf": [ |
| 3083 | | - { |
| 3084 | | - "$ref": "#/definitions/SortEnum" |
| 3085 | | - }, |
| 3086 | | - { |
| 3087 | | - "type": "null" |
| 3088 | | - } |
| 3089 | | - ], |
| 3090 | | - "description": "The sort order. One of `\"ascending\"` (default) or `\"descending\"`.\nSort order for a facet field.\nThis can be `\"ascending\"`, `\"descending\"`." |
| 3091 | | - }, |
| 3092 | | - "timeUnit": { |
| 3093 | | - "$ref": "#/definitions/TimeUnit", |
| 3094 | | - "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3095 | | - }, |
| 3096 | | - "type": { |
| 3097 | | - "$ref": "#/definitions/Type", |
| 3098 | | - "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3106 | + "not": { |
| 3107 | + "$ref": "#/definitions/SelectionOperand" |
| 3099 | 3108 | } |
| 3100 | 3109 | }, |
| 3101 | 3110 | "required": [ |
| 3102 | | - "type" |
| 3111 | + "not" |
| 3103 | 3112 | ], |
| 3104 | | - "title": "OrderFieldDef" |
| 3113 | + "title": "SelectionNot" |
| 3105 | 3114 | }, |
| 3106 | | - "TextDefWithCondition": { |
| 3115 | + "SelectionAnd": { |
| 3107 | 3116 | "type": "object", |
| 3108 | 3117 | "additionalProperties": false, |
| 3109 | 3118 | "properties": { |
| 3110 | | - "aggregate": { |
| 3111 | | - "$ref": "#/definitions/AggregateOp", |
| 3112 | | - "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3113 | | - }, |
| 3114 | | - "bin": { |
| 3115 | | - "$ref": "#/definitions/Bin", |
| 3116 | | - "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3117 | | - }, |
| 3118 | | - "condition": { |
| 3119 | | - "$ref": "#/definitions/TextCondition", |
| 3120 | | - "description": "One or more value definition(s) with a selection predicate.\n\n__Note:__ A field definition's `condition` property can only contain [value\ndefinitions](encoding.html#value-def)\nsince Vega-Lite only allows at most one encoded field per encoding channel.\n\nA field definition or one or more value definition(s) with a selection predicate." |
| 3121 | | - }, |
| 3122 | | - "field": { |
| 3123 | | - "$ref": "#/definitions/Field", |
| 3124 | | - "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3125 | | - }, |
| 3126 | | - "format": { |
| 3127 | | - "type": "string", |
| 3128 | | - "description": "The [formatting pattern](format.html) for a text field. If not defined, this will be\ndetermined automatically." |
| 3129 | | - }, |
| 3130 | | - "timeUnit": { |
| 3131 | | - "$ref": "#/definitions/TimeUnit", |
| 3132 | | - "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3133 | | - }, |
| 3134 | | - "type": { |
| 3135 | | - "$ref": "#/definitions/Type", |
| 3136 | | - "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3137 | | - }, |
| 3138 | | - "value": { |
| 3139 | | - "$ref": "#/definitions/ConditionalValueDefValue", |
| 3140 | | - "description": "A constant value in visual domain." |
| 3119 | + "and": { |
| 3120 | + "type": "array", |
| 3121 | + "items": { |
| 3122 | + "$ref": "#/definitions/SelectionOperand" |
| 3123 | + } |
| 3141 | 3124 | } |
| 3142 | 3125 | }, |
| 3143 | | - "required": [], |
| 3144 | | - "title": "TextDefWithCondition", |
| 3145 | | - "description": "Text of the `text` mark.\nThe tooltip text to show upon mouse hover.\nA FieldDef with Condition<ValueDef>\n{\n condition: {value: ...},\n field: ...,\n ...\n}\nA ValueDef with Condition<ValueDef | FieldDef>\n{\n condition: {field: ...} | {value: ...},\n value: ...,\n}" |
| 3126 | + "required": [ |
| 3127 | + "and" |
| 3128 | + ], |
| 3129 | + "title": "SelectionAnd" |
| 3146 | 3130 | }, |
| 3147 | | - "ConditionalPredicateTextFieldDefClass": { |
| 3131 | + "SelectionOr": { |
| 3148 | 3132 | "type": "object", |
| 3149 | 3133 | "additionalProperties": false, |
| 3150 | 3134 | "properties": { |
| 3151 | | - "test": { |
| 3152 | | - "$ref": "#/definitions/LogicalOperandPredicate" |
| 3153 | | - }, |
| 3154 | | - "value": { |
| 3155 | | - "$ref": "#/definitions/ConditionalValueDefValue", |
| 3156 | | - "description": "A constant value in visual domain (e.g., `\"red\"` / \"#0099ff\" for color, values between\n`0` to `1` for opacity)." |
| 3157 | | - }, |
| 3158 | | - "selection": { |
| 3159 | | - "$ref": "#/definitions/SelectionOperand", |
| 3160 | | - "description": "A [selection name](selection.html), or a series of [composed\nselections](selection.html#compose)." |
| 3161 | | - }, |
| 3162 | | - "aggregate": { |
| 3163 | | - "$ref": "#/definitions/AggregateOp", |
| 3164 | | - "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3165 | | - }, |
| 3166 | | - "bin": { |
| 3167 | | - "$ref": "#/definitions/Bin", |
| 3168 | | - "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3169 | | - }, |
| 3170 | | - "field": { |
| 3171 | | - "$ref": "#/definitions/Field", |
| 3172 | | - "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3173 | | - }, |
| 3174 | | - "format": { |
| 3175 | | - "type": "string", |
| 3176 | | - "description": "The [formatting pattern](format.html) for a text field. If not defined, this will be\ndetermined automatically." |
| 3177 | | - }, |
| 3178 | | - "timeUnit": { |
| 3179 | | - "$ref": "#/definitions/TimeUnit", |
| 3180 | | - "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3181 | | - }, |
| 3182 | | - "type": { |
| 3183 | | - "$ref": "#/definitions/Type", |
| 3184 | | - "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3135 | + "or": { |
| 3136 | + "type": "array", |
| 3137 | + "items": { |
| 3138 | + "$ref": "#/definitions/SelectionOperand" |
| 3139 | + } |
| 3185 | 3140 | } |
| 3186 | 3141 | }, |
| 3187 | | - "required": [], |
| 3188 | | - "title": "ConditionalPredicateTextFieldDefClass" |
| 3142 | + "required": [ |
| 3143 | + "or" |
| 3144 | + ], |
| 3145 | + "title": "SelectionOr" |
| 3189 | 3146 | }, |
| 3190 | | - "XClass": { |
| 3147 | + "RepeatRef": { |
| 3191 | 3148 | "type": "object", |
| 3192 | 3149 | "additionalProperties": false, |
| 3193 | 3150 | "properties": { |
| 3194 | | - "aggregate": { |
| 3195 | | - "$ref": "#/definitions/AggregateOp", |
| 3196 | | - "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3197 | | - }, |
| 3198 | | - "axis": { |
| 3199 | | - "anyOf": [ |
| 3200 | | - { |
| 3201 | | - "$ref": "#/definitions/Axis" |
| 3202 | | - }, |
| 3203 | | - { |
| 3204 | | - "type": "null" |
| 3205 | | - } |
| 3206 | | - ], |
| 3207 | | - "description": "An object defining properties of axis's gridlines, ticks and labels.\nIf `null`, the axis for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [axis properties](axis.html) are applied." |
| 3208 | | - }, |
| 3209 | | - "bin": { |
| 3210 | | - "$ref": "#/definitions/Bin", |
| 3211 | | - "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3212 | | - }, |
| 3213 | | - "field": { |
| 3214 | | - "$ref": "#/definitions/Field", |
| 3215 | | - "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3151 | + "repeat": { |
| 3152 | + "$ref": "#/definitions/RepeatEnum" |
| 3153 | + } |
| 3154 | + }, |
| 3155 | + "required": [ |
| 3156 | + "repeat" |
| 3157 | + ], |
| 3158 | + "title": "RepeatRef", |
| 3159 | + "description": "Reference to a repeated value." |
| 3160 | + }, |
| 3161 | + "Legend": { |
| 3162 | + "type": "object", |
| 3163 | + "additionalProperties": false, |
| 3164 | + "properties": { |
| 3165 | + "entryPadding": { |
| 3166 | + "type": "number", |
| 3167 | + "description": "Padding (in pixels) between legend entries in a symbol legend." |
| 3216 | 3168 | }, |
| 3217 | | - "scale": { |
| 3218 | | - "$ref": "#/definitions/Scale", |
| 3219 | | - "description": "An object defining properties of the channel's scale, which is the function that\ntransforms values in the data domain (numbers, dates, strings, etc) to visual values\n(pixels, colors, sizes) of the encoding channels.\n\n__Default value:__ If undefined, default [scale properties](scale.html) are applied." |
| 3169 | + "format": { |
| 3170 | + "type": "string", |
| 3171 | + "description": "The formatting pattern for labels. This is D3's [number format\npattern](https://github.com/d3/d3-format#locale_format) for quantitative fields and D3's\n[time format pattern](https://github.com/d3/d3-time-format#locale_format) for time\nfield.\n\nSee the [format documentation](format.html) for more information.\n\n__Default value:__ derived from [numberFormat](config.html#format) config for\nquantitative fields and from [timeFormat](config.html#format) config for temporal fields." |
| 3220 | 3172 | }, |
| 3221 | | - "sort": { |
| 3222 | | - "$ref": "#/definitions/SortUnion", |
| 3223 | | - "description": "Sort order for the encoded field.\nSupported `sort` values include `\"ascending\"`, `\"descending\"` and `null` (no sorting).\nFor fields with discrete domains, `sort` can also be a [sort field definition\nobject](sort.html#sort-field).\n\n__Default value:__ `\"ascending\"`" |
| 3173 | + "offset": { |
| 3174 | + "type": "number", |
| 3175 | + "description": "The offset, in pixels, by which to displace the legend from the edge of the enclosing\ngroup or data rectangle.\n\n__Default value:__ `0`" |
| 3224 | 3176 | }, |
| 3225 | | - "stack": { |
| 3177 | + "orient": { |
| 3178 | + "$ref": "#/definitions/LegendOrient", |
| 3179 | + "description": "The orientation of the legend, which determines how the legend is positioned within the\nscene. One of \"left\", \"right\", \"top-left\", \"top-right\", \"bottom-left\", \"bottom-right\",\n\"none\".\n\n__Default value:__ `\"right\"`" |
| 3180 | + }, |
| 3181 | + "padding": { |
| 3182 | + "type": "number", |
| 3183 | + "description": "The padding, in pixels, between the legend and axis." |
| 3184 | + }, |
| 3185 | + "tickCount": { |
| 3186 | + "type": "number", |
| 3187 | + "description": "The desired number of tick values for quantitative legends." |
| 3188 | + }, |
| 3189 | + "title": { |
| 3226 | 3190 | "anyOf": [ |
| 3227 | 3191 | { |
| 3228 | | - "$ref": "#/definitions/StackOffset" |
| 3192 | + "type": "null" |
| 3229 | 3193 | }, |
| 3230 | 3194 | { |
| 3231 | | - "type": "null" |
| 3195 | + "type": "string" |
| 3232 | 3196 | } |
| 3233 | 3197 | ], |
| 3234 | | - "description": "Type of stacking offset if the field should be stacked.\n`stack` is only applicable for `x` and `y` channels with continuous domains.\nFor example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n\n- `\"zero\"`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](stack.html#bar) and [area](stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](stack.html#normalized). <br/>\n- `\"center\"` - stacking with center baseline (for [streamgraph](stack.html#streamgraph)).\n- `null` - No-stacking. This will produce layered [bar](stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true:\n\n1. The mark is `bar` or `area`;\n2. The stacked measure channel (x or y) has a linear scale;\n3. At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default." |
| 3235 | | - }, |
| 3236 | | - "timeUnit": { |
| 3237 | | - "$ref": "#/definitions/TimeUnit", |
| 3238 | | - "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3198 | + "description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function\n(`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the\nfunction is displayed as a part of the title (e.g., `\"Sum of Profit\"`). If the field is\nbinned or has a time unit applied, the applied function will be denoted in parentheses\n(e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is\nsimply the field name.\n\n__Note__: You can customize the default field title format by providing the [`fieldTitle`\nproperty in the [config](config.html) or [`fieldTitle` function via the `compile`\nfunction's options](compile.html#field-title)." |
| 3239 | 3199 | }, |
| 3240 | 3200 | "type": { |
| 3241 | | - "$ref": "#/definitions/Type", |
| 3242 | | - "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3201 | + "$ref": "#/definitions/LegendType", |
| 3202 | + "description": "The type of the legend. Use `\"symbol\"` to create a discrete legend and `\"gradient\"` for a\ncontinuous color gradient.\n\n__Default value:__ `\"gradient\"` for non-binned quantitative fields and temporal fields;\n`\"symbol\"` otherwise." |
| 3243 | 3203 | }, |
| 3244 | | - "value": { |
| 3245 | | - "$ref": "#/definitions/ConditionalValueDefValue", |
| 3246 | | - "description": "A constant value in visual domain (e.g., `\"red\"` / \"#0099ff\" for color, values between\n`0` to `1` for opacity)." |
| 3204 | + "values": { |
| 3205 | + "type": "array", |
| 3206 | + "items": { |
| 3207 | + "$ref": "#/definitions/LegendValue" |
| 3208 | + }, |
| 3209 | + "description": "Explicitly set the visible legend values." |
| 3210 | + }, |
| 3211 | + "zindex": { |
| 3212 | + "type": "number", |
| 3213 | + "minimum": 0, |
| 3214 | + "description": "A non-positive integer indicating z-index of the legend.\nIf zindex is 0, legend should be drawn behind all chart elements.\nTo put them in front, use zindex = 1." |
| 3247 | 3215 | } |
| 3248 | 3216 | }, |
| 3249 | 3217 | "required": [], |
| 3250 | | - "title": "XClass", |
| 3251 | | - "description": "X coordinates of the marks, or width of horizontal `\"bar\"` and `\"area\"`.\nY coordinates of the marks, or height of vertical `\"bar\"` and `\"area\"`.\nDefinition object for a constant value of an encoding channel." |
| 3218 | + "title": "Legend", |
| 3219 | + "description": "Properties of a legend or boolean flag for determining whether to show it." |
| 3252 | 3220 | }, |
| 3253 | | - "Axis": { |
| 3221 | + "Scale": { |
| 3254 | 3222 | "type": "object", |
| 3255 | 3223 | "additionalProperties": false, |
| 3256 | 3224 | "properties": { |
| 3257 | | - "domain": { |
| 3258 | | - "type": "boolean", |
| 3259 | | - "description": "A boolean flag indicating if the domain (the axis baseline) should be included as part of\nthe axis.\n\n__Default value:__ `true`" |
| 3260 | | - }, |
| 3261 | | - "format": { |
| 3262 | | - "type": "string", |
| 3263 | | - "description": "The formatting pattern for labels. This is D3's [number format\npattern](https://github.com/d3/d3-format#locale_format) for quantitative fields and D3's\n[time format pattern](https://github.com/d3/d3-time-format#locale_format) for time\nfield.\n\nSee the [format documentation](format.html) for more information.\n\n__Default value:__ derived from [numberFormat](config.html#format) config for\nquantitative fields and from [timeFormat](config.html#format) config for temporal fields." |
| 3264 | | - }, |
| 3265 | | - "grid": { |
| 3266 | | - "type": "boolean", |
| 3267 | | - "description": "A boolean flag indicating if grid lines should be included as part of the axis\n\n__Default value:__ `true` for [continuous scales](scale.html#continuous) that are not\nbinned; otherwise, `false`." |
| 3268 | | - }, |
| 3269 | | - "labelAngle": { |
| 3270 | | - "type": "number", |
| 3271 | | - "minimum": -360, |
| 3272 | | - "maximum": 360, |
| 3273 | | - "description": "The rotation angle of the axis labels.\n\n__Default value:__ `-90` for nominal and ordinal fields; `0` otherwise." |
| 3274 | | - }, |
| 3275 | | - "labelBound": { |
| 3276 | | - "$ref": "#/definitions/Label", |
| 3277 | | - "description": "Indicates if labels should be hidden if they exceed the axis range. If `false `(the\ndefault) no bounds overlap analysis is performed. If `true`, labels will be hidden if\nthey exceed the axis range by more than 1 pixel. If this property is a number, it\nspecifies the pixel tolerance: the maximum amount by which a label bounding box may\nexceed the axis range.\n\n__Default value:__ `false`." |
| 3278 | | - }, |
| 3279 | | - "labelFlush": { |
| 3280 | | - "$ref": "#/definitions/Label", |
| 3281 | | - "description": "Indicates if the first and last axis labels should be aligned flush with the scale range.\nFlush alignment for a horizontal axis will left-align the first label and right-align the\nlast label. For vertical axes, bottom and top text baselines are applied instead. If this\nproperty is a number, it also indicates the number of pixels by which to offset the first\nand last labels; for example, a value of 2 will flush-align the first and last labels and\nalso push them 2 pixels outward from the center of the axis. The additional adjustment\ncan sometimes help the labels better visually group with corresponding axis ticks.\n\n__Default value:__ `true` for axis of a continuous x-scale. Otherwise, `false`." |
| 3282 | | - }, |
| 3283 | | - "labelOverlap": { |
| 3284 | | - "$ref": "#/definitions/LabelOverlapUnion", |
| 3285 | | - "description": "The strategy to use for resolving overlap of axis labels. If `false` (the default), no\noverlap reduction is attempted. If set to `true` or `\"parity\"`, a strategy of removing\nevery other label is used (this works well for standard linear axes). If set to\n`\"greedy\"`, a linear scan of the labels is performed, removing any labels that overlaps\nwith the last visible label (this often works better for log-scaled axes).\n\n__Default value:__ `true` for non-nominal fields with non-log scales; `\"greedy\"` for log\nscales; otherwise `false`." |
| 3286 | | - }, |
| 3287 | | - "labelPadding": { |
| 3225 | + "base": { |
| 3288 | 3226 | "type": "number", |
| 3289 | | - "description": "The padding, in pixels, between axis and text labels." |
| 3227 | + "description": "The logarithm base of the `log` scale (default `10`)." |
| 3290 | 3228 | }, |
| 3291 | | - "labels": { |
| 3229 | + "clamp": { |
| 3292 | 3230 | "type": "boolean", |
| 3293 | | - "description": "A boolean flag indicating if labels should be included as part of the axis.\n\n__Default value:__ `true`." |
| 3231 | + "description": "If `true`, values that exceed the data domain are clamped to either the minimum or\nmaximum range value\n\n__Default value:__ derived from the [scale config](config.html#scale-config)'s `clamp`\n(`true` by default)." |
| 3294 | 3232 | }, |
| 3295 | | - "maxExtent": { |
| 3296 | | - "type": "number", |
| 3297 | | - "description": "The maximum extent in pixels that axis ticks and labels should use. This determines a\nmaximum offset value for axis titles.\n\n__Default value:__ `undefined`." |
| 3233 | + "domain": { |
| 3234 | + "$ref": "#/definitions/DomainUnion", |
| 3235 | + "description": "Customized domain values.\n\nFor _quantitative_ fields, `domain` can take the form of a two-element array with minimum\nand maximum values. [Piecewise scales](scale.html#piecewise) can be created by providing\na `domain` with more than two entries.\nIf the input field is aggregated, `domain` can also be a string value `\"unaggregated\"`,\nindicating that the domain should include the raw data values prior to the aggregation.\n\nFor _temporal_ fields, `domain` can be a two-element array minimum and maximum values, in\nthe form of either timestamps or the [DateTime definition objects](types.html#datetime).\n\nFor _ordinal_ and _nominal_ fields, `domain` can be an array that lists valid input\nvalues.\n\nThe `selection` property can be used to [interactively\ndetermine](selection.html#scale-domains) the scale domain." |
| 3298 | 3236 | }, |
| 3299 | | - "minExtent": { |
| 3237 | + "exponent": { |
| 3300 | 3238 | "type": "number", |
| 3301 | | - "description": "The minimum extent in pixels that axis ticks and labels should use. This determines a\nminimum offset value for axis titles.\n\n__Default value:__ `30` for y-axis; `undefined` for x-axis." |
| 3239 | + "description": "The exponent of the `pow` scale." |
| 3302 | 3240 | }, |
| 3303 | | - "offset": { |
| 3304 | | - "type": "number", |
| 3305 | | - "description": "The offset, in pixels, by which to displace the axis from the edge of the enclosing group\nor data rectangle.\n\n__Default value:__ derived from the [axis config](config.html#facet-scale-config)'s\n`offset` (`0` by default)" |
| 3241 | + "interpolate": { |
| 3242 | + "$ref": "#/definitions/InterpolateUnion", |
| 3243 | + "description": "The interpolation method for range values. By default, a general interpolator for\nnumbers, dates, strings and colors (in RGB space) is used. For color ranges, this\nproperty allows interpolation in alternative color spaces. Legal values include `rgb`,\n`hsl`, `hsl-long`, `lab`, `hcl`, `hcl-long`, `cubehelix` and `cubehelix-long` ('-long'\nvariants use longer paths in polar coordinate spaces). If object-valued, this property\naccepts an object with a string-valued _type_ property and an optional numeric _gamma_\nproperty applicable to rgb and cubehelix interpolators. For more, see the [d3-interpolate\ndocumentation](https://github.com/d3/d3-interpolate).\n\n__Note:__ Sequential scales do not support `interpolate` as they have a fixed\ninterpolator. Since Vega-Lite uses sequential scales for quantitative fields by default,\nyou have to set the scale `type` to other quantitative scale type such as `\"linear\"` to\ncustomize `interpolate`." |
| 3306 | 3244 | }, |
| 3307 | | - "orient": { |
| 3308 | | - "$ref": "#/definitions/TitleOrient", |
| 3309 | | - "description": "The orientation of the axis. One of `\"top\"`, `\"bottom\"`, `\"left\"` or `\"right\"`. The\norientation can be used to further specialize the axis type (e.g., a y axis oriented for\nthe right edge of the chart).\n\n__Default value:__ `\"bottom\"` for x-axes and `\"left\"` for y-axes." |
| 3245 | + "nice": { |
| 3246 | + "$ref": "#/definitions/NiceUnion", |
| 3247 | + "description": "Extending the domain so that it starts and ends on nice round values. This method\ntypically modifies the scale’s domain, and may only extend the bounds to the nearest\nround value. Nicing is useful if the domain is computed from data and may be irregular.\nFor example, for a domain of _[0.201479…, 0.996679…]_, a nice domain might be _[0.2,\n1.0]_.\n\nFor quantitative scales such as linear, `nice` can be either a boolean flag or a number.\nIf `nice` is a number, it will represent a desired tick count. This allows greater\ncontrol over the step size used to extend the bounds, guaranteeing that the returned\nticks will exactly cover the domain.\n\nFor temporal fields with time and utc scales, the `nice` value can be a string indicating\nthe desired time interval. Legal values are `\"millisecond\"`, `\"second\"`, `\"minute\"`,\n`\"hour\"`, `\"day\"`, `\"week\"`, `\"month\"`, and `\"year\"`. Alternatively, `time` and `utc`\nscales can accept an object-valued interval specifier of the form `{\"interval\": \"month\",\n\"step\": 3}`, which includes a desired number of interval steps. Here, the domain would\nsnap to quarter (Jan, Apr, Jul, Oct) boundaries.\n\n__Default value:__ `true` for unbinned _quantitative_ fields; `false` otherwise." |
| 3310 | 3248 | }, |
| 3311 | | - "position": { |
| 3249 | + "padding": { |
| 3312 | 3250 | "type": "number", |
| 3313 | | - "description": "The anchor position of the axis in pixels. For x-axis with top or bottom orientation,\nthis sets the axis group x coordinate. For y-axis with left or right orientation, this\nsets the axis group y coordinate.\n\n__Default value__: `0`" |
| 3251 | + "minimum": 0, |
| 3252 | + "description": "For _[continuous](scale.html#continuous)_ scales, expands the scale domain to accommodate\nthe specified number of pixels on each of the scale range. The scale range must represent\npixels for this parameter to function as intended. Padding adjustment is performed prior\nto all other adjustments, including the effects of the zero, nice, domainMin, and\ndomainMax properties.\n\nFor _[band](scale.html#band)_ scales, shortcut for setting `paddingInner` and\n`paddingOuter` to the same value.\n\nFor _[point](scale.html#point)_ scales, alias for `paddingOuter`.\n\n__Default value:__ For _continuous_ scales, derived from the [scale\nconfig](scale.html#config)'s `continuousPadding`.\nFor _band and point_ scales, see `paddingInner` and `paddingOuter`." |
| 3314 | 3253 | }, |
| 3315 | | - "tickCount": { |
| 3254 | + "paddingInner": { |
| 3316 | 3255 | "type": "number", |
| 3317 | | - "description": "A desired number of ticks, for axes visualizing quantitative scales. The resulting number\nmay be different so that values are \"nice\" (multiples of 2, 5, 10) and lie within the\nunderlying scale's range." |
| 3318 | | - }, |
| 3319 | | - "ticks": { |
| 3320 | | - "type": "boolean", |
| 3321 | | - "description": "Boolean value that determines whether the axis should include ticks." |
| 3256 | + "minimum": 0, |
| 3257 | + "maximum": 1, |
| 3258 | + "description": "The inner padding (spacing) within each band step of band scales, as a fraction of the\nstep size. This value must lie in the range [0,1].\n\nFor point scale, this property is invalid as point scales do not have internal band\nwidths (only step sizes between bands).\n\n__Default value:__ derived from the [scale config](scale.html#config)'s\n`bandPaddingInner`." |
| 3322 | 3259 | }, |
| 3323 | | - "tickSize": { |
| 3260 | + "paddingOuter": { |
| 3324 | 3261 | "type": "number", |
| 3325 | 3262 | "minimum": 0, |
| 3326 | | - "description": "The size in pixels of axis ticks." |
| 3263 | + "maximum": 1, |
| 3264 | + "description": "The outer padding (spacing) at the ends of the range of band and point scales,\nas a fraction of the step size. This value must lie in the range [0,1].\n\n__Default value:__ derived from the [scale config](scale.html#config)'s\n`bandPaddingOuter` for band scales and `pointPadding` for point scales." |
| 3327 | 3265 | }, |
| 3328 | | - "title": { |
| 3266 | + "range": { |
| 3267 | + "$ref": "#/definitions/ScaleRange", |
| 3268 | + "description": "The range of the scale. One of:\n\n- A string indicating a [pre-defined named scale range](scale.html#range-config) (e.g.,\nexample, `\"symbol\"`, or `\"diverging\"`).\n\n- For [continuous scales](scale.html#continuous), two-element array indicating minimum\nand maximum values, or an array with more than two entries for specifying a [piecewise\nscale](scale.html#piecewise).\n\n- For [discrete](scale.html#discrete) and [discretizing](scale.html#discretizing) scales,\nan array of desired output values.\n\n__Notes:__\n\n1) For [sequential](scale.html#sequential), [ordinal](scale.html#ordinal), and\ndiscretizing color scales, you can also specify a color [`scheme`](scale.html#scheme)\ninstead of `range`.\n\n2) Any directly specified `range` for `x` and `y` channels will be ignored. Range can be\ncustomized via the view's corresponding [size](size.html) (`width` and `height`) or via\n[range steps and paddings properties](#range-step) for [band](#band) and [point](#point)\nscales." |
| 3269 | + }, |
| 3270 | + "rangeStep": { |
| 3329 | 3271 | "anyOf": [ |
| 3330 | 3272 | { |
| 3331 | | - "type": "null" |
| 3273 | + "type": "number", |
| 3274 | + "minimum": 0 |
| 3332 | 3275 | }, |
| 3333 | 3276 | { |
| 3334 | | - "type": "string" |
| 3277 | + "type": "null" |
| 3335 | 3278 | } |
| 3336 | 3279 | ], |
| 3337 | | - "description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function\n(`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the\nfunction is displayed as a part of the title (e.g., `\"Sum of Profit\"`). If the field is\nbinned or has a time unit applied, the applied function will be denoted in parentheses\n(e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is\nsimply the field name.\n\n__Note__: You can customize the default field title format by providing the [`fieldTitle`\nproperty in the [config](config.html) or [`fieldTitle` function via the `compile`\nfunction's options](compile.html#field-title)." |
| 3280 | + "description": "The distance between the starts of adjacent bands or points in [band](scale.html#band)\nand [point](scale.html#point) scales.\n\nIf `rangeStep` is `null` or if the view contains the scale's corresponding\n[size](size.html) (`width` for `x` scales and `height` for `y` scales), `rangeStep` will\nbe automatically determined to fit the size of the view.\n\n__Default value:__ derived the [scale config](config.html#scale-config)'s\n`textXRangeStep` (`90` by default) for x-scales of `text` marks and `rangeStep` (`21` by\ndefault) for x-scales of other marks and y-scales.\n\n__Warning__: If `rangeStep` is `null` and the cardinality of the scale's domain is higher\nthan `width` or `height`, the rangeStep might become less than one pixel and the mark\nmight not appear correctly." |
| 3338 | 3281 | }, |
| 3339 | | - "titleMaxLength": { |
| 3340 | | - "type": "number", |
| 3341 | | - "description": "Max length for axis title if the title is automatically generated from the field's\ndescription." |
| 3282 | + "round": { |
| 3283 | + "type": "boolean", |
| 3284 | + "description": "If `true`, rounds numeric output values to integers. This can be helpful for snapping to\nthe pixel grid.\n\n__Default value:__ `false`." |
| 3285 | + }, |
| 3286 | + "scheme": { |
| 3287 | + "$ref": "#/definitions/Scheme", |
| 3288 | + "description": "A string indicating a color [scheme](scale.html#scheme) name (e.g., `\"category10\"` or\n`\"viridis\"`) or a [scheme parameter object](scale.html#scheme-params).\n\nDiscrete color schemes may be used with [discrete](scale.html#discrete) or\n[discretizing](scale.html#discretizing) scales. Continuous color schemes are intended for\nuse with [sequential](scales.html#sequential) scales.\n\nFor the full list of supported scheme, please refer to the [Vega\nScheme](https://vega.github.io/vega/docs/schemes/#reference) reference." |
| 3289 | + }, |
| 3290 | + "type": { |
| 3291 | + "$ref": "#/definitions/ScaleType", |
| 3292 | + "description": "The type of scale. Vega-Lite supports the following categories of scale types:\n\n1) [**Continuous Scales**](scale.html#continuous) -- mapping continuous domains to\ncontinuous output ranges ([`\"linear\"`](scale.html#linear), [`\"pow\"`](scale.html#pow),\n[`\"sqrt\"`](scale.html#sqrt), [`\"log\"`](scale.html#log), [`\"time\"`](scale.html#time),\n[`\"utc\"`](scale.html#utc), [`\"sequential\"`](scale.html#sequential)).\n\n2) [**Discrete Scales**](scale.html#discrete) -- mapping discrete domains to discrete\n([`\"ordinal\"`](scale.html#ordinal)) or continuous ([`\"band\"`](scale.html#band) and\n[`\"point\"`](scale.html#point)) output ranges.\n\n3) [**Discretizing Scales**](scale.html#discretizing) -- mapping continuous domains to\ndiscrete output ranges ([`\"bin-linear\"`](scale.html#bin-linear) and\n[`\"bin-ordinal\"`](scale.html#bin-ordinal)).\n\n__Default value:__ please see the [scale type table](scale.html#type)." |
| 3293 | + }, |
| 3294 | + "zero": { |
| 3295 | + "type": "boolean", |
| 3296 | + "description": "If `true`, ensures that a zero baseline value is included in the scale domain.\n\n__Default value:__ `true` for x and y channels if the quantitative field is not binned\nand no custom `domain` is provided; `false` otherwise.\n\n__Note:__ Log, time, and utc scales do not support `zero`." |
| 3297 | + } |
| 3298 | + }, |
| 3299 | + "required": [], |
| 3300 | + "title": "Scale", |
| 3301 | + "description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\n__Default value:__ If undefined, default [scale properties](scale.html) are applied." |
| 3302 | + }, |
| 3303 | + "PurpleSelectionDomain": { |
| 3304 | + "type": "object", |
| 3305 | + "additionalProperties": false, |
| 3306 | + "properties": { |
| 3307 | + "field": { |
| 3308 | + "type": "string", |
| 3309 | + "description": "The field name to extract selected values for, when a selection is\n[projected](project.html)\nover multiple fields or encodings." |
| 3310 | + }, |
| 3311 | + "selection": { |
| 3312 | + "type": "string", |
| 3313 | + "description": "The name of a selection." |
| 3314 | + } |
| 3315 | + }, |
| 3316 | + "required": [ |
| 3317 | + "selection" |
| 3318 | + ], |
| 3319 | + "title": "PurpleSelectionDomain" |
| 3320 | + }, |
| 3321 | + "FluffySelectionDomain": { |
| 3322 | + "type": "object", |
| 3323 | + "additionalProperties": false, |
| 3324 | + "properties": { |
| 3325 | + "encoding": { |
| 3326 | + "type": "string", |
| 3327 | + "description": "The encoding channel to extract selected values for, when a selection is\n[projected](project.html)\nover multiple fields or encodings." |
| 3328 | + }, |
| 3329 | + "selection": { |
| 3330 | + "type": "string", |
| 3331 | + "description": "The name of a selection." |
| 3332 | + } |
| 3333 | + }, |
| 3334 | + "required": [ |
| 3335 | + "selection" |
| 3336 | + ], |
| 3337 | + "title": "FluffySelectionDomain" |
| 3338 | + }, |
| 3339 | + "InterpolateParams": { |
| 3340 | + "type": "object", |
| 3341 | + "additionalProperties": false, |
| 3342 | + "properties": { |
| 3343 | + "gamma": { |
| 3344 | + "type": "number" |
| 3345 | + }, |
| 3346 | + "type": { |
| 3347 | + "$ref": "#/definitions/InterpolateParamsType" |
| 3348 | + } |
| 3349 | + }, |
| 3350 | + "required": [ |
| 3351 | + "type" |
| 3352 | + ], |
| 3353 | + "title": "InterpolateParams" |
| 3354 | + }, |
| 3355 | + "NiceClass": { |
| 3356 | + "type": "object", |
| 3357 | + "additionalProperties": false, |
| 3358 | + "properties": { |
| 3359 | + "interval": { |
| 3360 | + "type": "string" |
| 3361 | + }, |
| 3362 | + "step": { |
| 3363 | + "type": "number" |
| 3364 | + } |
| 3365 | + }, |
| 3366 | + "required": [ |
| 3367 | + "interval", |
| 3368 | + "step" |
| 3369 | + ], |
| 3370 | + "title": "NiceClass" |
| 3371 | + }, |
| 3372 | + "SchemeParams": { |
| 3373 | + "type": "object", |
| 3374 | + "additionalProperties": false, |
| 3375 | + "properties": { |
| 3376 | + "extent": { |
| 3377 | + "type": "array", |
| 3378 | + "items": { |
| 3379 | + "type": "number" |
| 3380 | + }, |
| 3381 | + "description": "For sequential and diverging schemes only, determines the extent of the color range to\nuse. For example `[0.2, 1]` will rescale the color scheme such that color values in the\nrange _[0, 0.2)_ are excluded from the scheme." |
| 3382 | + }, |
| 3383 | + "name": { |
| 3384 | + "type": "string", |
| 3385 | + "description": "A color scheme name for sequential/ordinal scales (e.g., `\"category10\"` or `\"viridis\"`).\n\nFor the full list of supported scheme, please refer to the [Vega\nScheme](https://vega.github.io/vega/docs/schemes/#reference) reference." |
| 3386 | + } |
| 3387 | + }, |
| 3388 | + "required": [ |
| 3389 | + "name" |
| 3390 | + ], |
| 3391 | + "title": "SchemeParams" |
| 3392 | + }, |
| 3393 | + "SortField": { |
| 3394 | + "type": "object", |
| 3395 | + "additionalProperties": false, |
| 3396 | + "properties": { |
| 3397 | + "field": { |
| 3398 | + "$ref": "#/definitions/Field", |
| 3399 | + "description": "The data [field](field.html) to sort by.\n\n__Default value:__ If unspecified, defaults to the field specified in the outer data\nreference." |
| 3400 | + }, |
| 3401 | + "op": { |
| 3402 | + "$ref": "#/definitions/AggregateOp", |
| 3403 | + "description": "An [aggregate operation](aggregate.html#ops) to perform on the field prior to sorting\n(e.g., `\"count\"`, `\"mean\"` and `\"median\"`).\nThis property is required in cases where the sort field and the data reference field do\nnot match.\nThe input data objects will be aggregated, grouped by the encoded data field.\n\nFor a full list of operations, please see the documentation for\n[aggregate](aggregate.html#ops)." |
| 3404 | + }, |
| 3405 | + "order": { |
| 3406 | + "anyOf": [ |
| 3407 | + { |
| 3408 | + "$ref": "#/definitions/SortOrderEnum" |
| 3409 | + }, |
| 3410 | + { |
| 3411 | + "type": "null" |
| 3412 | + } |
| 3413 | + ], |
| 3414 | + "description": "The sort order. One of `\"ascending\"` (default) or `\"descending\"`.\nSort order for a facet field.\nThis can be `\"ascending\"`, `\"descending\"`." |
| 3415 | + } |
| 3416 | + }, |
| 3417 | + "required": [ |
| 3418 | + "op" |
| 3419 | + ], |
| 3420 | + "title": "SortField" |
| 3421 | + }, |
| 3422 | + "ConditionalPredicateMarkPropFieldDef": { |
| 3423 | + "type": "object", |
| 3424 | + "additionalProperties": false, |
| 3425 | + "properties": { |
| 3426 | + "aggregate": { |
| 3427 | + "$ref": "#/definitions/AggregateOp", |
| 3428 | + "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3429 | + }, |
| 3430 | + "bin": { |
| 3431 | + "$ref": "#/definitions/Bin", |
| 3432 | + "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3433 | + }, |
| 3434 | + "field": { |
| 3435 | + "$ref": "#/definitions/Field", |
| 3436 | + "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3437 | + }, |
| 3438 | + "legend": { |
| 3439 | + "anyOf": [ |
| 3440 | + { |
| 3441 | + "$ref": "#/definitions/Legend" |
| 3442 | + }, |
| 3443 | + { |
| 3444 | + "type": "null" |
| 3445 | + } |
| 3446 | + ], |
| 3447 | + "description": "An object defining properties of the legend.\nIf `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](legend.html) are applied." |
| 3448 | + }, |
| 3449 | + "scale": { |
| 3450 | + "$ref": "#/definitions/Scale", |
| 3451 | + "description": "An object defining properties of the channel's scale, which is the function that\ntransforms values in the data domain (numbers, dates, strings, etc) to visual values\n(pixels, colors, sizes) of the encoding channels.\n\n__Default value:__ If undefined, default [scale properties](scale.html) are applied." |
| 3452 | + }, |
| 3453 | + "sort": { |
| 3454 | + "$ref": "#/definitions/SortUnion", |
| 3455 | + "description": "Sort order for the encoded field.\nSupported `sort` values include `\"ascending\"`, `\"descending\"` and `null` (no sorting).\nFor fields with discrete domains, `sort` can also be a [sort field definition\nobject](sort.html#sort-field).\n\n__Default value:__ `\"ascending\"`" |
| 3456 | + }, |
| 3457 | + "test": { |
| 3458 | + "$ref": "#/definitions/LogicalOperandPredicate" |
| 3459 | + }, |
| 3460 | + "timeUnit": { |
| 3461 | + "$ref": "#/definitions/TimeUnit", |
| 3462 | + "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3463 | + }, |
| 3464 | + "type": { |
| 3465 | + "$ref": "#/definitions/Type", |
| 3466 | + "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3467 | + } |
| 3468 | + }, |
| 3469 | + "required": [ |
| 3470 | + "test", |
| 3471 | + "type" |
| 3472 | + ], |
| 3473 | + "title": "ConditionalPredicateMarkPropFieldDef" |
| 3474 | + }, |
| 3475 | + "ConditionalSelectionMarkPropFieldDef": { |
| 3476 | + "type": "object", |
| 3477 | + "additionalProperties": false, |
| 3478 | + "properties": { |
| 3479 | + "aggregate": { |
| 3480 | + "$ref": "#/definitions/AggregateOp", |
| 3481 | + "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3482 | + }, |
| 3483 | + "bin": { |
| 3484 | + "$ref": "#/definitions/Bin", |
| 3485 | + "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3486 | + }, |
| 3487 | + "field": { |
| 3488 | + "$ref": "#/definitions/Field", |
| 3489 | + "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3490 | + }, |
| 3491 | + "legend": { |
| 3492 | + "anyOf": [ |
| 3493 | + { |
| 3494 | + "$ref": "#/definitions/Legend" |
| 3495 | + }, |
| 3496 | + { |
| 3497 | + "type": "null" |
| 3498 | + } |
| 3499 | + ], |
| 3500 | + "description": "An object defining properties of the legend.\nIf `null`, the legend for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [legend properties](legend.html) are applied." |
| 3501 | + }, |
| 3502 | + "scale": { |
| 3503 | + "$ref": "#/definitions/Scale", |
| 3504 | + "description": "An object defining properties of the channel's scale, which is the function that\ntransforms values in the data domain (numbers, dates, strings, etc) to visual values\n(pixels, colors, sizes) of the encoding channels.\n\n__Default value:__ If undefined, default [scale properties](scale.html) are applied." |
| 3505 | + }, |
| 3506 | + "selection": { |
| 3507 | + "$ref": "#/definitions/SelectionOperand", |
| 3508 | + "description": "A [selection name](selection.html), or a series of [composed\nselections](selection.html#compose)." |
| 3509 | + }, |
| 3510 | + "sort": { |
| 3511 | + "$ref": "#/definitions/SortUnion", |
| 3512 | + "description": "Sort order for the encoded field.\nSupported `sort` values include `\"ascending\"`, `\"descending\"` and `null` (no sorting).\nFor fields with discrete domains, `sort` can also be a [sort field definition\nobject](sort.html#sort-field).\n\n__Default value:__ `\"ascending\"`" |
| 3513 | + }, |
| 3514 | + "timeUnit": { |
| 3515 | + "$ref": "#/definitions/TimeUnit", |
| 3516 | + "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3517 | + }, |
| 3518 | + "type": { |
| 3519 | + "$ref": "#/definitions/Type", |
| 3520 | + "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3521 | + } |
| 3522 | + }, |
| 3523 | + "required": [ |
| 3524 | + "selection", |
| 3525 | + "type" |
| 3526 | + ], |
| 3527 | + "title": "ConditionalSelectionMarkPropFieldDef" |
| 3528 | + }, |
| 3529 | + "FacetFieldDef": { |
| 3530 | + "type": "object", |
| 3531 | + "additionalProperties": false, |
| 3532 | + "properties": { |
| 3533 | + "aggregate": { |
| 3534 | + "$ref": "#/definitions/AggregateOp", |
| 3535 | + "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3536 | + }, |
| 3537 | + "bin": { |
| 3538 | + "$ref": "#/definitions/Bin", |
| 3539 | + "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3540 | + }, |
| 3541 | + "field": { |
| 3542 | + "$ref": "#/definitions/Field", |
| 3543 | + "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3544 | + }, |
| 3545 | + "header": { |
| 3546 | + "$ref": "#/definitions/Header", |
| 3547 | + "description": "An object defining properties of a facet's header." |
| 3548 | + }, |
| 3549 | + "sort": { |
| 3550 | + "anyOf": [ |
| 3551 | + { |
| 3552 | + "$ref": "#/definitions/SortOrderEnum" |
| 3553 | + }, |
| 3554 | + { |
| 3555 | + "type": "null" |
| 3556 | + } |
| 3557 | + ], |
| 3558 | + "description": "The sort order. One of `\"ascending\"` (default) or `\"descending\"`.\nSort order for a facet field.\nThis can be `\"ascending\"`, `\"descending\"`." |
| 3559 | + }, |
| 3560 | + "timeUnit": { |
| 3561 | + "$ref": "#/definitions/TimeUnit", |
| 3562 | + "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3563 | + }, |
| 3564 | + "type": { |
| 3565 | + "$ref": "#/definitions/Type", |
| 3566 | + "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3567 | + } |
| 3568 | + }, |
| 3569 | + "required": [ |
| 3570 | + "type" |
| 3571 | + ], |
| 3572 | + "title": "FacetFieldDef", |
| 3573 | + "description": "Horizontal facets for trellis plots.\nVertical facets for trellis plots." |
| 3574 | + }, |
| 3575 | + "Header": { |
| 3576 | + "type": "object", |
| 3577 | + "additionalProperties": false, |
| 3578 | + "properties": { |
| 3579 | + "format": { |
| 3580 | + "type": "string", |
| 3581 | + "description": "The formatting pattern for labels. This is D3's [number format\npattern](https://github.com/d3/d3-format#locale_format) for quantitative fields and D3's\n[time format pattern](https://github.com/d3/d3-time-format#locale_format) for time\nfield.\n\nSee the [format documentation](format.html) for more information.\n\n__Default value:__ derived from [numberFormat](config.html#format) config for\nquantitative fields and from [timeFormat](config.html#format) config for temporal fields." |
| 3582 | + }, |
| 3583 | + "labelAngle": { |
| 3584 | + "type": "number", |
| 3585 | + "minimum": -360, |
| 3586 | + "maximum": 360, |
| 3587 | + "description": "The rotation angle of the header labels.\n\n__Default value:__ `0`." |
| 3588 | + }, |
| 3589 | + "title": { |
| 3590 | + "anyOf": [ |
| 3591 | + { |
| 3592 | + "type": "null" |
| 3593 | + }, |
| 3594 | + { |
| 3595 | + "type": "string" |
| 3596 | + } |
| 3597 | + ], |
| 3598 | + "description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function\n(`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the\nfunction is displayed as a part of the title (e.g., `\"Sum of Profit\"`). If the field is\nbinned or has a time unit applied, the applied function will be denoted in parentheses\n(e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is\nsimply the field name.\n\n__Note__: You can customize the default field title format by providing the [`fieldTitle`\nproperty in the [config](config.html) or [`fieldTitle` function via the `compile`\nfunction's options](compile.html#field-title)." |
| 3599 | + } |
| 3600 | + }, |
| 3601 | + "required": [], |
| 3602 | + "title": "Header", |
| 3603 | + "description": "An object defining properties of a facet's header.\nHeaders of row / column channels for faceted plots." |
| 3604 | + }, |
| 3605 | + "FieldDef": { |
| 3606 | + "type": "object", |
| 3607 | + "additionalProperties": false, |
| 3608 | + "properties": { |
| 3609 | + "aggregate": { |
| 3610 | + "$ref": "#/definitions/AggregateOp", |
| 3611 | + "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3612 | + }, |
| 3613 | + "bin": { |
| 3614 | + "$ref": "#/definitions/Bin", |
| 3615 | + "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3616 | + }, |
| 3617 | + "field": { |
| 3618 | + "$ref": "#/definitions/Field", |
| 3619 | + "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3620 | + }, |
| 3621 | + "timeUnit": { |
| 3622 | + "$ref": "#/definitions/TimeUnit", |
| 3623 | + "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3624 | + }, |
| 3625 | + "type": { |
| 3626 | + "$ref": "#/definitions/Type", |
| 3627 | + "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3628 | + } |
| 3629 | + }, |
| 3630 | + "required": [ |
| 3631 | + "type" |
| 3632 | + ], |
| 3633 | + "title": "FieldDef", |
| 3634 | + "description": "Definition object for a data field, its type and transformation of an encoding channel." |
| 3635 | + }, |
| 3636 | + "FieldDefWithCondition": { |
| 3637 | + "type": "object", |
| 3638 | + "additionalProperties": false, |
| 3639 | + "properties": { |
| 3640 | + "aggregate": { |
| 3641 | + "$ref": "#/definitions/AggregateOp", |
| 3642 | + "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3643 | + }, |
| 3644 | + "bin": { |
| 3645 | + "$ref": "#/definitions/Bin", |
| 3646 | + "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3647 | + }, |
| 3648 | + "condition": { |
| 3649 | + "$ref": "#/definitions/ConditionUnion", |
| 3650 | + "description": "One or more value definition(s) with a selection predicate.\n\n__Note:__ A field definition's `condition` property can only contain [value\ndefinitions](encoding.html#value-def)\nsince Vega-Lite only allows at most one encoded field per encoding channel." |
| 3651 | + }, |
| 3652 | + "field": { |
| 3653 | + "$ref": "#/definitions/Field", |
| 3654 | + "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3655 | + }, |
| 3656 | + "timeUnit": { |
| 3657 | + "$ref": "#/definitions/TimeUnit", |
| 3658 | + "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3659 | + }, |
| 3660 | + "type": { |
| 3661 | + "$ref": "#/definitions/Type", |
| 3662 | + "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3663 | + } |
| 3664 | + }, |
| 3665 | + "required": [ |
| 3666 | + "type" |
| 3667 | + ], |
| 3668 | + "title": "FieldDefWithCondition", |
| 3669 | + "description": "A FieldDef with Condition<ValueDef>\n{\n condition: {value: ...},\n field: ...,\n ...\n}" |
| 3670 | + }, |
| 3671 | + "ValueDefWithCondition": { |
| 3672 | + "type": "object", |
| 3673 | + "additionalProperties": false, |
| 3674 | + "properties": { |
| 3675 | + "condition": { |
| 3676 | + "$ref": "#/definitions/HrefCondition", |
| 3677 | + "description": "A field definition or one or more value definition(s) with a selection predicate." |
| 3678 | + }, |
| 3679 | + "value": { |
| 3680 | + "$ref": "#/definitions/ConditionValue", |
| 3681 | + "description": "A constant value in visual domain." |
| 3682 | + } |
| 3683 | + }, |
| 3684 | + "required": [], |
| 3685 | + "title": "ValueDefWithCondition", |
| 3686 | + "description": "A ValueDef with Condition<ValueDef | FieldDef>\n{\n condition: {field: ...} | {value: ...},\n value: ...,\n}" |
| 3687 | + }, |
| 3688 | + "ConditionalPredicateFieldDef": { |
| 3689 | + "type": "object", |
| 3690 | + "additionalProperties": false, |
| 3691 | + "properties": { |
| 3692 | + "aggregate": { |
| 3693 | + "$ref": "#/definitions/AggregateOp", |
| 3694 | + "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3695 | + }, |
| 3696 | + "bin": { |
| 3697 | + "$ref": "#/definitions/Bin", |
| 3698 | + "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3699 | + }, |
| 3700 | + "field": { |
| 3701 | + "$ref": "#/definitions/Field", |
| 3702 | + "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3703 | + }, |
| 3704 | + "test": { |
| 3705 | + "$ref": "#/definitions/LogicalOperandPredicate" |
| 3706 | + }, |
| 3707 | + "timeUnit": { |
| 3708 | + "$ref": "#/definitions/TimeUnit", |
| 3709 | + "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3710 | + }, |
| 3711 | + "type": { |
| 3712 | + "$ref": "#/definitions/Type", |
| 3713 | + "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3714 | + } |
| 3715 | + }, |
| 3716 | + "required": [ |
| 3717 | + "test", |
| 3718 | + "type" |
| 3719 | + ], |
| 3720 | + "title": "ConditionalPredicateFieldDef" |
| 3721 | + }, |
| 3722 | + "ConditionalSelectionFieldDef": { |
| 3723 | + "type": "object", |
| 3724 | + "additionalProperties": false, |
| 3725 | + "properties": { |
| 3726 | + "aggregate": { |
| 3727 | + "$ref": "#/definitions/AggregateOp", |
| 3728 | + "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3729 | + }, |
| 3730 | + "bin": { |
| 3731 | + "$ref": "#/definitions/Bin", |
| 3732 | + "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3733 | + }, |
| 3734 | + "field": { |
| 3735 | + "$ref": "#/definitions/Field", |
| 3736 | + "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3737 | + }, |
| 3738 | + "selection": { |
| 3739 | + "$ref": "#/definitions/SelectionOperand", |
| 3740 | + "description": "A [selection name](selection.html), or a series of [composed\nselections](selection.html#compose)." |
| 3741 | + }, |
| 3742 | + "timeUnit": { |
| 3743 | + "$ref": "#/definitions/TimeUnit", |
| 3744 | + "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3745 | + }, |
| 3746 | + "type": { |
| 3747 | + "$ref": "#/definitions/Type", |
| 3748 | + "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3749 | + } |
| 3750 | + }, |
| 3751 | + "required": [ |
| 3752 | + "selection", |
| 3753 | + "type" |
| 3754 | + ], |
| 3755 | + "title": "ConditionalSelectionFieldDef" |
| 3756 | + }, |
| 3757 | + "OrderFieldDef": { |
| 3758 | + "type": "object", |
| 3759 | + "additionalProperties": false, |
| 3760 | + "properties": { |
| 3761 | + "aggregate": { |
| 3762 | + "$ref": "#/definitions/AggregateOp", |
| 3763 | + "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3764 | + }, |
| 3765 | + "bin": { |
| 3766 | + "$ref": "#/definitions/Bin", |
| 3767 | + "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3768 | + }, |
| 3769 | + "field": { |
| 3770 | + "$ref": "#/definitions/Field", |
| 3771 | + "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3772 | + }, |
| 3773 | + "sort": { |
| 3774 | + "anyOf": [ |
| 3775 | + { |
| 3776 | + "$ref": "#/definitions/SortOrderEnum" |
| 3777 | + }, |
| 3778 | + { |
| 3779 | + "type": "null" |
| 3780 | + } |
| 3781 | + ], |
| 3782 | + "description": "The sort order. One of `\"ascending\"` (default) or `\"descending\"`.\nSort order for a facet field.\nThis can be `\"ascending\"`, `\"descending\"`." |
| 3783 | + }, |
| 3784 | + "timeUnit": { |
| 3785 | + "$ref": "#/definitions/TimeUnit", |
| 3786 | + "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3787 | + }, |
| 3788 | + "type": { |
| 3789 | + "$ref": "#/definitions/Type", |
| 3790 | + "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3791 | + } |
| 3792 | + }, |
| 3793 | + "required": [ |
| 3794 | + "type" |
| 3795 | + ], |
| 3796 | + "title": "OrderFieldDef" |
| 3797 | + }, |
| 3798 | + "TextFieldDefWithCondition": { |
| 3799 | + "type": "object", |
| 3800 | + "additionalProperties": false, |
| 3801 | + "properties": { |
| 3802 | + "aggregate": { |
| 3803 | + "$ref": "#/definitions/AggregateOp", |
| 3804 | + "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3805 | + }, |
| 3806 | + "bin": { |
| 3807 | + "$ref": "#/definitions/Bin", |
| 3808 | + "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3809 | + }, |
| 3810 | + "condition": { |
| 3811 | + "$ref": "#/definitions/ConditionUnion", |
| 3812 | + "description": "One or more value definition(s) with a selection predicate.\n\n__Note:__ A field definition's `condition` property can only contain [value\ndefinitions](encoding.html#value-def)\nsince Vega-Lite only allows at most one encoded field per encoding channel." |
| 3813 | + }, |
| 3814 | + "field": { |
| 3815 | + "$ref": "#/definitions/Field", |
| 3816 | + "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3817 | + }, |
| 3818 | + "format": { |
| 3819 | + "type": "string", |
| 3820 | + "description": "The [formatting pattern](format.html) for a text field. If not defined, this will be\ndetermined automatically." |
| 3821 | + }, |
| 3822 | + "timeUnit": { |
| 3823 | + "$ref": "#/definitions/TimeUnit", |
| 3824 | + "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3825 | + }, |
| 3826 | + "type": { |
| 3827 | + "$ref": "#/definitions/Type", |
| 3828 | + "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3829 | + } |
| 3830 | + }, |
| 3831 | + "required": [ |
| 3832 | + "type" |
| 3833 | + ], |
| 3834 | + "title": "TextFieldDefWithCondition", |
| 3835 | + "description": "A FieldDef with Condition<ValueDef>\n{\n condition: {value: ...},\n field: ...,\n ...\n}" |
| 3836 | + }, |
| 3837 | + "TextValueDefWithCondition": { |
| 3838 | + "type": "object", |
| 3839 | + "additionalProperties": false, |
| 3840 | + "properties": { |
| 3841 | + "condition": { |
| 3842 | + "$ref": "#/definitions/TextCondition", |
| 3843 | + "description": "A field definition or one or more value definition(s) with a selection predicate." |
| 3844 | + }, |
| 3845 | + "value": { |
| 3846 | + "$ref": "#/definitions/ConditionValue", |
| 3847 | + "description": "A constant value in visual domain." |
| 3848 | + } |
| 3849 | + }, |
| 3850 | + "required": [], |
| 3851 | + "title": "TextValueDefWithCondition", |
| 3852 | + "description": "A ValueDef with Condition<ValueDef | FieldDef>\n{\n condition: {field: ...} | {value: ...},\n value: ...,\n}" |
| 3853 | + }, |
| 3854 | + "ConditionalPredicateTextFieldDef": { |
| 3855 | + "type": "object", |
| 3856 | + "additionalProperties": false, |
| 3857 | + "properties": { |
| 3858 | + "aggregate": { |
| 3859 | + "$ref": "#/definitions/AggregateOp", |
| 3860 | + "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3861 | + }, |
| 3862 | + "bin": { |
| 3863 | + "$ref": "#/definitions/Bin", |
| 3864 | + "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3865 | + }, |
| 3866 | + "field": { |
| 3867 | + "$ref": "#/definitions/Field", |
| 3868 | + "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3869 | + }, |
| 3870 | + "format": { |
| 3871 | + "type": "string", |
| 3872 | + "description": "The [formatting pattern](format.html) for a text field. If not defined, this will be\ndetermined automatically." |
| 3873 | + }, |
| 3874 | + "test": { |
| 3875 | + "$ref": "#/definitions/LogicalOperandPredicate" |
| 3876 | + }, |
| 3877 | + "timeUnit": { |
| 3878 | + "$ref": "#/definitions/TimeUnit", |
| 3879 | + "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3880 | + }, |
| 3881 | + "type": { |
| 3882 | + "$ref": "#/definitions/Type", |
| 3883 | + "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3884 | + } |
| 3885 | + }, |
| 3886 | + "required": [ |
| 3887 | + "test", |
| 3888 | + "type" |
| 3889 | + ], |
| 3890 | + "title": "ConditionalPredicateTextFieldDef" |
| 3891 | + }, |
| 3892 | + "ConditionalSelectionTextFieldDef": { |
| 3893 | + "type": "object", |
| 3894 | + "additionalProperties": false, |
| 3895 | + "properties": { |
| 3896 | + "aggregate": { |
| 3897 | + "$ref": "#/definitions/AggregateOp", |
| 3898 | + "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3899 | + }, |
| 3900 | + "bin": { |
| 3901 | + "$ref": "#/definitions/Bin", |
| 3902 | + "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3903 | + }, |
| 3904 | + "field": { |
| 3905 | + "$ref": "#/definitions/Field", |
| 3906 | + "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3907 | + }, |
| 3908 | + "format": { |
| 3909 | + "type": "string", |
| 3910 | + "description": "The [formatting pattern](format.html) for a text field. If not defined, this will be\ndetermined automatically." |
| 3911 | + }, |
| 3912 | + "selection": { |
| 3913 | + "$ref": "#/definitions/SelectionOperand", |
| 3914 | + "description": "A [selection name](selection.html), or a series of [composed\nselections](selection.html#compose)." |
| 3915 | + }, |
| 3916 | + "timeUnit": { |
| 3917 | + "$ref": "#/definitions/TimeUnit", |
| 3918 | + "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3919 | + }, |
| 3920 | + "type": { |
| 3921 | + "$ref": "#/definitions/Type", |
| 3922 | + "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3923 | + } |
| 3924 | + }, |
| 3925 | + "required": [ |
| 3926 | + "selection", |
| 3927 | + "type" |
| 3928 | + ], |
| 3929 | + "title": "ConditionalSelectionTextFieldDef" |
| 3930 | + }, |
| 3931 | + "PositionFieldDef": { |
| 3932 | + "type": "object", |
| 3933 | + "additionalProperties": false, |
| 3934 | + "properties": { |
| 3935 | + "aggregate": { |
| 3936 | + "$ref": "#/definitions/AggregateOp", |
| 3937 | + "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 3938 | + }, |
| 3939 | + "axis": { |
| 3940 | + "anyOf": [ |
| 3941 | + { |
| 3942 | + "$ref": "#/definitions/Axis" |
| 3943 | + }, |
| 3944 | + { |
| 3945 | + "type": "null" |
| 3946 | + } |
| 3947 | + ], |
| 3948 | + "description": "An object defining properties of axis's gridlines, ticks and labels.\nIf `null`, the axis for the encoding channel will be removed.\n\n__Default value:__ If undefined, default [axis properties](axis.html) are applied." |
| 3949 | + }, |
| 3950 | + "bin": { |
| 3951 | + "$ref": "#/definitions/Bin", |
| 3952 | + "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 3953 | + }, |
| 3954 | + "field": { |
| 3955 | + "$ref": "#/definitions/Field", |
| 3956 | + "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 3957 | + }, |
| 3958 | + "scale": { |
| 3959 | + "$ref": "#/definitions/Scale", |
| 3960 | + "description": "An object defining properties of the channel's scale, which is the function that\ntransforms values in the data domain (numbers, dates, strings, etc) to visual values\n(pixels, colors, sizes) of the encoding channels.\n\n__Default value:__ If undefined, default [scale properties](scale.html) are applied." |
| 3961 | + }, |
| 3962 | + "sort": { |
| 3963 | + "$ref": "#/definitions/SortUnion", |
| 3964 | + "description": "Sort order for the encoded field.\nSupported `sort` values include `\"ascending\"`, `\"descending\"` and `null` (no sorting).\nFor fields with discrete domains, `sort` can also be a [sort field definition\nobject](sort.html#sort-field).\n\n__Default value:__ `\"ascending\"`" |
| 3965 | + }, |
| 3966 | + "stack": { |
| 3967 | + "anyOf": [ |
| 3968 | + { |
| 3969 | + "$ref": "#/definitions/StackOffset" |
| 3970 | + }, |
| 3971 | + { |
| 3972 | + "type": "null" |
| 3973 | + } |
| 3974 | + ], |
| 3975 | + "description": "Type of stacking offset if the field should be stacked.\n`stack` is only applicable for `x` and `y` channels with continuous domains.\nFor example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n\n- `\"zero\"`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](stack.html#bar) and [area](stack.html#area) chart).\n- `\"normalize\"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](stack.html#normalized). <br/>\n- `\"center\"` - stacking with center baseline (for [streamgraph](stack.html#streamgraph)).\n- `null` - No-stacking. This will produce layered [bar](stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true:\n\n1. The mark is `bar` or `area`;\n2. The stacked measure channel (x or y) has a linear scale;\n3. At least one of non-position channels mapped to an unaggregated field that is different from x and y. Otherwise, `null` by default." |
| 3976 | + }, |
| 3977 | + "timeUnit": { |
| 3978 | + "$ref": "#/definitions/TimeUnit", |
| 3979 | + "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 3980 | + }, |
| 3981 | + "type": { |
| 3982 | + "$ref": "#/definitions/Type", |
| 3983 | + "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 3984 | + } |
| 3985 | + }, |
| 3986 | + "required": [ |
| 3987 | + "type" |
| 3988 | + ], |
| 3989 | + "title": "PositionFieldDef" |
| 3990 | + }, |
| 3991 | + "ValueDef": { |
| 3992 | + "type": "object", |
| 3993 | + "additionalProperties": false, |
| 3994 | + "properties": { |
| 3995 | + "value": { |
| 3996 | + "$ref": "#/definitions/ConditionValue", |
| 3997 | + "description": "A constant value in visual domain (e.g., `\"red\"` / \"#0099ff\" for color, values between\n`0` to `1` for opacity)." |
| 3998 | + } |
| 3999 | + }, |
| 4000 | + "required": [ |
| 4001 | + "value" |
| 4002 | + ], |
| 4003 | + "title": "ValueDef", |
| 4004 | + "description": "Definition object for a constant value of an encoding channel." |
| 4005 | + }, |
| 4006 | + "Axis": { |
| 4007 | + "type": "object", |
| 4008 | + "additionalProperties": false, |
| 4009 | + "properties": { |
| 4010 | + "domain": { |
| 4011 | + "type": "boolean", |
| 4012 | + "description": "A boolean flag indicating if the domain (the axis baseline) should be included as part of\nthe axis.\n\n__Default value:__ `true`" |
| 4013 | + }, |
| 4014 | + "format": { |
| 4015 | + "type": "string", |
| 4016 | + "description": "The formatting pattern for labels. This is D3's [number format\npattern](https://github.com/d3/d3-format#locale_format) for quantitative fields and D3's\n[time format pattern](https://github.com/d3/d3-time-format#locale_format) for time\nfield.\n\nSee the [format documentation](format.html) for more information.\n\n__Default value:__ derived from [numberFormat](config.html#format) config for\nquantitative fields and from [timeFormat](config.html#format) config for temporal fields." |
| 4017 | + }, |
| 4018 | + "grid": { |
| 4019 | + "type": "boolean", |
| 4020 | + "description": "A boolean flag indicating if grid lines should be included as part of the axis\n\n__Default value:__ `true` for [continuous scales](scale.html#continuous) that are not\nbinned; otherwise, `false`." |
| 4021 | + }, |
| 4022 | + "labelAngle": { |
| 4023 | + "type": "number", |
| 4024 | + "minimum": -360, |
| 4025 | + "maximum": 360, |
| 4026 | + "description": "The rotation angle of the axis labels.\n\n__Default value:__ `-90` for nominal and ordinal fields; `0` otherwise." |
| 4027 | + }, |
| 4028 | + "labelBound": { |
| 4029 | + "$ref": "#/definitions/Label", |
| 4030 | + "description": "Indicates if labels should be hidden if they exceed the axis range. If `false `(the\ndefault) no bounds overlap analysis is performed. If `true`, labels will be hidden if\nthey exceed the axis range by more than 1 pixel. If this property is a number, it\nspecifies the pixel tolerance: the maximum amount by which a label bounding box may\nexceed the axis range.\n\n__Default value:__ `false`." |
| 4031 | + }, |
| 4032 | + "labelFlush": { |
| 4033 | + "$ref": "#/definitions/Label", |
| 4034 | + "description": "Indicates if the first and last axis labels should be aligned flush with the scale range.\nFlush alignment for a horizontal axis will left-align the first label and right-align the\nlast label. For vertical axes, bottom and top text baselines are applied instead. If this\nproperty is a number, it also indicates the number of pixels by which to offset the first\nand last labels; for example, a value of 2 will flush-align the first and last labels and\nalso push them 2 pixels outward from the center of the axis. The additional adjustment\ncan sometimes help the labels better visually group with corresponding axis ticks.\n\n__Default value:__ `true` for axis of a continuous x-scale. Otherwise, `false`." |
| 4035 | + }, |
| 4036 | + "labelOverlap": { |
| 4037 | + "$ref": "#/definitions/LabelOverlapUnion", |
| 4038 | + "description": "The strategy to use for resolving overlap of axis labels. If `false` (the default), no\noverlap reduction is attempted. If set to `true` or `\"parity\"`, a strategy of removing\nevery other label is used (this works well for standard linear axes). If set to\n`\"greedy\"`, a linear scan of the labels is performed, removing any labels that overlaps\nwith the last visible label (this often works better for log-scaled axes).\n\n__Default value:__ `true` for non-nominal fields with non-log scales; `\"greedy\"` for log\nscales; otherwise `false`." |
| 4039 | + }, |
| 4040 | + "labelPadding": { |
| 4041 | + "type": "number", |
| 4042 | + "description": "The padding, in pixels, between axis and text labels." |
| 4043 | + }, |
| 4044 | + "labels": { |
| 4045 | + "type": "boolean", |
| 4046 | + "description": "A boolean flag indicating if labels should be included as part of the axis.\n\n__Default value:__ `true`." |
| 4047 | + }, |
| 4048 | + "maxExtent": { |
| 4049 | + "type": "number", |
| 4050 | + "description": "The maximum extent in pixels that axis ticks and labels should use. This determines a\nmaximum offset value for axis titles.\n\n__Default value:__ `undefined`." |
| 4051 | + }, |
| 4052 | + "minExtent": { |
| 4053 | + "type": "number", |
| 4054 | + "description": "The minimum extent in pixels that axis ticks and labels should use. This determines a\nminimum offset value for axis titles.\n\n__Default value:__ `30` for y-axis; `undefined` for x-axis." |
| 4055 | + }, |
| 4056 | + "offset": { |
| 4057 | + "type": "number", |
| 4058 | + "description": "The offset, in pixels, by which to displace the axis from the edge of the enclosing group\nor data rectangle.\n\n__Default value:__ derived from the [axis config](config.html#facet-scale-config)'s\n`offset` (`0` by default)" |
| 4059 | + }, |
| 4060 | + "orient": { |
| 4061 | + "$ref": "#/definitions/TitleOrient", |
| 4062 | + "description": "The orientation of the axis. One of `\"top\"`, `\"bottom\"`, `\"left\"` or `\"right\"`. The\norientation can be used to further specialize the axis type (e.g., a y axis oriented for\nthe right edge of the chart).\n\n__Default value:__ `\"bottom\"` for x-axes and `\"left\"` for y-axes." |
| 4063 | + }, |
| 4064 | + "position": { |
| 4065 | + "type": "number", |
| 4066 | + "description": "The anchor position of the axis in pixels. For x-axis with top or bottom orientation,\nthis sets the axis group x coordinate. For y-axis with left or right orientation, this\nsets the axis group y coordinate.\n\n__Default value__: `0`" |
| 4067 | + }, |
| 4068 | + "tickCount": { |
| 4069 | + "type": "number", |
| 4070 | + "description": "A desired number of ticks, for axes visualizing quantitative scales. The resulting number\nmay be different so that values are \"nice\" (multiples of 2, 5, 10) and lie within the\nunderlying scale's range." |
| 4071 | + }, |
| 4072 | + "ticks": { |
| 4073 | + "type": "boolean", |
| 4074 | + "description": "Boolean value that determines whether the axis should include ticks." |
| 4075 | + }, |
| 4076 | + "tickSize": { |
| 4077 | + "type": "number", |
| 4078 | + "minimum": 0, |
| 4079 | + "description": "The size in pixels of axis ticks." |
| 4080 | + }, |
| 4081 | + "title": { |
| 4082 | + "anyOf": [ |
| 4083 | + { |
| 4084 | + "type": "null" |
| 4085 | + }, |
| 4086 | + { |
| 4087 | + "type": "string" |
| 4088 | + } |
| 4089 | + ], |
| 4090 | + "description": "A title for the field. If `null`, the title will be removed.\n\n__Default value:__ derived from the field's name and transformation function\n(`aggregate`, `bin` and `timeUnit`). If the field has an aggregate function, the\nfunction is displayed as a part of the title (e.g., `\"Sum of Profit\"`). If the field is\nbinned or has a time unit applied, the applied function will be denoted in parentheses\n(e.g., `\"Profit (binned)\"`, `\"Transaction Date (year-month)\"`). Otherwise, the title is\nsimply the field name.\n\n__Note__: You can customize the default field title format by providing the [`fieldTitle`\nproperty in the [config](config.html) or [`fieldTitle` function via the `compile`\nfunction's options](compile.html#field-title)." |
| 4091 | + }, |
| 4092 | + "titleMaxLength": { |
| 4093 | + "type": "number", |
| 4094 | + "description": "Max length for axis title if the title is automatically generated from the field's\ndescription." |
| 4095 | + }, |
| 4096 | + "titlePadding": { |
| 4097 | + "type": "number", |
| 4098 | + "description": "The padding, in pixels, between title and axis." |
| 4099 | + }, |
| 4100 | + "values": { |
| 4101 | + "type": "array", |
| 4102 | + "items": { |
| 4103 | + "$ref": "#/definitions/AxisValue" |
| 4104 | + }, |
| 4105 | + "description": "Explicitly set the visible axis tick values." |
| 4106 | + }, |
| 4107 | + "zindex": { |
| 4108 | + "type": "number", |
| 4109 | + "minimum": 0, |
| 4110 | + "description": "A non-positive integer indicating z-index of the axis.\nIf zindex is 0, axes should be drawn behind all chart elements.\nTo put them in front, use `\"zindex = 1\"`.\n\n__Default value:__ `1` (in front of the marks) for actual axis and `0` (behind the marks)\nfor grids." |
| 4111 | + } |
| 4112 | + }, |
| 4113 | + "required": [], |
| 4114 | + "title": "Axis" |
| 4115 | + }, |
| 4116 | + "MarkDef": { |
| 4117 | + "type": "object", |
| 4118 | + "additionalProperties": false, |
| 4119 | + "properties": { |
| 4120 | + "align": { |
| 4121 | + "$ref": "#/definitions/HorizontalAlign", |
| 4122 | + "description": "The horizontal alignment of the text. One of `\"left\"`, `\"right\"`, `\"center\"`." |
| 4123 | + }, |
| 4124 | + "angle": { |
| 4125 | + "type": "number", |
| 4126 | + "minimum": 0, |
| 4127 | + "maximum": 360, |
| 4128 | + "description": "The rotation angle of the text, in degrees." |
| 4129 | + }, |
| 4130 | + "baseline": { |
| 4131 | + "$ref": "#/definitions/VerticalAlign", |
| 4132 | + "description": "The vertical alignment of the text. One of `\"top\"`, `\"middle\"`, `\"bottom\"`.\n\n__Default value:__ `\"middle\"`" |
| 4133 | + }, |
| 4134 | + "clip": { |
| 4135 | + "type": "boolean", |
| 4136 | + "description": "Whether a mark be clipped to the enclosing group’s width and height." |
| 4137 | + }, |
| 4138 | + "color": { |
| 4139 | + "type": "string", |
| 4140 | + "description": "Default color. Note that `fill` and `stroke` have higher precedence than `color` and\nwill override `color`.\n\n__Default value:__ <span style=\"color: #4682b4;\">■</span> `\"#4682b4\"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 4141 | + }, |
| 4142 | + "cursor": { |
| 4143 | + "$ref": "#/definitions/Cursor", |
| 4144 | + "description": "The mouse cursor used over the mark. Any valid [CSS cursor\ntype](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used." |
| 4145 | + }, |
| 4146 | + "dx": { |
| 4147 | + "type": "number", |
| 4148 | + "description": "The horizontal offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 4149 | + }, |
| 4150 | + "dy": { |
| 4151 | + "type": "number", |
| 4152 | + "description": "The vertical offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 4153 | + }, |
| 4154 | + "fill": { |
| 4155 | + "type": "string", |
| 4156 | + "description": "Default Fill Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 4157 | + }, |
| 4158 | + "filled": { |
| 4159 | + "type": "boolean", |
| 4160 | + "description": "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 4161 | + }, |
| 4162 | + "fillOpacity": { |
| 4163 | + "type": "number", |
| 4164 | + "minimum": 0, |
| 4165 | + "maximum": 1, |
| 4166 | + "description": "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 4167 | + }, |
| 4168 | + "font": { |
| 4169 | + "type": "string", |
| 4170 | + "description": "The typeface to set the text in (e.g., `\"Helvetica Neue\"`)." |
| 4171 | + }, |
| 4172 | + "fontSize": { |
| 4173 | + "type": "number", |
| 4174 | + "minimum": 0, |
| 4175 | + "description": "The font size, in pixels." |
| 4176 | + }, |
| 4177 | + "fontStyle": { |
| 4178 | + "$ref": "#/definitions/FontStyle", |
| 4179 | + "description": "The font style (e.g., `\"italic\"`)." |
| 4180 | + }, |
| 4181 | + "fontWeight": { |
| 4182 | + "$ref": "#/definitions/FontWeightUnion", |
| 4183 | + "description": "The font weight (e.g., `\"bold\"`)." |
| 4184 | + }, |
| 4185 | + "href": { |
| 4186 | + "type": "string", |
| 4187 | + "description": "A URL to load upon mouse click. If defined, the mark acts as a hyperlink." |
| 4188 | + }, |
| 4189 | + "interpolate": { |
| 4190 | + "$ref": "#/definitions/Interpolate", |
| 4191 | + "description": "The line interpolation method to use for line and area marks. One of the following:\n- `\"linear\"`: piecewise linear segments, as in a polyline.\n- `\"linear-closed\"`: close the linear segments to form a polygon.\n- `\"step\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"step-before\"`: alternate between vertical and horizontal segments, as in a step\nfunction.\n- `\"step-after\"`: alternate between horizontal and vertical segments, as in a step\nfunction.\n- `\"basis\"`: a B-spline, with control point duplication on the ends.\n- `\"basis-open\"`: an open B-spline; may not intersect the start or end.\n- `\"basis-closed\"`: a closed B-spline, as in a loop.\n- `\"cardinal\"`: a Cardinal spline, with control point duplication on the ends.\n- `\"cardinal-open\"`: an open Cardinal spline; may not intersect the start or end, but\nwill intersect other control points.\n- `\"cardinal-closed\"`: a closed Cardinal spline, as in a loop.\n- `\"bundle\"`: equivalent to basis, except the tension parameter is used to straighten the\nspline.\n- `\"monotone\"`: cubic interpolation that preserves monotonicity in y." |
| 4192 | + }, |
| 4193 | + "limit": { |
| 4194 | + "type": "number", |
| 4195 | + "description": "The maximum length of the text mark in pixels (default 0, indicating no limit). The text\nvalue will be automatically truncated if the rendered size exceeds the limit." |
| 4196 | + }, |
| 4197 | + "opacity": { |
| 4198 | + "type": "number", |
| 4199 | + "minimum": 0, |
| 4200 | + "maximum": 1, |
| 4201 | + "description": "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or\n`square` marks or layered `bar` charts and `1` otherwise." |
| 4202 | + }, |
| 4203 | + "orient": { |
| 4204 | + "$ref": "#/definitions/Orient", |
| 4205 | + "description": "The orientation of a non-stacked bar, tick, area, and line charts.\nThe value is either horizontal (default) or vertical.\n- For bar, rule and tick, this determines whether the size of the bar and tick\nshould be applied to x or y dimension.\n- For area, this property determines the orient property of the Vega output.\n- For line, this property determines the sort order of the points in the line\nif `config.sortLineBy` is not specified.\nFor stacked charts, this is always determined by the orientation of the stack;\ntherefore explicitly specified value will be ignored." |
| 4206 | + }, |
| 4207 | + "radius": { |
| 4208 | + "type": "number", |
| 4209 | + "minimum": 0, |
| 4210 | + "description": "Polar coordinate radial offset, in pixels, of the text label from the origin determined\nby the `x` and `y` properties." |
| 4211 | + }, |
| 4212 | + "shape": { |
| 4213 | + "type": "string", |
| 4214 | + "description": "The default symbol shape to use. One of: `\"circle\"` (default), `\"square\"`, `\"cross\"`,\n`\"diamond\"`, `\"triangle-up\"`, or `\"triangle-down\"`, or a custom SVG path.\n\n__Default value:__ `\"circle\"`" |
| 4215 | + }, |
| 4216 | + "size": { |
| 4217 | + "type": "number", |
| 4218 | + "minimum": 0, |
| 4219 | + "description": "The pixel area each the point/circle/square.\nFor example: in the case of circles, the radius is determined in part by the square root\nof the size value.\n\n__Default value:__ `30`" |
| 4220 | + }, |
| 4221 | + "stroke": { |
| 4222 | + "type": "string", |
| 4223 | + "description": "Default Stroke Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 4224 | + }, |
| 4225 | + "strokeDash": { |
| 4226 | + "type": "array", |
| 4227 | + "items": { |
| 4228 | + "type": "number" |
| 4229 | + }, |
| 4230 | + "description": "An array of alternating stroke, space lengths for creating dashed or dotted lines." |
| 4231 | + }, |
| 4232 | + "strokeDashOffset": { |
| 4233 | + "type": "number", |
| 4234 | + "description": "The offset (in pixels) into which to begin drawing with the stroke dash array." |
| 4235 | + }, |
| 4236 | + "strokeOpacity": { |
| 4237 | + "type": "number", |
| 4238 | + "minimum": 0, |
| 4239 | + "maximum": 1, |
| 4240 | + "description": "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 4241 | + }, |
| 4242 | + "strokeWidth": { |
| 4243 | + "type": "number", |
| 4244 | + "minimum": 0, |
| 4245 | + "description": "The stroke width, in pixels." |
| 4246 | + }, |
| 4247 | + "style": { |
| 4248 | + "$ref": "#/definitions/Style", |
| 4249 | + "description": "A string or array of strings indicating the name of custom styles to apply to the mark. A\nstyle is a named collection of mark property defaults defined within the [style\nconfiguration](mark.html#style-config). If style is an array, later styles will override\nearlier styles. Any [mark properties](encoding.html#mark-prop) explicitly defined within\nthe `encoding` will override a style default.\n\n__Default value:__ The mark's name. For example, a bar mark will have style `\"bar\"` by\ndefault.\n__Note:__ Any specified style will augment the default style. For example, a bar mark\nwith `\"style\": \"foo\"` will receive from `config.style.bar` and `config.style.foo` (the\nspecified style `\"foo\"` has higher precedence)." |
| 4250 | + }, |
| 4251 | + "tension": { |
| 4252 | + "type": "number", |
| 4253 | + "minimum": 0, |
| 4254 | + "maximum": 1, |
| 4255 | + "description": "Depending on the interpolation type, sets the tension parameter (for line and area marks)." |
| 4256 | + }, |
| 4257 | + "text": { |
| 4258 | + "type": "string", |
| 4259 | + "description": "Placeholder text if the `text` channel is not specified" |
| 4260 | + }, |
| 4261 | + "theta": { |
| 4262 | + "type": "number", |
| 4263 | + "description": "Polar coordinate angle, in radians, of the text label from the origin determined by the\n`x` and `y` properties. Values for `theta` follow the same convention of `arc` mark\n`startAngle` and `endAngle` properties: angles are measured in radians, with `0`\nindicating \"north\"." |
| 4264 | + }, |
| 4265 | + "type": { |
| 4266 | + "$ref": "#/definitions/Mark", |
| 4267 | + "description": "The mark type.\nOne of `\"bar\"`, `\"circle\"`, `\"square\"`, `\"tick\"`, `\"line\"`,\n`\"area\"`, `\"point\"`, `\"geoshape\"`, `\"rule\"`, and `\"text\"`." |
| 4268 | + } |
| 4269 | + }, |
| 4270 | + "required": [ |
| 4271 | + "type" |
| 4272 | + ], |
| 4273 | + "title": "MarkDef" |
| 4274 | + }, |
| 4275 | + "Projection": { |
| 4276 | + "type": "object", |
| 4277 | + "additionalProperties": false, |
| 4278 | + "properties": { |
| 4279 | + "center": { |
| 4280 | + "type": "array", |
| 4281 | + "items": { |
| 4282 | + "type": "number" |
| 4283 | + }, |
| 4284 | + "description": "Sets the projection’s center to the specified center, a two-element array of longitude\nand latitude in degrees.\n\n__Default value:__ `[0, 0]`" |
| 4285 | + }, |
| 4286 | + "clipAngle": { |
| 4287 | + "type": "number", |
| 4288 | + "description": "Sets the projection’s clipping circle radius to the specified angle in degrees. If\n`null`, switches to [antimeridian](http://bl.ocks.org/mbostock/3788999) cutting rather\nthan small-circle clipping." |
| 4289 | + }, |
| 4290 | + "clipExtent": { |
| 4291 | + "type": "array", |
| 4292 | + "items": { |
| 4293 | + "type": "array", |
| 4294 | + "items": { |
| 4295 | + "type": "number" |
| 4296 | + } |
| 4297 | + }, |
| 4298 | + "description": "Sets the projection’s viewport clip extent to the specified bounds in pixels. The extent\nbounds are specified as an array `[[x0, y0], [x1, y1]]`, where `x0` is the left-side of\nthe viewport, `y0` is the top, `x1` is the right and `y1` is the bottom. If `null`, no\nviewport clipping is performed." |
| 4299 | + }, |
| 4300 | + "coefficient": { |
| 4301 | + "type": "number" |
| 4302 | + }, |
| 4303 | + "distance": { |
| 4304 | + "type": "number" |
| 4305 | + }, |
| 4306 | + "fraction": { |
| 4307 | + "type": "number" |
| 4308 | + }, |
| 4309 | + "lobes": { |
| 4310 | + "type": "number" |
| 4311 | + }, |
| 4312 | + "parallel": { |
| 4313 | + "type": "number" |
| 4314 | + }, |
| 4315 | + "precision": { |
| 4316 | + "$ref": "#/definitions/FluffyPrecision", |
| 4317 | + "description": "Sets the threshold for the projection’s [adaptive\nresampling](http://bl.ocks.org/mbostock/3795544) to the specified value in pixels. This\nvalue corresponds to the [Douglas–Peucker\ndistance](http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm).\nIf precision is not specified, returns the projection’s current resampling precision\nwhich defaults to `√0.5 ≅ 0.70710…`." |
| 4318 | + }, |
| 4319 | + "radius": { |
| 4320 | + "type": "number" |
| 4321 | + }, |
| 4322 | + "ratio": { |
| 4323 | + "type": "number" |
| 4324 | + }, |
| 4325 | + "rotate": { |
| 4326 | + "type": "array", |
| 4327 | + "items": { |
| 4328 | + "type": "number" |
| 4329 | + }, |
| 4330 | + "description": "Sets the projection’s three-axis rotation to the specified angles, which must be a two-\nor three-element array of numbers [`lambda`, `phi`, `gamma`] specifying the rotation\nangles in degrees about each spherical axis. (These correspond to yaw, pitch and roll.)\n\n__Default value:__ `[0, 0, 0]`" |
| 4331 | + }, |
| 4332 | + "spacing": { |
| 4333 | + "type": "number" |
| 4334 | + }, |
| 4335 | + "tilt": { |
| 4336 | + "type": "number" |
| 4337 | + }, |
| 4338 | + "type": { |
| 4339 | + "$ref": "#/definitions/VGProjectionType", |
| 4340 | + "description": "The cartographic projection to use. This value is case-insensitive, for example\n`\"albers\"` and `\"Albers\"` indicate the same projection type. You can find all valid\nprojection types [in the\ndocumentation](https://vega.github.io/vega-lite/docs/projection.html#projection-types).\n\n__Default value:__ `mercator`" |
| 4341 | + } |
| 4342 | + }, |
| 4343 | + "required": [], |
| 4344 | + "title": "Projection", |
| 4345 | + "description": "An object defining properties of geographic projection.\n\nWorks with `\"geoshape\"` marks and `\"point\"` or `\"line\"` marks that have a channel (one or more of `\"X\"`, `\"X2\"`, `\"Y\"`, `\"Y2\"`) with type `\"latitude\"`, or `\"longitude\"`." |
| 4346 | + }, |
| 4347 | + "FluffyPrecision": { |
| 4348 | + "type": "object", |
| 4349 | + "additionalProperties": { |
| 4350 | + "type": "string" |
| 4351 | + }, |
| 4352 | + "properties": { |
| 4353 | + "length": { |
| 4354 | + "type": "number", |
| 4355 | + "description": "Returns the length of a String object." |
| 4356 | + } |
| 4357 | + }, |
| 4358 | + "required": [ |
| 4359 | + "length" |
| 4360 | + ], |
| 4361 | + "title": "FluffyPrecision", |
| 4362 | + "description": "Sets the threshold for the projection’s [adaptive resampling](http://bl.ocks.org/mbostock/3795544) to the specified value in pixels. This value corresponds to the [Douglas–Peucker distance](http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm). If precision is not specified, returns the projection’s current resampling precision which defaults to `√0.5 ≅ 0.70710…`." |
| 4363 | + }, |
| 4364 | + "SingleSelection": { |
| 4365 | + "type": "object", |
| 4366 | + "additionalProperties": false, |
| 4367 | + "properties": { |
| 4368 | + "bind": { |
| 4369 | + "type": "object", |
| 4370 | + "additionalProperties": { |
| 4371 | + "$ref": "#/definitions/VGBinding" |
| 4372 | + }, |
| 4373 | + "description": "Establish a two-way binding between a single selection and input elements\n(also known as dynamic query widgets). A binding takes the form of\nVega's [input element binding definition](https://vega.github.io/vega/docs/signals/#bind)\nor can be a mapping between projected field/encodings and binding definitions.\n\nSee the [bind transform](bind.html) documentation for more information." |
| 4374 | + }, |
| 4375 | + "empty": { |
| 4376 | + "$ref": "#/definitions/Empty", |
| 4377 | + "description": "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values." |
| 3342 | 4378 | }, |
| 3343 | | - "titlePadding": { |
| 3344 | | - "type": "number", |
| 3345 | | - "description": "The padding, in pixels, between title and axis." |
| 4379 | + "encodings": { |
| 4380 | + "type": "array", |
| 4381 | + "items": { |
| 4382 | + "$ref": "#/definitions/SingleDefChannel" |
| 4383 | + }, |
| 4384 | + "description": "An array of encoding channels. The corresponding data field values\nmust match for a data tuple to fall within the selection." |
| 3346 | 4385 | }, |
| 3347 | | - "values": { |
| 4386 | + "fields": { |
| 3348 | 4387 | "type": "array", |
| 3349 | 4388 | "items": { |
| 3350 | | - "$ref": "#/definitions/AxisValue" |
| 4389 | + "type": "string" |
| 3351 | 4390 | }, |
| 3352 | | - "description": "Explicitly set the visible axis tick values." |
| 4391 | + "description": "An array of field names whose values must match for a data tuple to\nfall within the selection." |
| 3353 | 4392 | }, |
| 3354 | | - "zindex": { |
| 3355 | | - "type": "number", |
| 3356 | | - "minimum": 0, |
| 3357 | | - "description": "A non-positive integer indicating z-index of the axis.\nIf zindex is 0, axes should be drawn behind all chart elements.\nTo put them in front, use `\"zindex = 1\"`.\n\n__Default value:__ `1` (in front of the marks) for actual axis and `0` (behind the marks)\nfor grids." |
| 4393 | + "nearest": { |
| 4394 | + "type": "boolean", |
| 4395 | + "description": "When true, an invisible voronoi diagram is computed to accelerate discrete\nselection. The data value _nearest_ the mouse cursor is added to the selection.\n\nSee the [nearest transform](nearest.html) documentation for more information." |
| 4396 | + }, |
| 4397 | + "on": { |
| 4398 | + "description": "A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or\nselector) that triggers the selection.\nFor interval selections, the event stream must specify a [start and\nend](https://vega.github.io/vega/docs/event-streams/#between-filters)." |
| 4399 | + }, |
| 4400 | + "resolve": { |
| 4401 | + "$ref": "#/definitions/SelectionResolution", |
| 4402 | + "description": "With layered and multi-view displays, a strategy that determines how\nselections' data queries are resolved when applied in a filter transform,\nconditional encoding rule, or scale domain." |
| 4403 | + }, |
| 4404 | + "type": { |
| 4405 | + "$ref": "#/definitions/StickyType" |
| 3358 | 4406 | } |
| 3359 | 4407 | }, |
| 3360 | | - "required": [], |
| 3361 | | - "title": "Axis" |
| 4408 | + "required": [ |
| 4409 | + "type" |
| 4410 | + ], |
| 4411 | + "title": "SingleSelection" |
| 3362 | 4412 | }, |
| 3363 | | - "X2Class": { |
| 4413 | + "MultiSelection": { |
| 3364 | 4414 | "type": "object", |
| 3365 | 4415 | "additionalProperties": false, |
| 3366 | 4416 | "properties": { |
| 3367 | | - "aggregate": { |
| 3368 | | - "$ref": "#/definitions/AggregateOp", |
| 3369 | | - "description": "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" |
| 4417 | + "empty": { |
| 4418 | + "$ref": "#/definitions/Empty", |
| 4419 | + "description": "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values." |
| 3370 | 4420 | }, |
| 3371 | | - "bin": { |
| 3372 | | - "$ref": "#/definitions/Bin", |
| 3373 | | - "description": "A flag for binning a `quantitative` field, or [an object defining binning\nparameters](bin.html#params).\nIf `true`, default [binning parameters](bin.html) will be applied.\n\n__Default value:__ `false`" |
| 4421 | + "encodings": { |
| 4422 | + "type": "array", |
| 4423 | + "items": { |
| 4424 | + "$ref": "#/definitions/SingleDefChannel" |
| 4425 | + }, |
| 4426 | + "description": "An array of encoding channels. The corresponding data field values\nmust match for a data tuple to fall within the selection." |
| 3374 | 4427 | }, |
| 3375 | | - "field": { |
| 3376 | | - "$ref": "#/definitions/Field", |
| 3377 | | - "description": "__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects\n(e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape\ndots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`).\nSee more details about escaping in the [field documentation](field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`." |
| 4428 | + "fields": { |
| 4429 | + "type": "array", |
| 4430 | + "items": { |
| 4431 | + "type": "string" |
| 4432 | + }, |
| 4433 | + "description": "An array of field names whose values must match for a data tuple to\nfall within the selection." |
| 3378 | 4434 | }, |
| 3379 | | - "timeUnit": { |
| 3380 | | - "$ref": "#/definitions/TimeUnit", |
| 3381 | | - "description": "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](type.html#cast).\n\n__Default value:__ `undefined` (None)" |
| 4435 | + "nearest": { |
| 4436 | + "type": "boolean", |
| 4437 | + "description": "When true, an invisible voronoi diagram is computed to accelerate discrete\nselection. The data value _nearest_ the mouse cursor is added to the selection.\n\nSee the [nearest transform](nearest.html) documentation for more information." |
| 3382 | 4438 | }, |
| 3383 | | - "type": { |
| 3384 | | - "$ref": "#/definitions/Type", |
| 3385 | | - "description": "The encoded field's type of measurement (`\"quantitative\"`, `\"temporal\"`, `\"ordinal\"`, or\n`\"nominal\"`).\nIt can also be a geo type (`\"latitude\"`, `\"longitude\"`, and `\"geojson\"`) when a\n[geographic projection](projection.html) is applied." |
| 4439 | + "on": { |
| 4440 | + "description": "A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or\nselector) that triggers the selection.\nFor interval selections, the event stream must specify a [start and\nend](https://vega.github.io/vega/docs/event-streams/#between-filters)." |
| 3386 | 4441 | }, |
| 3387 | | - "value": { |
| 3388 | | - "$ref": "#/definitions/ConditionalValueDefValue", |
| 3389 | | - "description": "A constant value in visual domain (e.g., `\"red\"` / \"#0099ff\" for color, values between\n`0` to `1` for opacity)." |
| 3390 | | - } |
| 3391 | | - }, |
| 3392 | | - "required": [], |
| 3393 | | - "title": "X2Class", |
| 3394 | | - "description": "X2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`.\nY2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`.\nDefinition object for a data field, its type and transformation of an encoding channel.\nDefinition object for a constant value of an encoding channel." |
| 3395 | | - }, |
| 3396 | | - "FacetMapping": { |
| 3397 | | - "type": "object", |
| 3398 | | - "additionalProperties": false, |
| 3399 | | - "properties": { |
| 3400 | | - "column": { |
| 3401 | | - "$ref": "#/definitions/FacetFieldDef", |
| 3402 | | - "description": "Horizontal facets for trellis plots." |
| 4442 | + "resolve": { |
| 4443 | + "$ref": "#/definitions/SelectionResolution", |
| 4444 | + "description": "With layered and multi-view displays, a strategy that determines how\nselections' data queries are resolved when applied in a filter transform,\nconditional encoding rule, or scale domain." |
| 3403 | 4445 | }, |
| 3404 | | - "row": { |
| 3405 | | - "$ref": "#/definitions/FacetFieldDef", |
| 3406 | | - "description": "Vertical facets for trellis plots." |
| 4446 | + "toggle": { |
| 4447 | + "$ref": "#/definitions/Translate", |
| 4448 | + "description": "Controls whether data values should be toggled or only ever inserted into\nmulti selections. Can be `true`, `false` (for insertion only), or a\n[Vega expression](https://vega.github.io/vega/docs/expressions/).\n\n__Default value:__ `true`, which corresponds to `event.shiftKey` (i.e.,\ndata values are toggled when a user interacts with the shift-key pressed).\n\nSee the [toggle transform](toggle.html) documentation for more information." |
| 4449 | + }, |
| 4450 | + "type": { |
| 4451 | + "$ref": "#/definitions/IndigoType" |
| 3407 | 4452 | } |
| 3408 | 4453 | }, |
| 3409 | | - "required": [], |
| 3410 | | - "title": "FacetMapping", |
| 3411 | | - "description": "An object that describes mappings between `row` and `column` channels and their field definitions." |
| 4454 | + "required": [ |
| 4455 | + "type" |
| 4456 | + ], |
| 4457 | + "title": "MultiSelection" |
| 3412 | 4458 | }, |
| 3413 | | - "Spec": { |
| 4459 | + "IntervalSelection": { |
| 3414 | 4460 | "type": "object", |
| 3415 | 4461 | "additionalProperties": false, |
| 3416 | 4462 | "properties": { |
| 3417 | | - "data": { |
| 3418 | | - "$ref": "#/definitions/Data", |
| 3419 | | - "description": "An object describing the data source" |
| 4463 | + "bind": { |
| 4464 | + "$ref": "#/definitions/Bind", |
| 4465 | + "description": "Establishes a two-way binding between the interval selection and the scales\nused within the same view. This allows a user to interactively pan and\nzoom the view." |
| 3420 | 4466 | }, |
| 3421 | | - "description": { |
| 3422 | | - "type": "string", |
| 3423 | | - "description": "Description of this mark for commenting purpose." |
| 4467 | + "empty": { |
| 4468 | + "$ref": "#/definitions/Empty", |
| 4469 | + "description": "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values." |
| 3424 | 4470 | }, |
| 3425 | | - "height": { |
| 3426 | | - "type": "number", |
| 3427 | | - "description": "The height of a visualization.\n\n__Default value:__\n- If a view's [`autosize`](size.html#autosize) type is `\"fit\"` or its y-channel has a\n[continuous scale](scale.html#continuous), the height will be the value of\n[`config.view.height`](spec.html#config).\n- For y-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric\nvalue or unspecified, the height is [determined by the range step, paddings, and the\ncardinality of the field mapped to y-channel](scale.html#band). Otherwise, if the\n`rangeStep` is `null`, the height will be the value of\n[`config.view.height`](spec.html#config).\n- If no field is mapped to `y` channel, the `height` will be the value of `rangeStep`.\n\n__Note__: For plots with [`row` and `column` channels](encoding.html#facet), this\nrepresents the height of a single view.\n\n__See also:__ The documentation for [width and height](size.html) contains more examples." |
| 4471 | + "encodings": { |
| 4472 | + "type": "array", |
| 4473 | + "items": { |
| 4474 | + "$ref": "#/definitions/SingleDefChannel" |
| 4475 | + }, |
| 4476 | + "description": "An array of encoding channels. The corresponding data field values\nmust match for a data tuple to fall within the selection." |
| 3428 | 4477 | }, |
| 3429 | | - "layer": { |
| 4478 | + "fields": { |
| 3430 | 4479 | "type": "array", |
| 3431 | 4480 | "items": { |
| 3432 | | - "$ref": "#/definitions/LayerSpec" |
| 4481 | + "type": "string" |
| 3433 | 4482 | }, |
| 3434 | | - "description": "Layer or single view specifications to be layered.\n\n__Note__: Specifications inside `layer` cannot use `row` and `column` channels as\nlayering facet specifications is not allowed." |
| 4483 | + "description": "An array of field names whose values must match for a data tuple to\nfall within the selection." |
| 3435 | 4484 | }, |
| 3436 | | - "name": { |
| 3437 | | - "type": "string", |
| 3438 | | - "description": "Name of the visualization for later reference." |
| 4485 | + "mark": { |
| 4486 | + "$ref": "#/definitions/BrushConfig", |
| 4487 | + "description": "An interval selection also adds a rectangle mark to depict the\nextents of the interval. The `mark` property can be used to customize the\nappearance of the mark." |
| 3439 | 4488 | }, |
| 3440 | | - "resolve": { |
| 3441 | | - "$ref": "#/definitions/Resolve", |
| 3442 | | - "description": "Scale, axis, and legend resolutions for layers.\n\nScale, axis, and legend resolutions for facets.\n\nScale and legend resolutions for repeated charts.\n\nScale, axis, and legend resolutions for vertically concatenated charts.\n\nScale, axis, and legend resolutions for horizontally concatenated charts." |
| 4489 | + "on": { |
| 4490 | + "description": "A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or\nselector) that triggers the selection.\nFor interval selections, the event stream must specify a [start and\nend](https://vega.github.io/vega/docs/event-streams/#between-filters)." |
| 3443 | 4491 | }, |
| 3444 | | - "title": { |
| 3445 | | - "$ref": "#/definitions/Title", |
| 3446 | | - "description": "Title for the plot." |
| 4492 | + "resolve": { |
| 4493 | + "$ref": "#/definitions/SelectionResolution", |
| 4494 | + "description": "With layered and multi-view displays, a strategy that determines how\nselections' data queries are resolved when applied in a filter transform,\nconditional encoding rule, or scale domain." |
| 3447 | 4495 | }, |
| 3448 | | - "transform": { |
| 3449 | | - "type": "array", |
| 3450 | | - "items": { |
| 3451 | | - "$ref": "#/definitions/Transform" |
| 3452 | | - }, |
| 3453 | | - "description": "An array of data transformations such as filter and new field calculation." |
| 4496 | + "translate": { |
| 4497 | + "$ref": "#/definitions/Translate", |
| 4498 | + "description": "When truthy, allows a user to interactively move an interval selection\nback-and-forth. Can be `true`, `false` (to disable panning), or a\n[Vega event stream definition](https://vega.github.io/vega/docs/event-streams/)\nwhich must include a start and end event to trigger continuous panning.\n\n__Default value:__ `true`, which corresponds to\n`[mousedown, window:mouseup] > window:mousemove!` which corresponds to\nclicks and dragging within an interval selection to reposition it." |
| 3454 | 4499 | }, |
| 3455 | | - "width": { |
| 3456 | | - "type": "number", |
| 3457 | | - "description": "The width of a visualization.\n\n__Default value:__ This will be determined by the following rules:\n\n- If a view's [`autosize`](size.html#autosize) type is `\"fit\"` or its x-channel has a\n[continuous scale](scale.html#continuous), the width will be the value of\n[`config.view.width`](spec.html#config).\n- For x-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric\nvalue or unspecified, the width is [determined by the range step, paddings, and the\ncardinality of the field mapped to x-channel](scale.html#band). Otherwise, if the\n`rangeStep` is `null`, the width will be the value of\n[`config.view.width`](spec.html#config).\n- If no field is mapped to `x` channel, the `width` will be the value of\n[`config.scale.textXRangeStep`](size.html#default-width-and-height) for `text` mark and\nthe value of `rangeStep` for other marks.\n\n__Note:__ For plots with [`row` and `column` channels](encoding.html#facet), this\nrepresents the width of a single view.\n\n__See also:__ The documentation for [width and height](size.html) contains more examples." |
| 4500 | + "type": { |
| 4501 | + "$ref": "#/definitions/IndecentType" |
| 3458 | 4502 | }, |
| 3459 | | - "encoding": { |
| 3460 | | - "$ref": "#/definitions/Encoding", |
| 3461 | | - "description": "A key-value mapping between encoding channels and definition of fields." |
| 4503 | + "zoom": { |
| 4504 | + "$ref": "#/definitions/Translate", |
| 4505 | + "description": "When truthy, allows a user to interactively resize an interval selection.\nCan be `true`, `false` (to disable zooming), or a [Vega event stream\ndefinition](https://vega.github.io/vega/docs/event-streams/). Currently,\nonly `wheel` events are supported.\n\n\n__Default value:__ `true`, which corresponds to `wheel!`." |
| 4506 | + } |
| 4507 | + }, |
| 4508 | + "required": [ |
| 4509 | + "type" |
| 4510 | + ], |
| 4511 | + "title": "IntervalSelection" |
| 4512 | + }, |
| 4513 | + "TitleParams": { |
| 4514 | + "type": "object", |
| 4515 | + "additionalProperties": false, |
| 4516 | + "properties": { |
| 4517 | + "anchor": { |
| 4518 | + "$ref": "#/definitions/Anchor", |
| 4519 | + "description": "The anchor position for placing the title. One of `\"start\"`, `\"middle\"`, or `\"end\"`. For\nexample, with an orientation of top these anchor positions map to a left-, center-, or\nright-aligned title.\n\n__Default value:__ `\"middle\"` for [single](spec.html) and [layered](layer.html) views.\n`\"start\"` for other composite views.\n\n__Note:__ [For now](https://github.com/vega/vega-lite/issues/2875), `anchor` is only\ncustomizable only for [single](spec.html) and [layered](layer.html) views. For other\ncomposite views, `anchor` is always `\"start\"`." |
| 3462 | 4520 | }, |
| 3463 | | - "mark": { |
| 3464 | | - "$ref": "#/definitions/AnyMark", |
| 3465 | | - "description": "A string describing the mark type (one of `\"bar\"`, `\"circle\"`, `\"square\"`, `\"tick\"`,\n`\"line\"`,\n* `\"area\"`, `\"point\"`, `\"rule\"`, `\"geoshape\"`, and `\"text\"`) or a [mark definition\nobject](mark.html#mark-def)." |
| 4521 | + "offset": { |
| 4522 | + "type": "number", |
| 4523 | + "description": "The orthogonal offset in pixels by which to displace the title from its position along\nthe edge of the chart." |
| 3466 | 4524 | }, |
| 3467 | | - "projection": { |
| 3468 | | - "$ref": "#/definitions/Projection", |
| 3469 | | - "description": "An object defining properties of geographic projection.\n\nWorks with `\"geoshape\"` marks and `\"point\"` or `\"line\"` marks that have a channel (one or\nmore of `\"X\"`, `\"X2\"`, `\"Y\"`, `\"Y2\"`) with type `\"latitude\"`, or `\"longitude\"`." |
| 4525 | + "orient": { |
| 4526 | + "$ref": "#/definitions/TitleOrient", |
| 4527 | + "description": "The orientation of the title relative to the chart. One of `\"top\"` (the default),\n`\"bottom\"`, `\"left\"`, or `\"right\"`." |
| 3470 | 4528 | }, |
| 3471 | | - "selection": { |
| 3472 | | - "type": "object", |
| 3473 | | - "additionalProperties": { |
| 3474 | | - "$ref": "#/definitions/SelectionDef" |
| 3475 | | - }, |
| 3476 | | - "description": "A key-value mapping between selection names and definitions." |
| 4529 | + "style": { |
| 4530 | + "$ref": "#/definitions/Style", |
| 4531 | + "description": "A [mark style property](config.html#style) to apply to the title text mark.\n\n__Default value:__ `\"group-title\"`." |
| 3477 | 4532 | }, |
| 3478 | | - "facet": { |
| 3479 | | - "$ref": "#/definitions/FacetMapping", |
| 3480 | | - "description": "An object that describes mappings between `row` and `column` channels and their field\ndefinitions." |
| 4533 | + "text": { |
| 4534 | + "type": "string", |
| 4535 | + "description": "The title text." |
| 4536 | + } |
| 4537 | + }, |
| 4538 | + "required": [ |
| 4539 | + "text" |
| 4540 | + ], |
| 4541 | + "title": "TitleParams" |
| 4542 | + }, |
| 4543 | + "FilterTransform": { |
| 4544 | + "type": "object", |
| 4545 | + "additionalProperties": false, |
| 4546 | + "properties": { |
| 4547 | + "filter": { |
| 4548 | + "$ref": "#/definitions/LogicalOperandPredicate", |
| 4549 | + "description": "The `filter` property must be one of the predicate definitions:\n(1) an [expression](types.html#expression) string,\nwhere `datum` can be used to refer to the current data object;\n(2) one of the field predicates: [equal predicate](filter.html#equal-predicate);\n[range predicate](filter.html#range-predicate), [one-of\npredicate](filter.html#one-of-predicate);\n(3) a [selection predicate](filter.html#selection-predicate);\nor (4) a logical operand that combines (1), (2), or (3)." |
| 4550 | + } |
| 4551 | + }, |
| 4552 | + "required": [ |
| 4553 | + "filter" |
| 4554 | + ], |
| 4555 | + "title": "FilterTransform" |
| 4556 | + }, |
| 4557 | + "CalculateTransform": { |
| 4558 | + "type": "object", |
| 4559 | + "additionalProperties": false, |
| 4560 | + "properties": { |
| 4561 | + "as": { |
| 4562 | + "type": "string", |
| 4563 | + "description": "The field for storing the computed formula value." |
| 3481 | 4564 | }, |
| 3482 | | - "spec": { |
| 3483 | | - "$ref": "#/definitions/Spec", |
| 3484 | | - "description": "A specification of the view that gets faceted." |
| 4565 | + "calculate": { |
| 4566 | + "type": "string", |
| 4567 | + "description": "A [expression](types.html#expression) string. Use the variable `datum` to refer to the\ncurrent data object." |
| 4568 | + } |
| 4569 | + }, |
| 4570 | + "required": [ |
| 4571 | + "as", |
| 4572 | + "calculate" |
| 4573 | + ], |
| 4574 | + "title": "CalculateTransform" |
| 4575 | + }, |
| 4576 | + "LookupTransform": { |
| 4577 | + "type": "object", |
| 4578 | + "additionalProperties": false, |
| 4579 | + "properties": { |
| 4580 | + "as": { |
| 4581 | + "$ref": "#/definitions/Style", |
| 4582 | + "description": "The field or fields for storing the computed formula value.\nIf `from.fields` is specified, the transform will use the same names for `as`.\nIf `from.fields` is not specified, `as` has to be a string and we put the whole object\ninto the data under the specified name." |
| 3485 | 4583 | }, |
| 3486 | | - "repeat": { |
| 3487 | | - "$ref": "#/definitions/Repeat", |
| 3488 | | - "description": "An object that describes what fields should be repeated into views that are laid out as a\n`row` or `column`." |
| 4584 | + "default": { |
| 4585 | + "type": "string", |
| 4586 | + "description": "The default value to use if lookup fails.\n\n__Default value:__ `null`" |
| 3489 | 4587 | }, |
| 3490 | | - "vconcat": { |
| 3491 | | - "type": "array", |
| 3492 | | - "items": { |
| 3493 | | - "$ref": "#/definitions/Spec" |
| 3494 | | - }, |
| 3495 | | - "description": "A list of views that should be concatenated and put into a column." |
| 4588 | + "from": { |
| 4589 | + "$ref": "#/definitions/LookupData", |
| 4590 | + "description": "Secondary data reference." |
| 3496 | 4591 | }, |
| 3497 | | - "hconcat": { |
| 3498 | | - "type": "array", |
| 3499 | | - "items": { |
| 3500 | | - "$ref": "#/definitions/Spec" |
| 3501 | | - }, |
| 3502 | | - "description": "A list of views that should be concatenated and put into a row." |
| 4592 | + "lookup": { |
| 4593 | + "type": "string", |
| 4594 | + "description": "Key in primary data source." |
| 3503 | 4595 | } |
| 3504 | 4596 | }, |
| 3505 | | - "required": [], |
| 3506 | | - "title": "Spec", |
| 3507 | | - "description": "Unit spec that can have a composite mark." |
| 4597 | + "required": [ |
| 4598 | + "from", |
| 4599 | + "lookup" |
| 4600 | + ], |
| 4601 | + "title": "LookupTransform" |
| 3508 | 4602 | }, |
| 3509 | | - "Encoding": { |
| 4603 | + "BinTransform": { |
| 3510 | 4604 | "type": "object", |
| 3511 | 4605 | "additionalProperties": false, |
| 3512 | 4606 | "properties": { |
| 3513 | | - "color": { |
| 3514 | | - "$ref": "#/definitions/MarkPropDefWithCondition", |
| 3515 | | - "description": "Color of the marks – either fill or stroke color based on mark type.\nBy default, `color` represents fill color for `\"area\"`, `\"bar\"`, `\"tick\"`,\n`\"text\"`, `\"circle\"`, and `\"square\"` / stroke color for `\"line\"` and `\"point\"`.\n\n__Default value:__ If undefined, the default color depends on [mark\nconfig](config.html#mark)'s `color` property.\n\n_Note:_ See the scale documentation for more information about customizing [color\nscheme](scale.html#scheme)." |
| 3516 | | - }, |
| 3517 | | - "detail": { |
| 3518 | | - "$ref": "#/definitions/Detail", |
| 3519 | | - "description": "Additional levels of detail for grouping data in aggregate views and\nin line and area marks without mapping data to a specific visual channel." |
| 3520 | | - }, |
| 3521 | | - "href": { |
| 3522 | | - "$ref": "#/definitions/DefWithCondition", |
| 3523 | | - "description": "A URL to load upon mouse click." |
| 3524 | | - }, |
| 3525 | | - "opacity": { |
| 3526 | | - "$ref": "#/definitions/MarkPropDefWithCondition", |
| 3527 | | - "description": "Opacity of the marks – either can be a value or a range.\n\n__Default value:__ If undefined, the default opacity depends on [mark\nconfig](config.html#mark)'s `opacity` property." |
| 3528 | | - }, |
| 3529 | | - "order": { |
| 3530 | | - "$ref": "#/definitions/Order", |
| 3531 | | - "description": "Stack order for stacked marks or order of data points in line marks for connected scatter\nplots.\n\n__Note__: In aggregate plots, `order` field should be `aggregate`d to avoid creating\nadditional aggregation grouping." |
| 3532 | | - }, |
| 3533 | | - "shape": { |
| 3534 | | - "$ref": "#/definitions/MarkPropDefWithCondition", |
| 3535 | | - "description": "For `point` marks the supported values are\n`\"circle\"` (default), `\"square\"`, `\"cross\"`, `\"diamond\"`, `\"triangle-up\"`,\nor `\"triangle-down\"`, or else a custom SVG path string.\nFor `geoshape` marks it should be a field definition of the geojson data\n\n__Default value:__ If undefined, the default shape depends on [mark\nconfig](config.html#point-config)'s `shape` property." |
| 3536 | | - }, |
| 3537 | | - "size": { |
| 3538 | | - "$ref": "#/definitions/MarkPropDefWithCondition", |
| 3539 | | - "description": "Size of the mark.\n- For `\"point\"`, `\"square\"` and `\"circle\"`, – the symbol size, or pixel area of the mark.\n- For `\"bar\"` and `\"tick\"` – the bar and tick's size.\n- For `\"text\"` – the text's font size.\n- Size is currently unsupported for `\"line\"`, `\"area\"`, and `\"rect\"`." |
| 3540 | | - }, |
| 3541 | | - "text": { |
| 3542 | | - "$ref": "#/definitions/TextDefWithCondition", |
| 3543 | | - "description": "Text of the `text` mark." |
| 3544 | | - }, |
| 3545 | | - "tooltip": { |
| 3546 | | - "$ref": "#/definitions/TextDefWithCondition", |
| 3547 | | - "description": "The tooltip text to show upon mouse hover." |
| 3548 | | - }, |
| 3549 | | - "x": { |
| 3550 | | - "$ref": "#/definitions/XClass", |
| 3551 | | - "description": "X coordinates of the marks, or width of horizontal `\"bar\"` and `\"area\"`." |
| 3552 | | - }, |
| 3553 | | - "x2": { |
| 3554 | | - "$ref": "#/definitions/X2Class", |
| 3555 | | - "description": "X2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`." |
| 4607 | + "as": { |
| 4608 | + "type": "string", |
| 4609 | + "description": "The output fields at which to write the start and end bin values." |
| 3556 | 4610 | }, |
| 3557 | | - "y": { |
| 3558 | | - "$ref": "#/definitions/XClass", |
| 3559 | | - "description": "Y coordinates of the marks, or height of vertical `\"bar\"` and `\"area\"`." |
| 4611 | + "bin": { |
| 4612 | + "$ref": "#/definitions/Bin", |
| 4613 | + "description": "An object indicating bin properties, or simply `true` for using default bin parameters." |
| 3560 | 4614 | }, |
| 3561 | | - "y2": { |
| 3562 | | - "$ref": "#/definitions/X2Class", |
| 3563 | | - "description": "Y2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`." |
| 4615 | + "field": { |
| 4616 | + "type": "string", |
| 4617 | + "description": "The data field to bin." |
| 3564 | 4618 | } |
| 3565 | 4619 | }, |
| 3566 | | - "required": [], |
| 3567 | | - "title": "Encoding", |
| 3568 | | - "description": "A key-value mapping between encoding channels and definition of fields." |
| 4620 | + "required": [ |
| 4621 | + "as", |
| 4622 | + "bin", |
| 4623 | + "field" |
| 4624 | + ], |
| 4625 | + "title": "BinTransform" |
| 3569 | 4626 | }, |
| 3570 | | - "LayerSpec": { |
| 4627 | + "TimeUnitTransform": { |
| 3571 | 4628 | "type": "object", |
| 3572 | 4629 | "additionalProperties": false, |
| 3573 | 4630 | "properties": { |
| 3574 | | - "data": { |
| 3575 | | - "$ref": "#/definitions/Data", |
| 3576 | | - "description": "An object describing the data source" |
| 3577 | | - }, |
| 3578 | | - "description": { |
| 4631 | + "as": { |
| 3579 | 4632 | "type": "string", |
| 3580 | | - "description": "Description of this mark for commenting purpose." |
| 4633 | + "description": "The output field to write the timeUnit value." |
| 3581 | 4634 | }, |
| 3582 | | - "height": { |
| 3583 | | - "type": "number", |
| 3584 | | - "description": "The height of a visualization.\n\n__Default value:__\n- If a view's [`autosize`](size.html#autosize) type is `\"fit\"` or its y-channel has a\n[continuous scale](scale.html#continuous), the height will be the value of\n[`config.view.height`](spec.html#config).\n- For y-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric\nvalue or unspecified, the height is [determined by the range step, paddings, and the\ncardinality of the field mapped to y-channel](scale.html#band). Otherwise, if the\n`rangeStep` is `null`, the height will be the value of\n[`config.view.height`](spec.html#config).\n- If no field is mapped to `y` channel, the `height` will be the value of `rangeStep`.\n\n__Note__: For plots with [`row` and `column` channels](encoding.html#facet), this\nrepresents the height of a single view.\n\n__See also:__ The documentation for [width and height](size.html) contains more examples." |
| 4635 | + "field": { |
| 4636 | + "type": "string", |
| 4637 | + "description": "The data field to apply time unit." |
| 3585 | 4638 | }, |
| 3586 | | - "layer": { |
| 4639 | + "timeUnit": { |
| 4640 | + "$ref": "#/definitions/TimeUnit", |
| 4641 | + "description": "The timeUnit." |
| 4642 | + } |
| 4643 | + }, |
| 4644 | + "required": [ |
| 4645 | + "as", |
| 4646 | + "field", |
| 4647 | + "timeUnit" |
| 4648 | + ], |
| 4649 | + "title": "TimeUnitTransform" |
| 4650 | + }, |
| 4651 | + "AggregateTransform": { |
| 4652 | + "type": "object", |
| 4653 | + "additionalProperties": false, |
| 4654 | + "properties": { |
| 4655 | + "aggregate": { |
| 3587 | 4656 | "type": "array", |
| 3588 | 4657 | "items": { |
| 3589 | | - "$ref": "#/definitions/LayerSpec" |
| 4658 | + "$ref": "#/definitions/AggregatedFieldDef" |
| 3590 | 4659 | }, |
| 3591 | | - "description": "Layer or single view specifications to be layered.\n\n__Note__: Specifications inside `layer` cannot use `row` and `column` channels as\nlayering facet specifications is not allowed." |
| 3592 | | - }, |
| 3593 | | - "name": { |
| 3594 | | - "type": "string", |
| 3595 | | - "description": "Name of the visualization for later reference." |
| 3596 | | - }, |
| 3597 | | - "resolve": { |
| 3598 | | - "$ref": "#/definitions/Resolve", |
| 3599 | | - "description": "Scale, axis, and legend resolutions for layers." |
| 3600 | | - }, |
| 3601 | | - "title": { |
| 3602 | | - "$ref": "#/definitions/Title", |
| 3603 | | - "description": "Title for the plot." |
| 4660 | + "description": "Array of objects that define fields to aggregate." |
| 3604 | 4661 | }, |
| 3605 | | - "transform": { |
| 4662 | + "groupby": { |
| 3606 | 4663 | "type": "array", |
| 3607 | 4664 | "items": { |
| 3608 | | - "$ref": "#/definitions/Transform" |
| 3609 | | - }, |
| 3610 | | - "description": "An array of data transformations such as filter and new field calculation." |
| 3611 | | - }, |
| 3612 | | - "width": { |
| 3613 | | - "type": "number", |
| 3614 | | - "description": "The width of a visualization.\n\n__Default value:__ This will be determined by the following rules:\n\n- If a view's [`autosize`](size.html#autosize) type is `\"fit\"` or its x-channel has a\n[continuous scale](scale.html#continuous), the width will be the value of\n[`config.view.width`](spec.html#config).\n- For x-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric\nvalue or unspecified, the width is [determined by the range step, paddings, and the\ncardinality of the field mapped to x-channel](scale.html#band). Otherwise, if the\n`rangeStep` is `null`, the width will be the value of\n[`config.view.width`](spec.html#config).\n- If no field is mapped to `x` channel, the `width` will be the value of\n[`config.scale.textXRangeStep`](size.html#default-width-and-height) for `text` mark and\nthe value of `rangeStep` for other marks.\n\n__Note:__ For plots with [`row` and `column` channels](encoding.html#facet), this\nrepresents the width of a single view.\n\n__See also:__ The documentation for [width and height](size.html) contains more examples." |
| 3615 | | - }, |
| 3616 | | - "encoding": { |
| 3617 | | - "$ref": "#/definitions/Encoding", |
| 3618 | | - "description": "A key-value mapping between encoding channels and definition of fields." |
| 3619 | | - }, |
| 3620 | | - "mark": { |
| 3621 | | - "$ref": "#/definitions/AnyMark", |
| 3622 | | - "description": "A string describing the mark type (one of `\"bar\"`, `\"circle\"`, `\"square\"`, `\"tick\"`,\n`\"line\"`,\n* `\"area\"`, `\"point\"`, `\"rule\"`, `\"geoshape\"`, and `\"text\"`) or a [mark definition\nobject](mark.html#mark-def)." |
| 3623 | | - }, |
| 3624 | | - "projection": { |
| 3625 | | - "$ref": "#/definitions/Projection", |
| 3626 | | - "description": "An object defining properties of geographic projection.\n\nWorks with `\"geoshape\"` marks and `\"point\"` or `\"line\"` marks that have a channel (one or\nmore of `\"X\"`, `\"X2\"`, `\"Y\"`, `\"Y2\"`) with type `\"latitude\"`, or `\"longitude\"`." |
| 3627 | | - }, |
| 3628 | | - "selection": { |
| 3629 | | - "type": "object", |
| 3630 | | - "additionalProperties": { |
| 3631 | | - "$ref": "#/definitions/SelectionDef" |
| 4665 | + "type": "string" |
| 3632 | 4666 | }, |
| 3633 | | - "description": "A key-value mapping between selection names and definitions." |
| 4667 | + "description": "The data fields to group by. If not specified, a single group containing all data objects\nwill be used." |
| 3634 | 4668 | } |
| 3635 | 4669 | }, |
| 3636 | | - "required": [], |
| 3637 | | - "title": "LayerSpec", |
| 3638 | | - "description": "Unit spec that can have a composite mark." |
| 4670 | + "required": [ |
| 4671 | + "aggregate" |
| 4672 | + ], |
| 4673 | + "title": "AggregateTransform" |
| 3639 | 4674 | }, |
| 3640 | | - "MarkDef": { |
| 4675 | + "LookupData": { |
| 3641 | 4676 | "type": "object", |
| 3642 | 4677 | "additionalProperties": false, |
| 3643 | 4678 | "properties": { |
| 3644 | | - "align": { |
| 3645 | | - "$ref": "#/definitions/HorizontalAlign", |
| 3646 | | - "description": "The horizontal alignment of the text. One of `\"left\"`, `\"right\"`, `\"center\"`." |
| 3647 | | - }, |
| 3648 | | - "angle": { |
| 3649 | | - "type": "number", |
| 3650 | | - "minimum": 0, |
| 3651 | | - "maximum": 360, |
| 3652 | | - "description": "The rotation angle of the text, in degrees." |
| 3653 | | - }, |
| 3654 | | - "baseline": { |
| 3655 | | - "$ref": "#/definitions/VerticalAlign", |
| 3656 | | - "description": "The vertical alignment of the text. One of `\"top\"`, `\"middle\"`, `\"bottom\"`.\n\n__Default value:__ `\"middle\"`" |
| 3657 | | - }, |
| 3658 | | - "clip": { |
| 3659 | | - "type": "boolean", |
| 3660 | | - "description": "Whether a mark be clipped to the enclosing group’s width and height." |
| 3661 | | - }, |
| 3662 | | - "color": { |
| 3663 | | - "type": "string", |
| 3664 | | - "description": "Default color. Note that `fill` and `stroke` have higher precedence than `color` and\nwill override `color`.\n\n__Default value:__ <span style=\"color: #4682b4;\">■</span> `\"#4682b4\"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 3665 | | - }, |
| 3666 | | - "cursor": { |
| 3667 | | - "$ref": "#/definitions/Cursor", |
| 3668 | | - "description": "The mouse cursor used over the mark. Any valid [CSS cursor\ntype](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used." |
| 3669 | | - }, |
| 3670 | | - "dx": { |
| 3671 | | - "type": "number", |
| 3672 | | - "description": "The horizontal offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 4679 | + "data": { |
| 4680 | + "$ref": "#/definitions/Data", |
| 4681 | + "description": "Secondary data source to lookup in." |
| 3673 | 4682 | }, |
| 3674 | | - "dy": { |
| 3675 | | - "type": "number", |
| 3676 | | - "description": "The vertical offset, in pixels, between the text label and its anchor point. The offset\nis applied after rotation by the _angle_ property." |
| 4683 | + "fields": { |
| 4684 | + "type": "array", |
| 4685 | + "items": { |
| 4686 | + "type": "string" |
| 4687 | + }, |
| 4688 | + "description": "Fields in foreign data to lookup.\nIf not specified, the entire object is queried." |
| 3677 | 4689 | }, |
| 3678 | | - "fill": { |
| 4690 | + "key": { |
| 3679 | 4691 | "type": "string", |
| 3680 | | - "description": "Default Fill Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 3681 | | - }, |
| 3682 | | - "filled": { |
| 3683 | | - "type": "boolean", |
| 3684 | | - "description": "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config)." |
| 3685 | | - }, |
| 3686 | | - "fillOpacity": { |
| 3687 | | - "type": "number", |
| 3688 | | - "minimum": 0, |
| 3689 | | - "maximum": 1, |
| 3690 | | - "description": "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 3691 | | - }, |
| 3692 | | - "font": { |
| 4692 | + "description": "Key in data to lookup." |
| 4693 | + } |
| 4694 | + }, |
| 4695 | + "required": [ |
| 4696 | + "data", |
| 4697 | + "key" |
| 4698 | + ], |
| 4699 | + "title": "LookupData", |
| 4700 | + "description": "Secondary data reference." |
| 4701 | + }, |
| 4702 | + "AggregatedFieldDef": { |
| 4703 | + "type": "object", |
| 4704 | + "additionalProperties": false, |
| 4705 | + "properties": { |
| 4706 | + "as": { |
| 3693 | 4707 | "type": "string", |
| 3694 | | - "description": "The typeface to set the text in (e.g., `\"Helvetica Neue\"`)." |
| 3695 | | - }, |
| 3696 | | - "fontSize": { |
| 3697 | | - "type": "number", |
| 3698 | | - "minimum": 0, |
| 3699 | | - "description": "The font size, in pixels." |
| 3700 | | - }, |
| 3701 | | - "fontStyle": { |
| 3702 | | - "$ref": "#/definitions/FontStyle", |
| 3703 | | - "description": "The font style (e.g., `\"italic\"`)." |
| 3704 | | - }, |
| 3705 | | - "fontWeight": { |
| 3706 | | - "$ref": "#/definitions/FontWeightUnion", |
| 3707 | | - "description": "The font weight (e.g., `\"bold\"`)." |
| 4708 | + "description": "The output field names to use for each aggregated field." |
| 3708 | 4709 | }, |
| 3709 | | - "href": { |
| 4710 | + "field": { |
| 3710 | 4711 | "type": "string", |
| 3711 | | - "description": "A URL to load upon mouse click. If defined, the mark acts as a hyperlink." |
| 3712 | | - }, |
| 3713 | | - "interpolate": { |
| 3714 | | - "$ref": "#/definitions/Interpolate", |
| 3715 | | - "description": "The line interpolation method to use for line and area marks. One of the following:\n- `\"linear\"`: piecewise linear segments, as in a polyline.\n- `\"linear-closed\"`: close the linear segments to form a polygon.\n- `\"step\"`: alternate between horizontal and vertical segments, as in a step function.\n- `\"step-before\"`: alternate between vertical and horizontal segments, as in a step\nfunction.\n- `\"step-after\"`: alternate between horizontal and vertical segments, as in a step\nfunction.\n- `\"basis\"`: a B-spline, with control point duplication on the ends.\n- `\"basis-open\"`: an open B-spline; may not intersect the start or end.\n- `\"basis-closed\"`: a closed B-spline, as in a loop.\n- `\"cardinal\"`: a Cardinal spline, with control point duplication on the ends.\n- `\"cardinal-open\"`: an open Cardinal spline; may not intersect the start or end, but\nwill intersect other control points.\n- `\"cardinal-closed\"`: a closed Cardinal spline, as in a loop.\n- `\"bundle\"`: equivalent to basis, except the tension parameter is used to straighten the\nspline.\n- `\"monotone\"`: cubic interpolation that preserves monotonicity in y." |
| 3716 | | - }, |
| 3717 | | - "limit": { |
| 3718 | | - "type": "number", |
| 3719 | | - "description": "The maximum length of the text mark in pixels (default 0, indicating no limit). The text\nvalue will be automatically truncated if the rendered size exceeds the limit." |
| 3720 | | - }, |
| 3721 | | - "opacity": { |
| 3722 | | - "type": "number", |
| 3723 | | - "minimum": 0, |
| 3724 | | - "maximum": 1, |
| 3725 | | - "description": "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or\n`square` marks or layered `bar` charts and `1` otherwise." |
| 3726 | | - }, |
| 3727 | | - "orient": { |
| 3728 | | - "$ref": "#/definitions/Orient", |
| 3729 | | - "description": "The orientation of a non-stacked bar, tick, area, and line charts.\nThe value is either horizontal (default) or vertical.\n- For bar, rule and tick, this determines whether the size of the bar and tick\nshould be applied to x or y dimension.\n- For area, this property determines the orient property of the Vega output.\n- For line, this property determines the sort order of the points in the line\nif `config.sortLineBy` is not specified.\nFor stacked charts, this is always determined by the orientation of the stack;\ntherefore explicitly specified value will be ignored." |
| 4712 | + "description": "The data field for which to compute aggregate function." |
| 3730 | 4713 | }, |
| 3731 | | - "radius": { |
| 3732 | | - "type": "number", |
| 3733 | | - "minimum": 0, |
| 3734 | | - "description": "Polar coordinate radial offset, in pixels, of the text label from the origin determined\nby the `x` and `y` properties." |
| 4714 | + "op": { |
| 4715 | + "$ref": "#/definitions/AggregateOp", |
| 4716 | + "description": "The aggregation operations to apply to the fields, such as sum, average or count.\nSee the [full list of supported aggregation\noperations](https://vega.github.io/vega-lite/docs/aggregate.html#ops)\nfor more information." |
| 4717 | + } |
| 4718 | + }, |
| 4719 | + "required": [ |
| 4720 | + "as", |
| 4721 | + "field", |
| 4722 | + "op" |
| 4723 | + ], |
| 4724 | + "title": "AggregatedFieldDef" |
| 4725 | + }, |
| 4726 | + "LayerSpec": { |
| 4727 | + "type": "object", |
| 4728 | + "additionalProperties": false, |
| 4729 | + "properties": { |
| 4730 | + "data": { |
| 4731 | + "$ref": "#/definitions/Data", |
| 4732 | + "description": "An object describing the data source" |
| 3735 | 4733 | }, |
| 3736 | | - "shape": { |
| 4734 | + "description": { |
| 3737 | 4735 | "type": "string", |
| 3738 | | - "description": "The default symbol shape to use. One of: `\"circle\"` (default), `\"square\"`, `\"cross\"`,\n`\"diamond\"`, `\"triangle-up\"`, or `\"triangle-down\"`, or a custom SVG path.\n\n__Default value:__ `\"circle\"`" |
| 4736 | + "description": "Description of this mark for commenting purpose." |
| 3739 | 4737 | }, |
| 3740 | | - "size": { |
| 4738 | + "height": { |
| 3741 | 4739 | "type": "number", |
| 3742 | | - "minimum": 0, |
| 3743 | | - "description": "The pixel area each the point/circle/square.\nFor example: in the case of circles, the radius is determined in part by the square root\nof the size value.\n\n__Default value:__ `30`" |
| 3744 | | - }, |
| 3745 | | - "stroke": { |
| 3746 | | - "type": "string", |
| 3747 | | - "description": "Default Stroke Color. This has higher precedence than config.color\n\n__Default value:__ (None)" |
| 4740 | + "description": "The height of a visualization.\n\n__Default value:__\n- If a view's [`autosize`](size.html#autosize) type is `\"fit\"` or its y-channel has a\n[continuous scale](scale.html#continuous), the height will be the value of\n[`config.view.height`](spec.html#config).\n- For y-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric\nvalue or unspecified, the height is [determined by the range step, paddings, and the\ncardinality of the field mapped to y-channel](scale.html#band). Otherwise, if the\n`rangeStep` is `null`, the height will be the value of\n[`config.view.height`](spec.html#config).\n- If no field is mapped to `y` channel, the `height` will be the value of `rangeStep`.\n\n__Note__: For plots with [`row` and `column` channels](encoding.html#facet), this\nrepresents the height of a single view.\n\n__See also:__ The documentation for [width and height](size.html) contains more examples." |
| 3748 | 4741 | }, |
| 3749 | | - "strokeDash": { |
| 4742 | + "layer": { |
| 3750 | 4743 | "type": "array", |
| 3751 | 4744 | "items": { |
| 3752 | | - "type": "number" |
| 4745 | + "$ref": "#/definitions/SpecElement" |
| 3753 | 4746 | }, |
| 3754 | | - "description": "An array of alternating stroke, space lengths for creating dashed or dotted lines." |
| 3755 | | - }, |
| 3756 | | - "strokeDashOffset": { |
| 3757 | | - "type": "number", |
| 3758 | | - "description": "The offset (in pixels) into which to begin drawing with the stroke dash array." |
| 3759 | | - }, |
| 3760 | | - "strokeOpacity": { |
| 3761 | | - "type": "number", |
| 3762 | | - "minimum": 0, |
| 3763 | | - "maximum": 1, |
| 3764 | | - "description": "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`" |
| 4747 | + "description": "Layer or single view specifications to be layered.\n\n__Note__: Specifications inside `layer` cannot use `row` and `column` channels as\nlayering facet specifications is not allowed." |
| 3765 | 4748 | }, |
| 3766 | | - "strokeWidth": { |
| 3767 | | - "type": "number", |
| 3768 | | - "minimum": 0, |
| 3769 | | - "description": "The stroke width, in pixels." |
| 4749 | + "name": { |
| 4750 | + "type": "string", |
| 4751 | + "description": "Name of the visualization for later reference." |
| 3770 | 4752 | }, |
| 3771 | | - "style": { |
| 3772 | | - "$ref": "#/definitions/Style", |
| 3773 | | - "description": "A string or array of strings indicating the name of custom styles to apply to the mark. A\nstyle is a named collection of mark property defaults defined within the [style\nconfiguration](mark.html#style-config). If style is an array, later styles will override\nearlier styles. Any [mark properties](encoding.html#mark-prop) explicitly defined within\nthe `encoding` will override a style default.\n\n__Default value:__ The mark's name. For example, a bar mark will have style `\"bar\"` by\ndefault.\n__Note:__ Any specified style will augment the default style. For example, a bar mark\nwith `\"style\": \"foo\"` will receive from `config.style.bar` and `config.style.foo` (the\nspecified style `\"foo\"` has higher precedence)." |
| 4753 | + "resolve": { |
| 4754 | + "$ref": "#/definitions/Resolve", |
| 4755 | + "description": "Scale, axis, and legend resolutions for layers." |
| 3774 | 4756 | }, |
| 3775 | | - "tension": { |
| 3776 | | - "type": "number", |
| 3777 | | - "minimum": 0, |
| 3778 | | - "maximum": 1, |
| 3779 | | - "description": "Depending on the interpolation type, sets the tension parameter (for line and area marks)." |
| 4757 | + "title": { |
| 4758 | + "$ref": "#/definitions/Title", |
| 4759 | + "description": "Title for the plot." |
| 3780 | 4760 | }, |
| 3781 | | - "text": { |
| 3782 | | - "type": "string", |
| 3783 | | - "description": "Placeholder text if the `text` channel is not specified" |
| 4761 | + "transform": { |
| 4762 | + "type": "array", |
| 4763 | + "items": { |
| 4764 | + "$ref": "#/definitions/Transform" |
| 4765 | + }, |
| 4766 | + "description": "An array of data transformations such as filter and new field calculation." |
| 3784 | 4767 | }, |
| 3785 | | - "theta": { |
| 4768 | + "width": { |
| 3786 | 4769 | "type": "number", |
| 3787 | | - "description": "Polar coordinate angle, in radians, of the text label from the origin determined by the\n`x` and `y` properties. Values for `theta` follow the same convention of `arc` mark\n`startAngle` and `endAngle` properties: angles are measured in radians, with `0`\nindicating \"north\"." |
| 3788 | | - }, |
| 3789 | | - "type": { |
| 3790 | | - "$ref": "#/definitions/Mark", |
| 3791 | | - "description": "The mark type.\nOne of `\"bar\"`, `\"circle\"`, `\"square\"`, `\"tick\"`, `\"line\"`,\n`\"area\"`, `\"point\"`, `\"geoshape\"`, `\"rule\"`, and `\"text\"`." |
| 4770 | + "description": "The width of a visualization.\n\n__Default value:__ This will be determined by the following rules:\n\n- If a view's [`autosize`](size.html#autosize) type is `\"fit\"` or its x-channel has a\n[continuous scale](scale.html#continuous), the width will be the value of\n[`config.view.width`](spec.html#config).\n- For x-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric\nvalue or unspecified, the width is [determined by the range step, paddings, and the\ncardinality of the field mapped to x-channel](scale.html#band). Otherwise, if the\n`rangeStep` is `null`, the width will be the value of\n[`config.view.width`](spec.html#config).\n- If no field is mapped to `x` channel, the `width` will be the value of\n[`config.scale.textXRangeStep`](size.html#default-width-and-height) for `text` mark and\nthe value of `rangeStep` for other marks.\n\n__Note:__ For plots with [`row` and `column` channels](encoding.html#facet), this\nrepresents the width of a single view.\n\n__See also:__ The documentation for [width and height](size.html) contains more examples." |
| 3792 | 4771 | } |
| 3793 | 4772 | }, |
| 3794 | 4773 | "required": [ |
| 3795 | | - "type" |
| 4774 | + "layer" |
| 3796 | 4775 | ], |
| 3797 | | - "title": "MarkDef" |
| 4776 | + "title": "LayerSpec" |
| 3798 | 4777 | }, |
| 3799 | | - "Projection": { |
| 4778 | + "CompositeUnitSpecAlias": { |
| 3800 | 4779 | "type": "object", |
| 3801 | 4780 | "additionalProperties": false, |
| 3802 | 4781 | "properties": { |
| 3803 | | - "center": { |
| 3804 | | - "type": "array", |
| 3805 | | - "items": { |
| 3806 | | - "type": "number" |
| 3807 | | - }, |
| 3808 | | - "description": "Sets the projection’s center to the specified center, a two-element array of longitude\nand latitude in degrees.\n\n__Default value:__ `[0, 0]`" |
| 3809 | | - }, |
| 3810 | | - "clipAngle": { |
| 3811 | | - "type": "number", |
| 3812 | | - "description": "Sets the projection’s clipping circle radius to the specified angle in degrees. If\n`null`, switches to [antimeridian](http://bl.ocks.org/mbostock/3788999) cutting rather\nthan small-circle clipping." |
| 3813 | | - }, |
| 3814 | | - "clipExtent": { |
| 3815 | | - "type": "array", |
| 3816 | | - "items": { |
| 3817 | | - "type": "array", |
| 3818 | | - "items": { |
| 3819 | | - "type": "number" |
| 3820 | | - } |
| 3821 | | - }, |
| 3822 | | - "description": "Sets the projection’s viewport clip extent to the specified bounds in pixels. The extent\nbounds are specified as an array `[[x0, y0], [x1, y1]]`, where `x0` is the left-side of\nthe viewport, `y0` is the top, `x1` is the right and `y1` is the bottom. If `null`, no\nviewport clipping is performed." |
| 4782 | + "data": { |
| 4783 | + "$ref": "#/definitions/Data", |
| 4784 | + "description": "An object describing the data source" |
| 3823 | 4785 | }, |
| 3824 | | - "coefficient": { |
| 3825 | | - "type": "number" |
| 4786 | + "description": { |
| 4787 | + "type": "string", |
| 4788 | + "description": "Description of this mark for commenting purpose." |
| 3826 | 4789 | }, |
| 3827 | | - "distance": { |
| 3828 | | - "type": "number" |
| 4790 | + "encoding": { |
| 4791 | + "$ref": "#/definitions/Encoding", |
| 4792 | + "description": "A key-value mapping between encoding channels and definition of fields." |
| 3829 | 4793 | }, |
| 3830 | | - "fraction": { |
| 3831 | | - "type": "number" |
| 4794 | + "height": { |
| 4795 | + "type": "number", |
| 4796 | + "description": "The height of a visualization.\n\n__Default value:__\n- If a view's [`autosize`](size.html#autosize) type is `\"fit\"` or its y-channel has a\n[continuous scale](scale.html#continuous), the height will be the value of\n[`config.view.height`](spec.html#config).\n- For y-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric\nvalue or unspecified, the height is [determined by the range step, paddings, and the\ncardinality of the field mapped to y-channel](scale.html#band). Otherwise, if the\n`rangeStep` is `null`, the height will be the value of\n[`config.view.height`](spec.html#config).\n- If no field is mapped to `y` channel, the `height` will be the value of `rangeStep`.\n\n__Note__: For plots with [`row` and `column` channels](encoding.html#facet), this\nrepresents the height of a single view.\n\n__See also:__ The documentation for [width and height](size.html) contains more examples." |
| 3832 | 4797 | }, |
| 3833 | | - "lobes": { |
| 3834 | | - "type": "number" |
| 4798 | + "mark": { |
| 4799 | + "$ref": "#/definitions/AnyMark", |
| 4800 | + "description": "A string describing the mark type (one of `\"bar\"`, `\"circle\"`, `\"square\"`, `\"tick\"`,\n`\"line\"`,\n* `\"area\"`, `\"point\"`, `\"rule\"`, `\"geoshape\"`, and `\"text\"`) or a [mark definition\nobject](mark.html#mark-def)." |
| 3835 | 4801 | }, |
| 3836 | | - "parallel": { |
| 3837 | | - "type": "number" |
| 4802 | + "name": { |
| 4803 | + "type": "string", |
| 4804 | + "description": "Name of the visualization for later reference." |
| 3838 | 4805 | }, |
| 3839 | | - "precision": { |
| 3840 | | - "$ref": "#/definitions/FluffyPrecision", |
| 3841 | | - "description": "Sets the threshold for the projection’s [adaptive\nresampling](http://bl.ocks.org/mbostock/3795544) to the specified value in pixels. This\nvalue corresponds to the [Douglas–Peucker\ndistance](http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm).\nIf precision is not specified, returns the projection’s current resampling precision\nwhich defaults to `√0.5 ≅ 0.70710…`." |
| 4806 | + "projection": { |
| 4807 | + "$ref": "#/definitions/Projection", |
| 4808 | + "description": "An object defining properties of geographic projection.\n\nWorks with `\"geoshape\"` marks and `\"point\"` or `\"line\"` marks that have a channel (one or\nmore of `\"X\"`, `\"X2\"`, `\"Y\"`, `\"Y2\"`) with type `\"latitude\"`, or `\"longitude\"`." |
| 3842 | 4809 | }, |
| 3843 | | - "radius": { |
| 3844 | | - "type": "number" |
| 4810 | + "selection": { |
| 4811 | + "type": "object", |
| 4812 | + "additionalProperties": { |
| 4813 | + "$ref": "#/definitions/SelectionDef" |
| 4814 | + }, |
| 4815 | + "description": "A key-value mapping between selection names and definitions." |
| 3845 | 4816 | }, |
| 3846 | | - "ratio": { |
| 3847 | | - "type": "number" |
| 4817 | + "title": { |
| 4818 | + "$ref": "#/definitions/Title", |
| 4819 | + "description": "Title for the plot." |
| 3848 | 4820 | }, |
| 3849 | | - "rotate": { |
| 4821 | + "transform": { |
| 3850 | 4822 | "type": "array", |
| 3851 | 4823 | "items": { |
| 3852 | | - "type": "number" |
| 4824 | + "$ref": "#/definitions/Transform" |
| 3853 | 4825 | }, |
| 3854 | | - "description": "Sets the projection’s three-axis rotation to the specified angles, which must be a two-\nor three-element array of numbers [`lambda`, `phi`, `gamma`] specifying the rotation\nangles in degrees about each spherical axis. (These correspond to yaw, pitch and roll.)\n\n__Default value:__ `[0, 0, 0]`" |
| 3855 | | - }, |
| 3856 | | - "spacing": { |
| 3857 | | - "type": "number" |
| 3858 | | - }, |
| 3859 | | - "tilt": { |
| 3860 | | - "type": "number" |
| 4826 | + "description": "An array of data transformations such as filter and new field calculation." |
| 3861 | 4827 | }, |
| 3862 | | - "type": { |
| 3863 | | - "$ref": "#/definitions/VGProjectionType", |
| 3864 | | - "description": "The cartographic projection to use. This value is case-insensitive, for example\n`\"albers\"` and `\"Albers\"` indicate the same projection type. You can find all valid\nprojection types [in the\ndocumentation](https://vega.github.io/vega-lite/docs/projection.html#projection-types).\n\n__Default value:__ `mercator`" |
| 3865 | | - } |
| 3866 | | - }, |
| 3867 | | - "required": [], |
| 3868 | | - "title": "Projection", |
| 3869 | | - "description": "An object defining properties of geographic projection.\n\nWorks with `\"geoshape\"` marks and `\"point\"` or `\"line\"` marks that have a channel (one or more of `\"X\"`, `\"X2\"`, `\"Y\"`, `\"Y2\"`) with type `\"latitude\"`, or `\"longitude\"`." |
| 3870 | | - }, |
| 3871 | | - "FluffyPrecision": { |
| 3872 | | - "type": "object", |
| 3873 | | - "additionalProperties": { |
| 3874 | | - "type": "string" |
| 3875 | | - }, |
| 3876 | | - "properties": { |
| 3877 | | - "length": { |
| 4828 | + "width": { |
| 3878 | 4829 | "type": "number", |
| 3879 | | - "description": "Returns the length of a String object." |
| 4830 | + "description": "The width of a visualization.\n\n__Default value:__ This will be determined by the following rules:\n\n- If a view's [`autosize`](size.html#autosize) type is `\"fit\"` or its x-channel has a\n[continuous scale](scale.html#continuous), the width will be the value of\n[`config.view.width`](spec.html#config).\n- For x-axis with a band or point scale: if [`rangeStep`](scale.html#band) is a numeric\nvalue or unspecified, the width is [determined by the range step, paddings, and the\ncardinality of the field mapped to x-channel](scale.html#band). Otherwise, if the\n`rangeStep` is `null`, the width will be the value of\n[`config.view.width`](spec.html#config).\n- If no field is mapped to `x` channel, the `width` will be the value of\n[`config.scale.textXRangeStep`](size.html#default-width-and-height) for `text` mark and\nthe value of `rangeStep` for other marks.\n\n__Note:__ For plots with [`row` and `column` channels](encoding.html#facet), this\nrepresents the width of a single view.\n\n__See also:__ The documentation for [width and height](size.html) contains more examples." |
| 3880 | 4831 | } |
| 3881 | 4832 | }, |
| 3882 | 4833 | "required": [ |
| 3883 | | - "length" |
| 4834 | + "encoding", |
| 4835 | + "mark" |
| 3884 | 4836 | ], |
| 3885 | | - "title": "FluffyPrecision", |
| 3886 | | - "description": "Sets the threshold for the projection’s [adaptive resampling](http://bl.ocks.org/mbostock/3795544) to the specified value in pixels. This value corresponds to the [Douglas–Peucker distance](http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm). If precision is not specified, returns the projection’s current resampling precision which defaults to `√0.5 ≅ 0.70710…`." |
| 4837 | + "title": "CompositeUnitSpecAlias", |
| 4838 | + "description": "Unit spec that can have a composite mark." |
| 3887 | 4839 | }, |
| 3888 | 4840 | "Resolve": { |
| 3889 | 4841 | "type": "object", |
| | @@ -3963,260 +4915,308 @@ |
| 3963 | 4915 | "required": [], |
| 3964 | 4916 | "title": "ScaleResolveMap" |
| 3965 | 4917 | }, |
| 3966 | | - "SelectionDef": { |
| 4918 | + "Encoding": { |
| 3967 | 4919 | "type": "object", |
| 3968 | 4920 | "additionalProperties": false, |
| 3969 | 4921 | "properties": { |
| 3970 | | - "bind": { |
| 3971 | | - "$ref": "#/definitions/BindUnion", |
| 3972 | | - "description": "Establish a two-way binding between a single selection and input elements\n(also known as dynamic query widgets). A binding takes the form of\nVega's [input element binding definition](https://vega.github.io/vega/docs/signals/#bind)\nor can be a mapping between projected field/encodings and binding definitions.\n\nSee the [bind transform](bind.html) documentation for more information.\n\nEstablishes a two-way binding between the interval selection and the scales\nused within the same view. This allows a user to interactively pan and\nzoom the view." |
| 4922 | + "color": { |
| 4923 | + "$ref": "#/definitions/Color", |
| 4924 | + "description": "Color of the marks – either fill or stroke color based on mark type.\nBy default, `color` represents fill color for `\"area\"`, `\"bar\"`, `\"tick\"`,\n`\"text\"`, `\"circle\"`, and `\"square\"` / stroke color for `\"line\"` and `\"point\"`.\n\n__Default value:__ If undefined, the default color depends on [mark\nconfig](config.html#mark)'s `color` property.\n\n_Note:_ See the scale documentation for more information about customizing [color\nscheme](scale.html#scheme)." |
| 3973 | 4925 | }, |
| 3974 | | - "empty": { |
| 3975 | | - "$ref": "#/definitions/Empty", |
| 3976 | | - "description": "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values." |
| 4926 | + "detail": { |
| 4927 | + "$ref": "#/definitions/Detail", |
| 4928 | + "description": "Additional levels of detail for grouping data in aggregate views and\nin line and area marks without mapping data to a specific visual channel." |
| 3977 | 4929 | }, |
| 3978 | | - "encodings": { |
| 3979 | | - "type": "array", |
| 3980 | | - "items": { |
| 3981 | | - "$ref": "#/definitions/SingleDefChannel" |
| 3982 | | - }, |
| 3983 | | - "description": "An array of encoding channels. The corresponding data field values\nmust match for a data tuple to fall within the selection." |
| 4930 | + "href": { |
| 4931 | + "$ref": "#/definitions/Href", |
| 4932 | + "description": "A URL to load upon mouse click." |
| 3984 | 4933 | }, |
| 3985 | | - "fields": { |
| 3986 | | - "type": "array", |
| 3987 | | - "items": { |
| 3988 | | - "type": "string" |
| 3989 | | - }, |
| 3990 | | - "description": "An array of field names whose values must match for a data tuple to\nfall within the selection." |
| 4934 | + "opacity": { |
| 4935 | + "$ref": "#/definitions/Color", |
| 4936 | + "description": "Opacity of the marks – either can be a value or a range.\n\n__Default value:__ If undefined, the default opacity depends on [mark\nconfig](config.html#mark)'s `opacity` property." |
| 3991 | 4937 | }, |
| 3992 | | - "nearest": { |
| 3993 | | - "type": "boolean", |
| 3994 | | - "description": "When true, an invisible voronoi diagram is computed to accelerate discrete\nselection. The data value _nearest_ the mouse cursor is added to the selection.\n\nSee the [nearest transform](nearest.html) documentation for more information." |
| 4938 | + "order": { |
| 4939 | + "$ref": "#/definitions/Order", |
| 4940 | + "description": "Stack order for stacked marks or order of data points in line marks for connected scatter\nplots.\n\n__Note__: In aggregate plots, `order` field should be `aggregate`d to avoid creating\nadditional aggregation grouping." |
| 3995 | 4941 | }, |
| 3996 | | - "on": { |
| 3997 | | - "description": "A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or\nselector) that triggers the selection.\nFor interval selections, the event stream must specify a [start and\nend](https://vega.github.io/vega/docs/event-streams/#between-filters)." |
| 4942 | + "shape": { |
| 4943 | + "$ref": "#/definitions/Color", |
| 4944 | + "description": "For `point` marks the supported values are\n`\"circle\"` (default), `\"square\"`, `\"cross\"`, `\"diamond\"`, `\"triangle-up\"`,\nor `\"triangle-down\"`, or else a custom SVG path string.\nFor `geoshape` marks it should be a field definition of the geojson data\n\n__Default value:__ If undefined, the default shape depends on [mark\nconfig](config.html#point-config)'s `shape` property." |
| 3998 | 4945 | }, |
| 3999 | | - "resolve": { |
| 4000 | | - "$ref": "#/definitions/SelectionResolution", |
| 4001 | | - "description": "With layered and multi-view displays, a strategy that determines how\nselections' data queries are resolved when applied in a filter transform,\nconditional encoding rule, or scale domain." |
| 4946 | + "size": { |
| 4947 | + "$ref": "#/definitions/Color", |
| 4948 | + "description": "Size of the mark.\n- For `\"point\"`, `\"square\"` and `\"circle\"`, – the symbol size, or pixel area of the mark.\n- For `\"bar\"` and `\"tick\"` – the bar and tick's size.\n- For `\"text\"` – the text's font size.\n- Size is currently unsupported for `\"line\"`, `\"area\"`, and `\"rect\"`." |
| 4002 | 4949 | }, |
| 4003 | | - "type": { |
| 4004 | | - "$ref": "#/definitions/SelectionDefType" |
| 4950 | + "text": { |
| 4951 | + "$ref": "#/definitions/Text", |
| 4952 | + "description": "Text of the `text` mark." |
| 4005 | 4953 | }, |
| 4006 | | - "toggle": { |
| 4007 | | - "$ref": "#/definitions/Translate", |
| 4008 | | - "description": "Controls whether data values should be toggled or only ever inserted into\nmulti selections. Can be `true`, `false` (for insertion only), or a\n[Vega expression](https://vega.github.io/vega/docs/expressions/).\n\n__Default value:__ `true`, which corresponds to `event.shiftKey` (i.e.,\ndata values are toggled when a user interacts with the shift-key pressed).\n\nSee the [toggle transform](toggle.html) documentation for more information." |
| 4954 | + "tooltip": { |
| 4955 | + "$ref": "#/definitions/Text", |
| 4956 | + "description": "The tooltip text to show upon mouse hover." |
| 4009 | 4957 | }, |
| 4010 | | - "mark": { |
| 4011 | | - "$ref": "#/definitions/BrushConfig", |
| 4012 | | - "description": "An interval selection also adds a rectangle mark to depict the\nextents of the interval. The `mark` property can be used to customize the\nappearance of the mark." |
| 4958 | + "x": { |
| 4959 | + "$ref": "#/definitions/X", |
| 4960 | + "description": "X coordinates of the marks, or width of horizontal `\"bar\"` and `\"area\"`." |
| 4013 | 4961 | }, |
| 4014 | | - "translate": { |
| 4015 | | - "$ref": "#/definitions/Translate", |
| 4016 | | - "description": "When truthy, allows a user to interactively move an interval selection\nback-and-forth. Can be `true`, `false` (to disable panning), or a\n[Vega event stream definition](https://vega.github.io/vega/docs/event-streams/)\nwhich must include a start and end event to trigger continuous panning.\n\n__Default value:__ `true`, which corresponds to\n`[mousedown, window:mouseup] > window:mousemove!` which corresponds to\nclicks and dragging within an interval selection to reposition it." |
| 4962 | + "x2": { |
| 4963 | + "$ref": "#/definitions/X2", |
| 4964 | + "description": "X2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`." |
| 4017 | 4965 | }, |
| 4018 | | - "zoom": { |
| 4019 | | - "$ref": "#/definitions/Translate", |
| 4020 | | - "description": "When truthy, allows a user to interactively resize an interval selection.\nCan be `true`, `false` (to disable zooming), or a [Vega event stream\ndefinition](https://vega.github.io/vega/docs/event-streams/). Currently,\nonly `wheel` events are supported.\n\n\n__Default value:__ `true`, which corresponds to `wheel!`." |
| 4966 | + "y": { |
| 4967 | + "$ref": "#/definitions/X", |
| 4968 | + "description": "Y coordinates of the marks, or height of vertical `\"bar\"` and `\"area\"`." |
| 4969 | + }, |
| 4970 | + "y2": { |
| 4971 | + "$ref": "#/definitions/X2", |
| 4972 | + "description": "Y2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`." |
| 4021 | 4973 | } |
| 4022 | 4974 | }, |
| 4023 | | - "required": [ |
| 4024 | | - "type" |
| 4025 | | - ], |
| 4026 | | - "title": "SelectionDef" |
| 4975 | + "required": [], |
| 4976 | + "title": "Encoding", |
| 4977 | + "description": "A key-value mapping between encoding channels and definition of fields." |
| 4027 | 4978 | }, |
| 4028 | | - "VGBinding": { |
| 4979 | + "FacetMapping": { |
| 4029 | 4980 | "type": "object", |
| 4030 | 4981 | "additionalProperties": false, |
| 4031 | 4982 | "properties": { |
| 4032 | | - "element": { |
| 4033 | | - "type": "string" |
| 4034 | | - }, |
| 4035 | | - "input": { |
| 4036 | | - "type": "string" |
| 4983 | + "column": { |
| 4984 | + "$ref": "#/definitions/FacetFieldDef", |
| 4985 | + "description": "Horizontal facets for trellis plots." |
| 4037 | 4986 | }, |
| 4038 | | - "options": { |
| 4987 | + "row": { |
| 4988 | + "$ref": "#/definitions/FacetFieldDef", |
| 4989 | + "description": "Vertical facets for trellis plots." |
| 4990 | + } |
| 4991 | + }, |
| 4992 | + "required": [], |
| 4993 | + "title": "FacetMapping", |
| 4994 | + "description": "An object that describes mappings between `row` and `column` channels and their field definitions." |
| 4995 | + }, |
| 4996 | + "Repeat": { |
| 4997 | + "type": "object", |
| 4998 | + "additionalProperties": false, |
| 4999 | + "properties": { |
| 5000 | + "column": { |
| 4039 | 5001 | "type": "array", |
| 4040 | 5002 | "items": { |
| 4041 | 5003 | "type": "string" |
| 4042 | | - } |
| 4043 | | - }, |
| 4044 | | - "max": { |
| 4045 | | - "type": "number" |
| 4046 | | - }, |
| 4047 | | - "min": { |
| 4048 | | - "type": "number" |
| 5004 | + }, |
| 5005 | + "description": "Horizontal repeated views." |
| 4049 | 5006 | }, |
| 4050 | | - "step": { |
| 4051 | | - "type": "number" |
| 5007 | + "row": { |
| 5008 | + "type": "array", |
| 5009 | + "items": { |
| 5010 | + "type": "string" |
| 5011 | + }, |
| 5012 | + "description": "Vertical repeated views." |
| 4052 | 5013 | } |
| 4053 | 5014 | }, |
| 4054 | | - "required": [ |
| 4055 | | - "input" |
| 4056 | | - ], |
| 4057 | | - "title": "VGBinding" |
| 5015 | + "required": [], |
| 5016 | + "title": "Repeat", |
| 5017 | + "description": "An object that describes what fields should be repeated into views that are laid out as a `row` or `column`." |
| 4058 | 5018 | }, |
| 4059 | | - "TitleParams": { |
| 5019 | + "FacetSpec": { |
| 4060 | 5020 | "type": "object", |
| 4061 | 5021 | "additionalProperties": false, |
| 4062 | 5022 | "properties": { |
| 4063 | | - "anchor": { |
| 4064 | | - "$ref": "#/definitions/Anchor", |
| 4065 | | - "description": "The anchor position for placing the title. One of `\"start\"`, `\"middle\"`, or `\"end\"`. For\nexample, with an orientation of top these anchor positions map to a left-, center-, or\nright-aligned title.\n\n__Default value:__ `\"middle\"` for [single](spec.html) and [layered](layer.html) views.\n`\"start\"` for other composite views.\n\n__Note:__ [For now](https://github.com/vega/vega-lite/issues/2875), `anchor` is only\ncustomizable only for [single](spec.html) and [layered](layer.html) views. For other\ncomposite views, `anchor` is always `\"start\"`." |
| 4066 | | - }, |
| 4067 | | - "offset": { |
| 4068 | | - "type": "number", |
| 4069 | | - "description": "The orthogonal offset in pixels by which to displace the title from its position along\nthe edge of the chart." |
| 5023 | + "data": { |
| 5024 | + "$ref": "#/definitions/Data", |
| 5025 | + "description": "An object describing the data source" |
| 4070 | 5026 | }, |
| 4071 | | - "orient": { |
| 4072 | | - "$ref": "#/definitions/TitleOrient", |
| 4073 | | - "description": "The orientation of the title relative to the chart. One of `\"top\"` (the default),\n`\"bottom\"`, `\"left\"`, or `\"right\"`." |
| 5027 | + "description": { |
| 5028 | + "type": "string", |
| 5029 | + "description": "Description of this mark for commenting purpose." |
| 4074 | 5030 | }, |
| 4075 | | - "style": { |
| 4076 | | - "$ref": "#/definitions/Style", |
| 4077 | | - "description": "A [mark style property](config.html#style) to apply to the title text mark.\n\n__Default value:__ `\"group-title\"`." |
| 5031 | + "facet": { |
| 5032 | + "$ref": "#/definitions/FacetMapping", |
| 5033 | + "description": "An object that describes mappings between `row` and `column` channels and their field\ndefinitions." |
| 4078 | 5034 | }, |
| 4079 | | - "text": { |
| 5035 | + "name": { |
| 4080 | 5036 | "type": "string", |
| 4081 | | - "description": "The title text." |
| 5037 | + "description": "Name of the visualization for later reference." |
| 5038 | + }, |
| 5039 | + "resolve": { |
| 5040 | + "$ref": "#/definitions/Resolve", |
| 5041 | + "description": "Scale, axis, and legend resolutions for facets." |
| 5042 | + }, |
| 5043 | + "spec": { |
| 5044 | + "$ref": "#/definitions/SpecElement", |
| 5045 | + "description": "A specification of the view that gets faceted." |
| 5046 | + }, |
| 5047 | + "title": { |
| 5048 | + "$ref": "#/definitions/Title", |
| 5049 | + "description": "Title for the plot." |
| 5050 | + }, |
| 5051 | + "transform": { |
| 5052 | + "type": "array", |
| 5053 | + "items": { |
| 5054 | + "$ref": "#/definitions/Transform" |
| 5055 | + }, |
| 5056 | + "description": "An array of data transformations such as filter and new field calculation." |
| 4082 | 5057 | } |
| 4083 | 5058 | }, |
| 4084 | 5059 | "required": [ |
| 4085 | | - "text" |
| 5060 | + "facet", |
| 5061 | + "spec" |
| 4086 | 5062 | ], |
| 4087 | | - "title": "TitleParams" |
| 5063 | + "title": "FacetSpec" |
| 4088 | 5064 | }, |
| 4089 | | - "Transform": { |
| 5065 | + "RepeatSpec": { |
| 4090 | 5066 | "type": "object", |
| 4091 | 5067 | "additionalProperties": false, |
| 4092 | 5068 | "properties": { |
| 4093 | | - "filter": { |
| 4094 | | - "$ref": "#/definitions/LogicalOperandPredicate", |
| 4095 | | - "description": "The `filter` property must be one of the predicate definitions:\n(1) an [expression](types.html#expression) string,\nwhere `datum` can be used to refer to the current data object;\n(2) one of the field predicates: [equal predicate](filter.html#equal-predicate);\n[range predicate](filter.html#range-predicate), [one-of\npredicate](filter.html#one-of-predicate);\n(3) a [selection predicate](filter.html#selection-predicate);\nor (4) a logical operand that combines (1), (2), or (3)." |
| 4096 | | - }, |
| 4097 | | - "as": { |
| 4098 | | - "$ref": "#/definitions/Style", |
| 4099 | | - "description": "The field for storing the computed formula value.\n\nThe field or fields for storing the computed formula value.\nIf `from.fields` is specified, the transform will use the same names for `as`.\nIf `from.fields` is not specified, `as` has to be a string and we put the whole object\ninto the data under the specified name.\n\nThe output fields at which to write the start and end bin values.\n\nThe output field to write the timeUnit value." |
| 4100 | | - }, |
| 4101 | | - "calculate": { |
| 4102 | | - "type": "string", |
| 4103 | | - "description": "A [expression](types.html#expression) string. Use the variable `datum` to refer to the\ncurrent data object." |
| 5069 | + "data": { |
| 5070 | + "$ref": "#/definitions/Data", |
| 5071 | + "description": "An object describing the data source" |
| 4104 | 5072 | }, |
| 4105 | | - "default": { |
| 5073 | + "description": { |
| 4106 | 5074 | "type": "string", |
| 4107 | | - "description": "The default value to use if lookup fails.\n\n__Default value:__ `null`" |
| 4108 | | - }, |
| 4109 | | - "from": { |
| 4110 | | - "$ref": "#/definitions/LookupData", |
| 4111 | | - "description": "Secondary data reference." |
| 5075 | + "description": "Description of this mark for commenting purpose." |
| 4112 | 5076 | }, |
| 4113 | | - "lookup": { |
| 5077 | + "name": { |
| 4114 | 5078 | "type": "string", |
| 4115 | | - "description": "Key in primary data source." |
| 5079 | + "description": "Name of the visualization for later reference." |
| 4116 | 5080 | }, |
| 4117 | | - "bin": { |
| 4118 | | - "$ref": "#/definitions/Bin", |
| 4119 | | - "description": "An object indicating bin properties, or simply `true` for using default bin parameters." |
| 5081 | + "repeat": { |
| 5082 | + "$ref": "#/definitions/Repeat", |
| 5083 | + "description": "An object that describes what fields should be repeated into views that are laid out as a\n`row` or `column`." |
| 4120 | 5084 | }, |
| 4121 | | - "field": { |
| 4122 | | - "type": "string", |
| 4123 | | - "description": "The data field to bin.\n\nThe data field to apply time unit." |
| 5085 | + "resolve": { |
| 5086 | + "$ref": "#/definitions/Resolve", |
| 5087 | + "description": "Scale and legend resolutions for repeated charts." |
| 4124 | 5088 | }, |
| 4125 | | - "timeUnit": { |
| 4126 | | - "$ref": "#/definitions/TimeUnit", |
| 4127 | | - "description": "The timeUnit." |
| 5089 | + "spec": { |
| 5090 | + "$ref": "#/definitions/Spec" |
| 4128 | 5091 | }, |
| 4129 | | - "aggregate": { |
| 4130 | | - "type": "array", |
| 4131 | | - "items": { |
| 4132 | | - "$ref": "#/definitions/AggregatedFieldDef" |
| 4133 | | - }, |
| 4134 | | - "description": "Array of objects that define fields to aggregate." |
| 5092 | + "title": { |
| 5093 | + "$ref": "#/definitions/Title", |
| 5094 | + "description": "Title for the plot." |
| 4135 | 5095 | }, |
| 4136 | | - "groupby": { |
| 5096 | + "transform": { |
| 4137 | 5097 | "type": "array", |
| 4138 | 5098 | "items": { |
| 4139 | | - "type": "string" |
| 5099 | + "$ref": "#/definitions/Transform" |
| 4140 | 5100 | }, |
| 4141 | | - "description": "The data fields to group by. If not specified, a single group containing all data objects\nwill be used." |
| 5101 | + "description": "An array of data transformations such as filter and new field calculation." |
| 4142 | 5102 | } |
| 4143 | 5103 | }, |
| 4144 | | - "required": [], |
| 4145 | | - "title": "Transform" |
| 5104 | + "required": [ |
| 5105 | + "repeat", |
| 5106 | + "spec" |
| 5107 | + ], |
| 5108 | + "title": "RepeatSpec" |
| 4146 | 5109 | }, |
| 4147 | | - "AggregatedFieldDef": { |
| 5110 | + "VConcatSpec": { |
| 4148 | 5111 | "type": "object", |
| 4149 | 5112 | "additionalProperties": false, |
| 4150 | 5113 | "properties": { |
| 4151 | | - "as": { |
| 5114 | + "data": { |
| 5115 | + "$ref": "#/definitions/Data", |
| 5116 | + "description": "An object describing the data source" |
| 5117 | + }, |
| 5118 | + "description": { |
| 4152 | 5119 | "type": "string", |
| 4153 | | - "description": "The output field names to use for each aggregated field." |
| 5120 | + "description": "Description of this mark for commenting purpose." |
| 4154 | 5121 | }, |
| 4155 | | - "field": { |
| 5122 | + "name": { |
| 4156 | 5123 | "type": "string", |
| 4157 | | - "description": "The data field for which to compute aggregate function." |
| 5124 | + "description": "Name of the visualization for later reference." |
| 4158 | 5125 | }, |
| 4159 | | - "op": { |
| 4160 | | - "$ref": "#/definitions/AggregateOp", |
| 4161 | | - "description": "The aggregation operations to apply to the fields, such as sum, average or count.\nSee the [full list of supported aggregation\noperations](https://vega.github.io/vega-lite/docs/aggregate.html#ops)\nfor more information." |
| 5126 | + "resolve": { |
| 5127 | + "$ref": "#/definitions/Resolve", |
| 5128 | + "description": "Scale, axis, and legend resolutions for vertically concatenated charts." |
| 5129 | + }, |
| 5130 | + "title": { |
| 5131 | + "$ref": "#/definitions/Title", |
| 5132 | + "description": "Title for the plot." |
| 5133 | + }, |
| 5134 | + "transform": { |
| 5135 | + "type": "array", |
| 5136 | + "items": { |
| 5137 | + "$ref": "#/definitions/Transform" |
| 5138 | + }, |
| 5139 | + "description": "An array of data transformations such as filter and new field calculation." |
| 5140 | + }, |
| 5141 | + "vconcat": { |
| 5142 | + "type": "array", |
| 5143 | + "items": { |
| 5144 | + "$ref": "#/definitions/Spec" |
| 5145 | + }, |
| 5146 | + "description": "A list of views that should be concatenated and put into a column." |
| 4162 | 5147 | } |
| 4163 | 5148 | }, |
| 4164 | 5149 | "required": [ |
| 4165 | | - "as", |
| 4166 | | - "field", |
| 4167 | | - "op" |
| 5150 | + "vconcat" |
| 4168 | 5151 | ], |
| 4169 | | - "title": "AggregatedFieldDef" |
| 5152 | + "title": "VConcatSpec" |
| 4170 | 5153 | }, |
| 4171 | | - "LookupData": { |
| 5154 | + "HConcatSpec": { |
| 4172 | 5155 | "type": "object", |
| 4173 | 5156 | "additionalProperties": false, |
| 4174 | 5157 | "properties": { |
| 4175 | 5158 | "data": { |
| 4176 | 5159 | "$ref": "#/definitions/Data", |
| 4177 | | - "description": "Secondary data source to lookup in." |
| 5160 | + "description": "An object describing the data source" |
| 4178 | 5161 | }, |
| 4179 | | - "fields": { |
| 5162 | + "description": { |
| 5163 | + "type": "string", |
| 5164 | + "description": "Description of this mark for commenting purpose." |
| 5165 | + }, |
| 5166 | + "hconcat": { |
| 4180 | 5167 | "type": "array", |
| 4181 | 5168 | "items": { |
| 4182 | | - "type": "string" |
| 5169 | + "$ref": "#/definitions/Spec" |
| 4183 | 5170 | }, |
| 4184 | | - "description": "Fields in foreign data to lookup.\nIf not specified, the entire object is queried." |
| 5171 | + "description": "A list of views that should be concatenated and put into a row." |
| 4185 | 5172 | }, |
| 4186 | | - "key": { |
| 5173 | + "name": { |
| 4187 | 5174 | "type": "string", |
| 4188 | | - "description": "Key in data to lookup." |
| 5175 | + "description": "Name of the visualization for later reference." |
| 5176 | + }, |
| 5177 | + "resolve": { |
| 5178 | + "$ref": "#/definitions/Resolve", |
| 5179 | + "description": "Scale, axis, and legend resolutions for horizontally concatenated charts." |
| 5180 | + }, |
| 5181 | + "title": { |
| 5182 | + "$ref": "#/definitions/Title", |
| 5183 | + "description": "Title for the plot." |
| 5184 | + }, |
| 5185 | + "transform": { |
| 5186 | + "type": "array", |
| 5187 | + "items": { |
| 5188 | + "$ref": "#/definitions/Transform" |
| 5189 | + }, |
| 5190 | + "description": "An array of data transformations such as filter and new field calculation." |
| 4189 | 5191 | } |
| 4190 | 5192 | }, |
| 4191 | 5193 | "required": [ |
| 4192 | | - "data", |
| 4193 | | - "key" |
| 5194 | + "hconcat" |
| 4194 | 5195 | ], |
| 4195 | | - "title": "LookupData", |
| 4196 | | - "description": "Secondary data reference." |
| 5196 | + "title": "HConcatSpec" |
| 4197 | 5197 | }, |
| 4198 | | - "Repeat": { |
| 4199 | | - "type": "object", |
| 4200 | | - "additionalProperties": false, |
| 4201 | | - "properties": { |
| 4202 | | - "column": { |
| 4203 | | - "type": "array", |
| 4204 | | - "items": { |
| 4205 | | - "type": "string" |
| 4206 | | - }, |
| 4207 | | - "description": "Horizontal repeated views." |
| 5198 | + "TopLevel": { |
| 5199 | + "anyOf": [ |
| 5200 | + { |
| 5201 | + "$ref": "#/definitions/TopLevelFacetedUnitSpec" |
| 5202 | + }, |
| 5203 | + { |
| 5204 | + "$ref": "#/definitions/TopLevelLayerSpec" |
| 5205 | + }, |
| 5206 | + { |
| 5207 | + "$ref": "#/definitions/TopLevelFacetSpec" |
| 5208 | + }, |
| 5209 | + { |
| 5210 | + "$ref": "#/definitions/TopLevelRepeatSpec" |
| 4208 | 5211 | }, |
| 4209 | | - "row": { |
| 4210 | | - "type": "array", |
| 4211 | | - "items": { |
| 4212 | | - "type": "string" |
| 4213 | | - }, |
| 4214 | | - "description": "Vertical repeated views." |
| 5212 | + { |
| 5213 | + "$ref": "#/definitions/TopLevelVConcatSpec" |
| 5214 | + }, |
| 5215 | + { |
| 5216 | + "$ref": "#/definitions/TopLevelHConcatSpec" |
| 4215 | 5217 | } |
| 4216 | | - }, |
| 4217 | | - "required": [], |
| 4218 | | - "title": "Repeat", |
| 4219 | | - "description": "An object that describes what fields should be repeated into views that are laid out as a `row` or `column`." |
| 5218 | + ], |
| 5219 | + "title": "TopLevel" |
| 4220 | 5220 | }, |
| 4221 | 5221 | "Autosize": { |
| 4222 | 5222 | "anyOf": [ |
| | @@ -4288,7 +5288,7 @@ |
| 4288 | 5288 | } |
| 4289 | 5289 | }, |
| 4290 | 5290 | { |
| 4291 | | - "$ref": "#/definitions/CategoryVGScheme" |
| 5291 | + "$ref": "#/definitions/VGScheme" |
| 4292 | 5292 | } |
| 4293 | 5293 | ], |
| 4294 | 5294 | "title": "Category", |
| | @@ -4303,7 +5303,10 @@ |
| 4303 | 5303 | } |
| 4304 | 5304 | }, |
| 4305 | 5305 | { |
| 4306 | | - "$ref": "#/definitions/RangeConfigValueVGScheme" |
| 5306 | + "$ref": "#/definitions/VGScheme" |
| 5307 | + }, |
| 5308 | + { |
| 5309 | + "$ref": "#/definitions/RangeConfigValueClass" |
| 4307 | 5310 | } |
| 4308 | 5311 | ], |
| 4309 | 5312 | "title": "RangeConfigValue" |
| | @@ -4332,6 +5335,56 @@ |
| 4332 | 5335 | "title": "Translate", |
| 4333 | 5336 | "description": "When truthy, allows a user to interactively move an interval selection\nback-and-forth. Can be `true`, `false` (to disable panning), or a\n[Vega event stream definition](https://vega.github.io/vega/docs/event-streams/)\nwhich must include a start and end event to trigger continuous panning.\n\n__Default value:__ `true`, which corresponds to\n`[mousedown, window:mouseup] > window:mousemove!` which corresponds to\nclicks and dragging within an interval selection to reposition it.\nWhen truthy, allows a user to interactively resize an interval selection.\nCan be `true`, `false` (to disable zooming), or a [Vega event stream\ndefinition](https://vega.github.io/vega/docs/event-streams/). Currently,\nonly `wheel` events are supported.\n\n\n__Default value:__ `true`, which corresponds to `wheel!`.\nControls whether data values should be toggled or only ever inserted into\nmulti selections. Can be `true`, `false` (for insertion only), or a\n[Vega expression](https://vega.github.io/vega/docs/expressions/).\n\n__Default value:__ `true`, which corresponds to `event.shiftKey` (i.e.,\ndata values are toggled when a user interacts with the shift-key pressed).\n\nSee the [toggle transform](toggle.html) documentation for more information." |
| 4334 | 5337 | }, |
| 5338 | + "VGBinding": { |
| 5339 | + "anyOf": [ |
| 5340 | + { |
| 5341 | + "$ref": "#/definitions/VGCheckboxBinding" |
| 5342 | + }, |
| 5343 | + { |
| 5344 | + "$ref": "#/definitions/VGRadioBinding" |
| 5345 | + }, |
| 5346 | + { |
| 5347 | + "$ref": "#/definitions/VGSelectBinding" |
| 5348 | + }, |
| 5349 | + { |
| 5350 | + "$ref": "#/definitions/VGRangeBinding" |
| 5351 | + }, |
| 5352 | + { |
| 5353 | + "$ref": "#/definitions/VGGenericBinding" |
| 5354 | + } |
| 5355 | + ], |
| 5356 | + "title": "VGBinding" |
| 5357 | + }, |
| 5358 | + "Data": { |
| 5359 | + "anyOf": [ |
| 5360 | + { |
| 5361 | + "$ref": "#/definitions/URLData" |
| 5362 | + }, |
| 5363 | + { |
| 5364 | + "$ref": "#/definitions/InlineData" |
| 5365 | + }, |
| 5366 | + { |
| 5367 | + "$ref": "#/definitions/NamedData" |
| 5368 | + } |
| 5369 | + ], |
| 5370 | + "title": "Data", |
| 5371 | + "description": "An object describing the data source\nSecondary data source to lookup in." |
| 5372 | + }, |
| 5373 | + "DataFormat": { |
| 5374 | + "anyOf": [ |
| 5375 | + { |
| 5376 | + "$ref": "#/definitions/CSVDataFormat" |
| 5377 | + }, |
| 5378 | + { |
| 5379 | + "$ref": "#/definitions/JSONDataFormat" |
| 5380 | + }, |
| 5381 | + { |
| 5382 | + "$ref": "#/definitions/TopoDataFormat" |
| 5383 | + } |
| 5384 | + ], |
| 5385 | + "title": "DataFormat", |
| 5386 | + "description": "An object that specifies the format for parsing the data file.\nAn object that specifies the format for parsing the data values.\nAn object that specifies the format for parsing the data." |
| 5387 | + }, |
| 4335 | 5388 | "ParseUnion": { |
| 4336 | 5389 | "anyOf": [ |
| 4337 | 5390 | { |
| | @@ -4381,6 +5434,18 @@ |
| 4381 | 5434 | ], |
| 4382 | 5435 | "title": "ValuesValue" |
| 4383 | 5436 | }, |
| 5437 | + "Color": { |
| 5438 | + "anyOf": [ |
| 5439 | + { |
| 5440 | + "$ref": "#/definitions/MarkPropFieldDefWithCondition" |
| 5441 | + }, |
| 5442 | + { |
| 5443 | + "$ref": "#/definitions/MarkPropValueDefWithCondition" |
| 5444 | + } |
| 5445 | + ], |
| 5446 | + "title": "Color", |
| 5447 | + "description": "Color of the marks – either fill or stroke color based on mark type.\nBy default, `color` represents fill color for `\"area\"`, `\"bar\"`, `\"tick\"`,\n`\"text\"`, `\"circle\"`, and `\"square\"` / stroke color for `\"line\"` and `\"point\"`.\n\n__Default value:__ If undefined, the default color depends on [mark config](config.html#mark)'s `color` property.\n\n_Note:_ See the scale documentation for more information about customizing [color scheme](scale.html#scheme).\nOpacity of the marks – either can be a value or a range.\n\n__Default value:__ If undefined, the default opacity depends on [mark config](config.html#mark)'s `opacity` property.\nFor `point` marks the supported values are\n`\"circle\"` (default), `\"square\"`, `\"cross\"`, `\"diamond\"`, `\"triangle-up\"`,\nor `\"triangle-down\"`, or else a custom SVG path string.\nFor `geoshape` marks it should be a field definition of the geojson data\n\n__Default value:__ If undefined, the default shape depends on [mark config](config.html#point-config)'s `shape` property.\nSize of the mark.\n- For `\"point\"`, `\"square\"` and `\"circle\"`, – the symbol size, or pixel area of the mark.\n- For `\"bar\"` and `\"tick\"` – the bar and tick's size.\n- For `\"text\"` – the text's font size.\n- Size is currently unsupported for `\"line\"`, `\"area\"`, and `\"rect\"`." |
| 5448 | + }, |
| 4384 | 5449 | "Bin": { |
| 4385 | 5450 | "anyOf": [ |
| 4386 | 5451 | { |
| | @@ -4392,7 +5457,7 @@ |
| 4392 | 5457 | ], |
| 4393 | 5458 | "title": "Bin" |
| 4394 | 5459 | }, |
| 4395 | | - "ColorCondition": { |
| 5460 | + "ConditionUnion": { |
| 4396 | 5461 | "anyOf": [ |
| 4397 | 5462 | { |
| 4398 | 5463 | "type": "array", |
| | @@ -4401,27 +5466,47 @@ |
| 4401 | 5466 | } |
| 4402 | 5467 | }, |
| 4403 | 5468 | { |
| 4404 | | - "$ref": "#/definitions/ConditionalPredicateMarkPropFieldDefClass" |
| 5469 | + "$ref": "#/definitions/ConditionalPredicateValueDef" |
| 5470 | + }, |
| 5471 | + { |
| 5472 | + "$ref": "#/definitions/ConditionalSelectionValueDef" |
| 4405 | 5473 | } |
| 4406 | 5474 | ], |
| 4407 | | - "title": "ColorCondition" |
| 5475 | + "title": "ConditionUnion" |
| 4408 | 5476 | }, |
| 4409 | | - "SelectionOperand": { |
| 5477 | + "ConditionalValueDef": { |
| 4410 | 5478 | "anyOf": [ |
| 4411 | 5479 | { |
| 4412 | | - "$ref": "#/definitions/Selection" |
| 5480 | + "$ref": "#/definitions/ConditionalPredicateValueDef" |
| 4413 | 5481 | }, |
| 4414 | 5482 | { |
| 4415 | | - "type": "string" |
| 5483 | + "$ref": "#/definitions/ConditionalSelectionValueDef" |
| 4416 | 5484 | } |
| 4417 | 5485 | ], |
| 4418 | | - "title": "SelectionOperand", |
| 4419 | | - "description": "Filter using a selection name.\nA [selection name](selection.html), or a series of [composed selections](selection.html#compose)." |
| 5486 | + "title": "ConditionalValueDef" |
| 4420 | 5487 | }, |
| 4421 | 5488 | "LogicalOperandPredicate": { |
| 4422 | 5489 | "anyOf": [ |
| 4423 | 5490 | { |
| 4424 | | - "$ref": "#/definitions/Predicate" |
| 5491 | + "$ref": "#/definitions/LogicalNotPredicate" |
| 5492 | + }, |
| 5493 | + { |
| 5494 | + "$ref": "#/definitions/LogicalAndPredicate" |
| 5495 | + }, |
| 5496 | + { |
| 5497 | + "$ref": "#/definitions/LogicalOrPredicate" |
| 5498 | + }, |
| 5499 | + { |
| 5500 | + "$ref": "#/definitions/FieldEqualPredicate" |
| 5501 | + }, |
| 5502 | + { |
| 5503 | + "$ref": "#/definitions/FieldRangePredicate" |
| 5504 | + }, |
| 5505 | + { |
| 5506 | + "$ref": "#/definitions/FieldOneOfPredicate" |
| 5507 | + }, |
| 5508 | + { |
| 5509 | + "$ref": "#/definitions/SelectionPredicate" |
| 4425 | 5510 | }, |
| 4426 | 5511 | { |
| 4427 | 5512 | "type": "string" |
| | @@ -4472,7 +5557,25 @@ |
| 4472 | 5557 | ], |
| 4473 | 5558 | "title": "RangeElement" |
| 4474 | 5559 | }, |
| 4475 | | - "ConditionalValueDefValue": { |
| 5560 | + "SelectionOperand": { |
| 5561 | + "anyOf": [ |
| 5562 | + { |
| 5563 | + "$ref": "#/definitions/SelectionNot" |
| 5564 | + }, |
| 5565 | + { |
| 5566 | + "$ref": "#/definitions/SelectionAnd" |
| 5567 | + }, |
| 5568 | + { |
| 5569 | + "$ref": "#/definitions/SelectionOr" |
| 5570 | + }, |
| 5571 | + { |
| 5572 | + "type": "string" |
| 5573 | + } |
| 5574 | + ], |
| 5575 | + "title": "SelectionOperand", |
| 5576 | + "description": "Filter using a selection name.\nA [selection name](selection.html), or a series of [composed selections](selection.html#compose)." |
| 5577 | + }, |
| 5578 | + "ConditionValue": { |
| 4476 | 5579 | "anyOf": [ |
| 4477 | 5580 | { |
| 4478 | 5581 | "type": "boolean" |
| | @@ -4484,7 +5587,7 @@ |
| 4484 | 5587 | "type": "string" |
| 4485 | 5588 | } |
| 4486 | 5589 | ], |
| 4487 | | - "title": "ConditionalValueDefValue", |
| 5590 | + "title": "ConditionValue", |
| 4488 | 5591 | "description": "A constant value in visual domain (e.g., `\"red\"` / \"#0099ff\" for color, values between `0` to `1` for opacity).\nA constant value in visual domain." |
| 4489 | 5592 | }, |
| 4490 | 5593 | "Field": { |
| | @@ -4522,7 +5625,10 @@ |
| 4522 | 5625 | "description": "A set of values that the `field`'s value should be a member of,\nfor a data item included in the filtered data." |
| 4523 | 5626 | }, |
| 4524 | 5627 | { |
| 4525 | | - "$ref": "#/definitions/DomainClass" |
| 5628 | + "$ref": "#/definitions/PurpleSelectionDomain" |
| 5629 | + }, |
| 5630 | + { |
| 5631 | + "$ref": "#/definitions/FluffySelectionDomain" |
| 4526 | 5632 | }, |
| 4527 | 5633 | { |
| 4528 | 5634 | "$ref": "#/definitions/Domain" |
| | @@ -4612,7 +5718,7 @@ |
| 4612 | 5718 | "$ref": "#/definitions/SortField" |
| 4613 | 5719 | }, |
| 4614 | 5720 | { |
| 4615 | | - "$ref": "#/definitions/SortEnum" |
| 5721 | + "$ref": "#/definitions/SortOrderEnum" |
| 4616 | 5722 | }, |
| 4617 | 5723 | { |
| 4618 | 5724 | "type": "null" |
| | @@ -4620,6 +5726,30 @@ |
| 4620 | 5726 | ], |
| 4621 | 5727 | "title": "SortUnion" |
| 4622 | 5728 | }, |
| 5729 | + "ColorCondition": { |
| 5730 | + "anyOf": [ |
| 5731 | + { |
| 5732 | + "type": "array", |
| 5733 | + "items": { |
| 5734 | + "$ref": "#/definitions/ConditionalValueDef" |
| 5735 | + } |
| 5736 | + }, |
| 5737 | + { |
| 5738 | + "$ref": "#/definitions/ConditionalPredicateMarkPropFieldDef" |
| 5739 | + }, |
| 5740 | + { |
| 5741 | + "$ref": "#/definitions/ConditionalSelectionMarkPropFieldDef" |
| 5742 | + }, |
| 5743 | + { |
| 5744 | + "$ref": "#/definitions/ConditionalPredicateValueDef" |
| 5745 | + }, |
| 5746 | + { |
| 5747 | + "$ref": "#/definitions/ConditionalSelectionValueDef" |
| 5748 | + } |
| 5749 | + ], |
| 5750 | + "title": "ColorCondition", |
| 5751 | + "description": "A field definition or one or more value definition(s) with a selection predicate." |
| 5752 | + }, |
| 4623 | 5753 | "Detail": { |
| 4624 | 5754 | "anyOf": [ |
| 4625 | 5755 | { |
| | @@ -4634,6 +5764,18 @@ |
| 4634 | 5764 | ], |
| 4635 | 5765 | "title": "Detail" |
| 4636 | 5766 | }, |
| 5767 | + "Href": { |
| 5768 | + "anyOf": [ |
| 5769 | + { |
| 5770 | + "$ref": "#/definitions/FieldDefWithCondition" |
| 5771 | + }, |
| 5772 | + { |
| 5773 | + "$ref": "#/definitions/ValueDefWithCondition" |
| 5774 | + } |
| 5775 | + ], |
| 5776 | + "title": "Href", |
| 5777 | + "description": "A URL to load upon mouse click." |
| 5778 | + }, |
| 4637 | 5779 | "HrefCondition": { |
| 4638 | 5780 | "anyOf": [ |
| 4639 | 5781 | { |
| | @@ -4643,10 +5785,20 @@ |
| 4643 | 5785 | } |
| 4644 | 5786 | }, |
| 4645 | 5787 | { |
| 4646 | | - "$ref": "#/definitions/ConditionalPredicateFieldDefClass" |
| 5788 | + "$ref": "#/definitions/ConditionalPredicateFieldDef" |
| 5789 | + }, |
| 5790 | + { |
| 5791 | + "$ref": "#/definitions/ConditionalSelectionFieldDef" |
| 5792 | + }, |
| 5793 | + { |
| 5794 | + "$ref": "#/definitions/ConditionalPredicateValueDef" |
| 5795 | + }, |
| 5796 | + { |
| 5797 | + "$ref": "#/definitions/ConditionalSelectionValueDef" |
| 4647 | 5798 | } |
| 4648 | 5799 | ], |
| 4649 | | - "title": "HrefCondition" |
| 5800 | + "title": "HrefCondition", |
| 5801 | + "description": "A field definition or one or more value definition(s) with a selection predicate." |
| 4650 | 5802 | }, |
| 4651 | 5803 | "Order": { |
| 4652 | 5804 | "anyOf": [ |
| | @@ -4662,6 +5814,18 @@ |
| 4662 | 5814 | ], |
| 4663 | 5815 | "title": "Order" |
| 4664 | 5816 | }, |
| 5817 | + "Text": { |
| 5818 | + "anyOf": [ |
| 5819 | + { |
| 5820 | + "$ref": "#/definitions/TextFieldDefWithCondition" |
| 5821 | + }, |
| 5822 | + { |
| 5823 | + "$ref": "#/definitions/TextValueDefWithCondition" |
| 5824 | + } |
| 5825 | + ], |
| 5826 | + "title": "Text", |
| 5827 | + "description": "Text of the `text` mark.\nThe tooltip text to show upon mouse hover." |
| 5828 | + }, |
| 4665 | 5829 | "TextCondition": { |
| 4666 | 5830 | "anyOf": [ |
| 4667 | 5831 | { |
| | @@ -4671,10 +5835,32 @@ |
| 4671 | 5835 | } |
| 4672 | 5836 | }, |
| 4673 | 5837 | { |
| 4674 | | - "$ref": "#/definitions/ConditionalPredicateTextFieldDefClass" |
| 5838 | + "$ref": "#/definitions/ConditionalPredicateTextFieldDef" |
| 5839 | + }, |
| 5840 | + { |
| 5841 | + "$ref": "#/definitions/ConditionalSelectionTextFieldDef" |
| 5842 | + }, |
| 5843 | + { |
| 5844 | + "$ref": "#/definitions/ConditionalPredicateValueDef" |
| 5845 | + }, |
| 5846 | + { |
| 5847 | + "$ref": "#/definitions/ConditionalSelectionValueDef" |
| 5848 | + } |
| 5849 | + ], |
| 5850 | + "title": "TextCondition", |
| 5851 | + "description": "A field definition or one or more value definition(s) with a selection predicate." |
| 5852 | + }, |
| 5853 | + "X": { |
| 5854 | + "anyOf": [ |
| 5855 | + { |
| 5856 | + "$ref": "#/definitions/PositionFieldDef" |
| 5857 | + }, |
| 5858 | + { |
| 5859 | + "$ref": "#/definitions/ValueDef" |
| 4675 | 5860 | } |
| 4676 | 5861 | ], |
| 4677 | | - "title": "TextCondition" |
| 5862 | + "title": "X", |
| 5863 | + "description": "X coordinates of the marks, or width of horizontal `\"bar\"` and `\"area\"`.\nY coordinates of the marks, or height of vertical `\"bar\"` and `\"area\"`." |
| 4678 | 5864 | }, |
| 4679 | 5865 | "AxisValue": { |
| 4680 | 5866 | "anyOf": [ |
| | @@ -4687,6 +5873,18 @@ |
| 4687 | 5873 | ], |
| 4688 | 5874 | "title": "AxisValue" |
| 4689 | 5875 | }, |
| 5876 | + "X2": { |
| 5877 | + "anyOf": [ |
| 5878 | + { |
| 5879 | + "$ref": "#/definitions/FieldDef" |
| 5880 | + }, |
| 5881 | + { |
| 5882 | + "$ref": "#/definitions/ValueDef" |
| 5883 | + } |
| 5884 | + ], |
| 5885 | + "title": "X2", |
| 5886 | + "description": "X2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`.\nY2 coordinates for ranged `\"area\"`, `\"bar\"`, `\"rect\"`, and `\"rule\"`." |
| 5887 | + }, |
| 4690 | 5888 | "AnyMark": { |
| 4691 | 5889 | "anyOf": [ |
| 4692 | 5890 | { |
| | @@ -4712,22 +5910,21 @@ |
| 4712 | 5910 | } |
| 4713 | 5911 | ], |
| 4714 | 5912 | "title": "Style", |
| 4715 | | - "description": "A string or array of strings indicating the name of custom styles to apply to the mark. A style is a named collection of mark property defaults defined within the [style configuration](mark.html#style-config). If style is an array, later styles will override earlier styles. Any [mark properties](encoding.html#mark-prop) explicitly defined within the `encoding` will override a style default.\n\n__Default value:__ The mark's name. For example, a bar mark will have style `\"bar\"` by default.\n__Note:__ Any specified style will augment the default style. For example, a bar mark with `\"style\": \"foo\"` will receive from `config.style.bar` and `config.style.foo` (the specified style `\"foo\"` has higher precedence).\nA [mark style property](config.html#style) to apply to the title text mark.\n\n__Default value:__ `\"group-title\"`." |
| 5913 | + "description": "A string or array of strings indicating the name of custom styles to apply to the mark. A style is a named collection of mark property defaults defined within the [style configuration](mark.html#style-config). If style is an array, later styles will override earlier styles. Any [mark properties](encoding.html#mark-prop) explicitly defined within the `encoding` will override a style default.\n\n__Default value:__ The mark's name. For example, a bar mark will have style `\"bar\"` by default.\n__Note:__ Any specified style will augment the default style. For example, a bar mark with `\"style\": \"foo\"` will receive from `config.style.bar` and `config.style.foo` (the specified style `\"foo\"` has higher precedence).\nA [mark style property](config.html#style) to apply to the title text mark.\n\n__Default value:__ `\"group-title\"`.\nThe field or fields for storing the computed formula value.\nIf `from.fields` is specified, the transform will use the same names for `as`.\nIf `from.fields` is not specified, `as` has to be a string and we put the whole object into the data under the specified name." |
| 4716 | 5914 | }, |
| 4717 | | - "BindUnion": { |
| 5915 | + "SelectionDef": { |
| 4718 | 5916 | "anyOf": [ |
| 4719 | 5917 | { |
| 4720 | | - "$ref": "#/definitions/BindEnum" |
| 5918 | + "$ref": "#/definitions/SingleSelection" |
| 4721 | 5919 | }, |
| 4722 | 5920 | { |
| 4723 | | - "type": "object", |
| 4724 | | - "additionalProperties": { |
| 4725 | | - "$ref": "#/definitions/VGBinding" |
| 4726 | | - }, |
| 4727 | | - "description": "Establish a two-way binding between a single selection and input elements\n(also known as dynamic query widgets). A binding takes the form of\nVega's [input element binding definition](https://vega.github.io/vega/docs/signals/#bind)\nor can be a mapping between projected field/encodings and binding definitions.\n\nSee the [bind transform](bind.html) documentation for more information." |
| 5921 | + "$ref": "#/definitions/MultiSelection" |
| 5922 | + }, |
| 5923 | + { |
| 5924 | + "$ref": "#/definitions/IntervalSelection" |
| 4728 | 5925 | } |
| 4729 | 5926 | ], |
| 4730 | | - "title": "BindUnion" |
| 5927 | + "title": "SelectionDef" |
| 4731 | 5928 | }, |
| 4732 | 5929 | "Title": { |
| 4733 | 5930 | "anyOf": [ |
| | @@ -4740,6 +5937,63 @@ |
| 4740 | 5937 | ], |
| 4741 | 5938 | "title": "Title" |
| 4742 | 5939 | }, |
| 5940 | + "Transform": { |
| 5941 | + "anyOf": [ |
| 5942 | + { |
| 5943 | + "$ref": "#/definitions/FilterTransform" |
| 5944 | + }, |
| 5945 | + { |
| 5946 | + "$ref": "#/definitions/CalculateTransform" |
| 5947 | + }, |
| 5948 | + { |
| 5949 | + "$ref": "#/definitions/LookupTransform" |
| 5950 | + }, |
| 5951 | + { |
| 5952 | + "$ref": "#/definitions/BinTransform" |
| 5953 | + }, |
| 5954 | + { |
| 5955 | + "$ref": "#/definitions/TimeUnitTransform" |
| 5956 | + }, |
| 5957 | + { |
| 5958 | + "$ref": "#/definitions/AggregateTransform" |
| 5959 | + } |
| 5960 | + ], |
| 5961 | + "title": "Transform" |
| 5962 | + }, |
| 5963 | + "SpecElement": { |
| 5964 | + "anyOf": [ |
| 5965 | + { |
| 5966 | + "$ref": "#/definitions/LayerSpec" |
| 5967 | + }, |
| 5968 | + { |
| 5969 | + "$ref": "#/definitions/CompositeUnitSpecAlias" |
| 5970 | + } |
| 5971 | + ], |
| 5972 | + "title": "SpecElement" |
| 5973 | + }, |
| 5974 | + "Spec": { |
| 5975 | + "anyOf": [ |
| 5976 | + { |
| 5977 | + "$ref": "#/definitions/CompositeUnitSpecAlias" |
| 5978 | + }, |
| 5979 | + { |
| 5980 | + "$ref": "#/definitions/LayerSpec" |
| 5981 | + }, |
| 5982 | + { |
| 5983 | + "$ref": "#/definitions/FacetSpec" |
| 5984 | + }, |
| 5985 | + { |
| 5986 | + "$ref": "#/definitions/RepeatSpec" |
| 5987 | + }, |
| 5988 | + { |
| 5989 | + "$ref": "#/definitions/VConcatSpec" |
| 5990 | + }, |
| 5991 | + { |
| 5992 | + "$ref": "#/definitions/HConcatSpec" |
| 5993 | + } |
| 5994 | + ], |
| 5995 | + "title": "Spec" |
| 5996 | + }, |
| 4743 | 5997 | "AutosizeType": { |
| 4744 | 5998 | "type": "string", |
| 4745 | 5999 | "enum": [ |
| | @@ -4908,6 +6162,14 @@ |
| 4908 | 6162 | "title": "VGProjectionType", |
| 4909 | 6163 | "description": "The cartographic projection to use. This value is case-insensitive, for example `\"albers\"` and `\"Albers\"` indicate the same projection type. You can find all valid projection types [in the documentation](https://vega.github.io/vega-lite/docs/projection.html#projection-types).\n\n__Default value:__ `mercator`" |
| 4910 | 6164 | }, |
| 6165 | + "Bind": { |
| 6166 | + "type": "string", |
| 6167 | + "enum": [ |
| 6168 | + "scales" |
| 6169 | + ], |
| 6170 | + "title": "Bind", |
| 6171 | + "description": "Establishes a two-way binding between the interval selection and the scales\nused within the same view. This allows a user to interactively pan and\nzoom the view." |
| 6172 | + }, |
| 4911 | 6173 | "Empty": { |
| 4912 | 6174 | "type": "string", |
| 4913 | 6175 | "enum": [ |
| | @@ -4946,6 +6208,34 @@ |
| 4946 | 6208 | "title": "SelectionResolution", |
| 4947 | 6209 | "description": "With layered and multi-view displays, a strategy that determines how\nselections' data queries are resolved when applied in a filter transform,\nconditional encoding rule, or scale domain." |
| 4948 | 6210 | }, |
| 6211 | + "PurpleInput": { |
| 6212 | + "type": "string", |
| 6213 | + "enum": [ |
| 6214 | + "checkbox" |
| 6215 | + ], |
| 6216 | + "title": "PurpleInput" |
| 6217 | + }, |
| 6218 | + "FluffyInput": { |
| 6219 | + "type": "string", |
| 6220 | + "enum": [ |
| 6221 | + "radio" |
| 6222 | + ], |
| 6223 | + "title": "FluffyInput" |
| 6224 | + }, |
| 6225 | + "TentacledInput": { |
| 6226 | + "type": "string", |
| 6227 | + "enum": [ |
| 6228 | + "select" |
| 6229 | + ], |
| 6230 | + "title": "TentacledInput" |
| 6231 | + }, |
| 6232 | + "StickyInput": { |
| 6233 | + "type": "string", |
| 6234 | + "enum": [ |
| 6235 | + "range" |
| 6236 | + ], |
| 6237 | + "title": "StickyInput" |
| 6238 | + }, |
| 4949 | 6239 | "Anchor": { |
| 4950 | 6240 | "type": "string", |
| 4951 | 6241 | "enum": [ |
| | @@ -4974,15 +6264,29 @@ |
| 4974 | 6264 | ], |
| 4975 | 6265 | "title": "ParseEnum" |
| 4976 | 6266 | }, |
| 4977 | | - "DataFormatType": { |
| 6267 | + "PurpleType": { |
| 4978 | 6268 | "type": "string", |
| 4979 | 6269 | "enum": [ |
| 4980 | 6270 | "csv", |
| 4981 | | - "tsv", |
| 4982 | | - "json", |
| 6271 | + "tsv" |
| 6272 | + ], |
| 6273 | + "title": "PurpleType", |
| 6274 | + "description": "Type of input data: `\"json\"`, `\"csv\"`, `\"tsv\"`.\nThe default format type is determined by the extension of the file URL.\nIf no extension is detected, `\"json\"` will be used by default." |
| 6275 | + }, |
| 6276 | + "FluffyType": { |
| 6277 | + "type": "string", |
| 6278 | + "enum": [ |
| 6279 | + "json" |
| 6280 | + ], |
| 6281 | + "title": "FluffyType", |
| 6282 | + "description": "Type of input data: `\"json\"`, `\"csv\"`, `\"tsv\"`.\nThe default format type is determined by the extension of the file URL.\nIf no extension is detected, `\"json\"` will be used by default." |
| 6283 | + }, |
| 6284 | + "TentacledType": { |
| 6285 | + "type": "string", |
| 6286 | + "enum": [ |
| 4983 | 6287 | "topojson" |
| 4984 | 6288 | ], |
| 4985 | | - "title": "DataFormatType", |
| 6289 | + "title": "TentacledType", |
| 4986 | 6290 | "description": "Type of input data: `\"json\"`, `\"csv\"`, `\"tsv\"`.\nThe default format type is determined by the extension of the file URL.\nIf no extension is detected, `\"json\"` will be used by default." |
| 4987 | 6291 | }, |
| 4988 | 6292 | "AggregateOp": { |
| | @@ -5149,13 +6453,13 @@ |
| 5149 | 6453 | "title": "ScaleType", |
| 5150 | 6454 | "description": "The type of scale. Vega-Lite supports the following categories of scale types:\n\n1) [**Continuous Scales**](scale.html#continuous) -- mapping continuous domains to continuous output ranges ([`\"linear\"`](scale.html#linear), [`\"pow\"`](scale.html#pow), [`\"sqrt\"`](scale.html#sqrt), [`\"log\"`](scale.html#log), [`\"time\"`](scale.html#time), [`\"utc\"`](scale.html#utc), [`\"sequential\"`](scale.html#sequential)).\n\n2) [**Discrete Scales**](scale.html#discrete) -- mapping discrete domains to discrete ([`\"ordinal\"`](scale.html#ordinal)) or continuous ([`\"band\"`](scale.html#band) and [`\"point\"`](scale.html#point)) output ranges.\n\n3) [**Discretizing Scales**](scale.html#discretizing) -- mapping continuous domains to discrete output ranges ([`\"bin-linear\"`](scale.html#bin-linear) and [`\"bin-ordinal\"`](scale.html#bin-ordinal)).\n\n__Default value:__ please see the [scale type table](scale.html#type)." |
| 5151 | 6455 | }, |
| 5152 | | - "SortEnum": { |
| 6456 | + "SortOrderEnum": { |
| 5153 | 6457 | "type": "string", |
| 5154 | 6458 | "enum": [ |
| 5155 | 6459 | "ascending", |
| 5156 | 6460 | "descending" |
| 5157 | 6461 | ], |
| 5158 | | - "title": "SortEnum" |
| 6462 | + "title": "SortOrderEnum" |
| 5159 | 6463 | }, |
| 5160 | 6464 | "Type": { |
| 5161 | 6465 | "type": "string", |
| | @@ -5199,30 +6503,34 @@ |
| 5199 | 6503 | "title": "Mark", |
| 5200 | 6504 | "description": "All types of primitive marks.\nThe mark type.\nOne of `\"bar\"`, `\"circle\"`, `\"square\"`, `\"tick\"`, `\"line\"`,\n`\"area\"`, `\"point\"`, `\"geoshape\"`, `\"rule\"`, and `\"text\"`." |
| 5201 | 6505 | }, |
| 5202 | | - "ResolveMode": { |
| 6506 | + "StickyType": { |
| 5203 | 6507 | "type": "string", |
| 5204 | 6508 | "enum": [ |
| 5205 | | - "independent", |
| 5206 | | - "shared" |
| 6509 | + "single" |
| 5207 | 6510 | ], |
| 5208 | | - "title": "ResolveMode" |
| 6511 | + "title": "StickyType" |
| 5209 | 6512 | }, |
| 5210 | | - "BindEnum": { |
| 6513 | + "IndigoType": { |
| 5211 | 6514 | "type": "string", |
| 5212 | 6515 | "enum": [ |
| 5213 | | - "scales" |
| 6516 | + "multi" |
| 5214 | 6517 | ], |
| 5215 | | - "title": "BindEnum", |
| 5216 | | - "description": "Establishes a two-way binding between the interval selection and the scales\nused within the same view. This allows a user to interactively pan and\nzoom the view." |
| 6518 | + "title": "IndigoType" |
| 5217 | 6519 | }, |
| 5218 | | - "SelectionDefType": { |
| 6520 | + "IndecentType": { |
| 5219 | 6521 | "type": "string", |
| 5220 | 6522 | "enum": [ |
| 5221 | | - "single", |
| 5222 | | - "multi", |
| 5223 | 6523 | "interval" |
| 5224 | 6524 | ], |
| 5225 | | - "title": "SelectionDefType" |
| 6525 | + "title": "IndecentType" |
| 6526 | + }, |
| 6527 | + "ResolveMode": { |
| 6528 | + "type": "string", |
| 6529 | + "enum": [ |
| 6530 | + "independent", |
| 6531 | + "shared" |
| 6532 | + ], |
| 6533 | + "title": "ResolveMode" |
| 5226 | 6534 | } |
| 5227 | 6535 | } |
| 5228 | 6536 | } |