From 64b361919767c3950ad225eb2ddd282fa9b36d7a Mon Sep 17 00:00:00 2001 From: Dominik Moritz Date: Thu, 8 Feb 2024 10:21:12 -0800 Subject: [PATCH 1/5] chore: update deps --- package.json | 8 ++-- yarn.lock | 110 +++++++++++++++++++++++++-------------------------- 2 files changed, 59 insertions(+), 59 deletions(-) diff --git a/package.json b/package.json index 30e12dd3c6..9631b63bf5 100644 --- a/package.json +++ b/package.json @@ -89,10 +89,10 @@ "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-terser": "^0.4.4", "@types/d3": "^7.4.3", - "@types/jest": "^29.5.11", + "@types/jest": "^29.5.12", "@types/pako": "^2.0.3", - "@typescript-eslint/eslint-plugin": "^6.20.0", - "@typescript-eslint/parser": "^6.20.0", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", "ajv": "^8.12.0", "ajv-formats": "^2.1.1", "cheerio": "^1.0.0-rc.12", @@ -109,7 +109,7 @@ "jest-dev-server": "^9.0.2", "mkdirp": "^3.0.1", "pako": "^2.1.0", - "prettier": "^3.2.4", + "prettier": "^3.2.5", "puppeteer": "^15.0.0", "release-it": "^17.0.3", "rollup": "^4.9.6", diff --git a/yarn.lock b/yarn.lock index d9e316abde..2c6ca4d155 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2034,7 +2034,7 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@^29.5.11": +"@types/jest@^29.5.12": version "29.5.12" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== @@ -2103,16 +2103,16 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.20.0.tgz#9cf31546d2d5e884602626d89b0e0d2168ac25ed" - integrity sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg== +"@typescript-eslint/eslint-plugin@^6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3" + integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== dependencies: "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.20.0" - "@typescript-eslint/type-utils" "6.20.0" - "@typescript-eslint/utils" "6.20.0" - "@typescript-eslint/visitor-keys" "6.20.0" + "@typescript-eslint/scope-manager" "6.21.0" + "@typescript-eslint/type-utils" "6.21.0" + "@typescript-eslint/utils" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" debug "^4.3.4" graphemer "^1.4.0" ignore "^5.2.4" @@ -2120,15 +2120,15 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/parser@^6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.20.0.tgz#17e314177304bdf498527e3c4b112e41287b7416" - integrity sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w== +"@typescript-eslint/parser@^6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b" + integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== dependencies: - "@typescript-eslint/scope-manager" "6.20.0" - "@typescript-eslint/types" "6.20.0" - "@typescript-eslint/typescript-estree" "6.20.0" - "@typescript-eslint/visitor-keys" "6.20.0" + "@typescript-eslint/scope-manager" "6.21.0" + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/typescript-estree" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" debug "^4.3.4" "@typescript-eslint/scope-manager@5.62.0": @@ -2139,21 +2139,21 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0" -"@typescript-eslint/scope-manager@6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.20.0.tgz#8a926e60f6c47feb5bab878246dc2ae465730151" - integrity sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA== +"@typescript-eslint/scope-manager@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1" + integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== dependencies: - "@typescript-eslint/types" "6.20.0" - "@typescript-eslint/visitor-keys" "6.20.0" + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" -"@typescript-eslint/type-utils@6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.20.0.tgz#d395475cd0f3610dd80c7d8716fa0db767da3831" - integrity sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g== +"@typescript-eslint/type-utils@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e" + integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== dependencies: - "@typescript-eslint/typescript-estree" "6.20.0" - "@typescript-eslint/utils" "6.20.0" + "@typescript-eslint/typescript-estree" "6.21.0" + "@typescript-eslint/utils" "6.21.0" debug "^4.3.4" ts-api-utils "^1.0.1" @@ -2162,10 +2162,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== -"@typescript-eslint/types@6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.20.0.tgz#5ccd74c29011ae7714ae6973e4ec0c634708b448" - integrity sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ== +"@typescript-eslint/types@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" + integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" @@ -2180,13 +2180,13 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.20.0.tgz#5b2d0975949e6bdd8d45ee1471461ef5fadc5542" - integrity sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g== +"@typescript-eslint/typescript-estree@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46" + integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== dependencies: - "@typescript-eslint/types" "6.20.0" - "@typescript-eslint/visitor-keys" "6.20.0" + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -2194,17 +2194,17 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/utils@6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.20.0.tgz#0e52afcfaa51af5656490ba4b7437cc3aa28633d" - integrity sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg== +"@typescript-eslint/utils@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" + integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" "@types/json-schema" "^7.0.12" "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.20.0" - "@typescript-eslint/types" "6.20.0" - "@typescript-eslint/typescript-estree" "6.20.0" + "@typescript-eslint/scope-manager" "6.21.0" + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/typescript-estree" "6.21.0" semver "^7.5.4" "@typescript-eslint/utils@^5.10.0": @@ -2229,12 +2229,12 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.20.0.tgz#f7ada27f2803de89df0edd9fd7be22c05ce6a498" - integrity sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw== +"@typescript-eslint/visitor-keys@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47" + integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== dependencies: - "@typescript-eslint/types" "6.20.0" + "@typescript-eslint/types" "6.21.0" eslint-visitor-keys "^3.4.1" "@ungap/structured-clone@^1.2.0": @@ -6868,10 +6868,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.4.tgz#4723cadeac2ce7c9227de758e5ff9b14e075f283" - integrity sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ== +prettier@^3.2.5: + version "3.2.5" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" + integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== pretty-bytes@^3.0.0: version "3.0.1" From 25fcca2e001d8e93cec34b7028c0f9d34552ce1e Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Thu, 8 Feb 2024 18:23:35 +0000 Subject: [PATCH 2/5] chore: update examples [CI] --- examples/compiled/line_dynamic_axis.png | Bin 0 -> 7011 bytes examples/compiled/line_dynamic_axis.svg | 1 + examples/compiled/line_dynamic_axis.vg.json | 157 ++++++++++++++++++ .../line_dynamic_axis_normalized.vl.json | 44 +++++ 4 files changed, 202 insertions(+) create mode 100644 examples/compiled/line_dynamic_axis.png create mode 100644 examples/compiled/line_dynamic_axis.svg create mode 100644 examples/compiled/line_dynamic_axis.vg.json create mode 100644 examples/specs/normalized/line_dynamic_axis_normalized.vl.json diff --git a/examples/compiled/line_dynamic_axis.png b/examples/compiled/line_dynamic_axis.png new file mode 100644 index 0000000000000000000000000000000000000000..ba4d1e4fce10961da9246e0b782e2596b680b531 GIT binary patch literal 7011 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 i^nbz4|JX!2X@jVE%FwuEW`jq \ No newline at end of file diff --git a/examples/compiled/line_dynamic_axis.vg.json b/examples/compiled/line_dynamic_axis.vg.json new file mode 100644 index 0000000000..2e7b21baad --- /dev/null +++ b/examples/compiled/line_dynamic_axis.vg.json @@ -0,0 +1,157 @@ +{ + "$schema": "https://vega.github.io/schema/vega/v5.json", + "description": "Vega-Lite computes the minimum and maximum axes values automatically but this can be made more dynamic by using params to produce axes which are +/- 20% of the minimum and maximum values in the dataset.", + "background": "white", + "padding": 5, + "width": 200, + "height": 200, + "style": "cell", + "data": [ + { + "name": "source_0", + "values": [ + {"x": 1, "y": 11}, + {"x": 2, "y": 10}, + {"x": 3, "y": 11.23}, + {"x": 4, "y": 10}, + {"x": 5, "y": 9.5}, + {"x": 6, "y": 10}, + {"x": 7, "y": 10} + ] + }, + { + "name": "data_0", + "source": "source_0", + "transform": [ + {"type": "formula", "expr": "toNumber(datum[\"x\"])", "as": "x"} + ] + }, + { + "name": "data_1", + "source": "data_0", + "transform": [ + { + "type": "filter", + "expr": "isValid(datum[\"x\"]) && isFinite(+datum[\"x\"]) && isValid(datum[\"y\"]) && isFinite(+datum[\"y\"])" + } + ] + } + ], + "signals": [ + {"name": "extents", "update": "extent(pluck(data('source_0'), 'y'))"}, + {"name": "min", "update": "extents[0] * 0.8"}, + {"name": "max", "update": "extents[1] * 1.2"} + ], + "marks": [ + { + "name": "layer_0_marks", + "type": "line", + "style": ["line"], + "sort": {"field": "datum[\"x\"]"}, + "from": {"data": "data_0"}, + "encode": { + "update": { + "stroke": {"value": "#4c78a8"}, + "description": { + "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\"))" + }, + "x": {"scale": "x", "field": "x"}, + "y": {"scale": "y", "field": "y"}, + "defined": { + "signal": "isValid(datum[\"x\"]) && isFinite(+datum[\"x\"]) && isValid(datum[\"y\"]) && isFinite(+datum[\"y\"])" + } + } + } + }, + { + "name": "layer_1_marks", + "type": "symbol", + "style": ["point"], + "from": {"data": "data_1"}, + "encode": { + "update": { + "opacity": {"value": 1}, + "fill": {"value": "#4c78a8"}, + "ariaRoleDescription": {"value": "point"}, + "description": { + "signal": "\"x: \" + (format(datum[\"x\"], \"\")) + \"; y: \" + (format(datum[\"y\"], \"\"))" + }, + "x": {"scale": "x", "field": "x"}, + "y": {"scale": "y", "field": "y"} + } + } + } + ], + "scales": [ + { + "name": "x", + "type": "linear", + "domain": { + "fields": [ + {"data": "data_0", "field": "x"}, + {"data": "data_1", "field": "x"} + ] + }, + "range": [0, {"signal": "width"}], + "nice": true, + "zero": false + }, + { + "name": "y", + "type": "linear", + "domain": {"signal": "[min,max]"}, + "range": [{"signal": "height"}, 0], + "nice": true, + "zero": false + } + ], + "axes": [ + { + "scale": "x", + "orient": "bottom", + "gridScale": "y", + "grid": true, + "tickCount": {"signal": "ceil(width/40)"}, + "domain": false, + "labels": false, + "aria": false, + "maxExtent": 0, + "minExtent": 0, + "ticks": false, + "zindex": 0 + }, + { + "scale": "y", + "orient": "left", + "gridScale": "x", + "grid": true, + "tickCount": {"signal": "ceil(height/40)"}, + "domain": false, + "labels": false, + "aria": false, + "maxExtent": 0, + "minExtent": 0, + "ticks": false, + "zindex": 0 + }, + { + "scale": "x", + "orient": "bottom", + "grid": false, + "title": "x", + "labelFlush": true, + "labelOverlap": true, + "tickCount": {"signal": "ceil(width/40)"}, + "zindex": 0 + }, + { + "scale": "y", + "orient": "left", + "grid": false, + "title": "y", + "labelOverlap": true, + "tickCount": {"signal": "ceil(height/40)"}, + "zindex": 0 + } + ] +} diff --git a/examples/specs/normalized/line_dynamic_axis_normalized.vl.json b/examples/specs/normalized/line_dynamic_axis_normalized.vl.json new file mode 100644 index 0000000000..3d7dab6903 --- /dev/null +++ b/examples/specs/normalized/line_dynamic_axis_normalized.vl.json @@ -0,0 +1,44 @@ +{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "description": "Vega-Lite computes the minimum and maximum axes values automatically but this can be made more dynamic by using params to produce axes which are +/- 20% of the minimum and maximum values in the dataset.", + "data": { + "values": [ + {"x": 1, "y": 11}, + {"x": 2, "y": 10}, + {"x": 3, "y": 11.23}, + {"x": 4, "y": 10}, + {"x": 5, "y": 9.5}, + {"x": 6, "y": 10}, + {"x": 7, "y": 10} + ] + }, + "layer": [ + { + "params": [ + {"name": "extents", "expr": "extent(pluck(data('source_0'), 'y'))"}, + {"name": "min", "expr": "extents[0] * 0.8"}, + {"name": "max", "expr": "extents[1] * 1.2"} + ], + "mark": "line", + "encoding": { + "x": {"field": "x", "type": "quantitative"}, + "y": { + "field": "y", + "type": "quantitative", + "scale": {"domain": {"expr": "[min,max]"}} + } + } + }, + { + "mark": {"type": "point", "opacity": 1, "filled": true}, + "encoding": { + "x": {"field": "x", "type": "quantitative"}, + "y": { + "field": "y", + "type": "quantitative", + "scale": {"domain": {"expr": "[min,max]"}} + } + } + } + ] +} \ No newline at end of file From 6b6899870cdd07ff412acf1867a67decf434d485 Mon Sep 17 00:00:00 2001 From: Dominik Moritz Date: Thu, 8 Feb 2024 10:37:58 -0800 Subject: [PATCH 3/5] Keep params at the top level --- src/normalize/pathoverlay.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/normalize/pathoverlay.ts b/src/normalize/pathoverlay.ts index 980f13aa5e..715703502a 100644 --- a/src/normalize/pathoverlay.ts +++ b/src/normalize/pathoverlay.ts @@ -102,7 +102,7 @@ export class PathOverlayNormalizer implements NonFacetUnitNormalizer Date: Thu, 8 Feb 2024 18:40:13 +0000 Subject: [PATCH 4/5] chore: update examples [CI] --- .../normalized/line_dynamic_axis_normalized.vl.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/specs/normalized/line_dynamic_axis_normalized.vl.json b/examples/specs/normalized/line_dynamic_axis_normalized.vl.json index 3d7dab6903..0545ec1f15 100644 --- a/examples/specs/normalized/line_dynamic_axis_normalized.vl.json +++ b/examples/specs/normalized/line_dynamic_axis_normalized.vl.json @@ -12,13 +12,13 @@ {"x": 7, "y": 10} ] }, + "params": [ + {"name": "extents", "expr": "extent(pluck(data('source_0'), 'y'))"}, + {"name": "min", "expr": "extents[0] * 0.8"}, + {"name": "max", "expr": "extents[1] * 1.2"} + ], "layer": [ { - "params": [ - {"name": "extents", "expr": "extent(pluck(data('source_0'), 'y'))"}, - {"name": "min", "expr": "extents[0] * 0.8"}, - {"name": "max", "expr": "extents[1] * 1.2"} - ], "mark": "line", "encoding": { "x": {"field": "x", "type": "quantitative"}, From b11e3a82d9a7458b4112e174489c56dc40f065a5 Mon Sep 17 00:00:00 2001 From: Dominik Moritz Date: Sun, 18 Feb 2024 10:55:27 +0900 Subject: [PATCH 5/5] add example from #9253 --- examples/specs/line_dynamic_axis.vl.json | 29 ++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 examples/specs/line_dynamic_axis.vl.json diff --git a/examples/specs/line_dynamic_axis.vl.json b/examples/specs/line_dynamic_axis.vl.json new file mode 100644 index 0000000000..cc5e2c7181 --- /dev/null +++ b/examples/specs/line_dynamic_axis.vl.json @@ -0,0 +1,29 @@ +{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "description": "Vega-Lite computes the minimum and maximum axes values automatically but this can be made more dynamic by using params to produce axes which are +/- 20% of the minimum and maximum values in the dataset.", + "data": { + "values": [ + {"x": 1, "y": 11}, + {"x": 2, "y": 10}, + {"x": 3, "y": 11.23}, + {"x": 4, "y": 10}, + {"x": 5, "y": 9.5}, + {"x": 6, "y": 10}, + {"x": 7, "y": 10} + ] + }, + "params": [ + {"name": "extents", "expr": "extent(pluck(data('source_0'), 'y'))"}, + {"name": "min", "expr": "extents[0] * 0.8"}, + {"name": "max", "expr": "extents[1] * 1.2"} + ], + "mark": {"type": "line", "point": true}, + "encoding": { + "x": {"field": "x", "type": "quantitative"}, + "y": { + "field": "y", + "type": "quantitative", + "scale": {"domain": {"expr": "[min,max]"}} + } + } +}