From 2899d71aa5a4250ec3c2718bd4239441608f0a13 Mon Sep 17 00:00:00 2001 From: Lukas Hermann Date: Fri, 9 Jun 2023 14:45:22 -0700 Subject: [PATCH 01/17] feat: add `extent` transform --- examples/specs/bar_simple_extent.vl.json | 33 +++++++++++++ site/docs/transform/extent.md | 59 ++++++++++++++++++++++++ site/docs/transform/transform.md | 1 + src/compile/data/assemble.ts | 4 +- src/compile/data/parse.ts | 5 ++ src/transform.ts | 17 +++++++ test/compile/data/parse.test.ts | 22 +++++++++ 7 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 examples/specs/bar_simple_extent.vl.json create mode 100644 site/docs/transform/extent.md diff --git a/examples/specs/bar_simple_extent.vl.json b/examples/specs/bar_simple_extent.vl.json new file mode 100644 index 0000000000..b06521d634 --- /dev/null +++ b/examples/specs/bar_simple_extent.vl.json @@ -0,0 +1,33 @@ +{ + "$schema": "https://vega.github.io/schema/vega-lite/v5.json", + "title": "A Simple Bar Chart with Lines at Extents", + "data": { + "values": [ + {"a": "A", "b": 28}, {"a": "B", "b": 55}, {"a": "C", "b": 43}, + {"a": "D", "b": 91}, {"a": "E", "b": 81}, {"a": "F", "b": 53}, + {"a": "G", "b": 19}, {"a": "H", "b": 87}, {"a": "I", "b": 52} + ] + }, + "transform": [{"extent": "b"}], + "layer": [ + { + "mark": "bar", + "encoding": { + "y": {"field": "a", "type": "nominal"}, + "x": {"field": "b", "type": "quantitative"} + } + }, + { + "mark": {"type": "rule", "stroke": "firebrick"}, + "encoding": { + "x": {"value": {"expr": "scale('x', extent[0])"}} + } + }, + { + "mark": {"type": "rule", "stroke": "#ca8861"}, + "encoding": { + "x": {"value": {"expr": "scale('x', extent[1])"}} + } + } + ] +} diff --git a/site/docs/transform/extent.md b/site/docs/transform/extent.md new file mode 100644 index 0000000000..c465f912ad --- /dev/null +++ b/site/docs/transform/extent.md @@ -0,0 +1,59 @@ +--- +layout: docs +menu: docs +title: Extent +permalink: /docs/extent.html +--- + +The extent transform finds the extent of a field and stores the result in a [parameter]({{site.baseurl}}/docs/parameter.html). + +```js +// Any View Specification +{ + ... + "transform": [ + {"extent": ...} // Fold Transform + ... + ], + ... +} +``` + +## Fold Transform Definition + +{% include table.html props="extent,param" source="ExtentTransform" %} + +## Usage + +Given the following data: + +```json +"data": { + "values": [ + {"a": "A", "b": 28}, {"a": "B", "b": 55}, {"a": "C", "b": 43}, + {"a": "D", "b": 91}, {"a": "E", "b": 81}, {"a": "F", "b": 53}, + {"a": "G", "b": 19}, {"a": "H", "b": 87}, {"a": "I", "b": 52} + ] +} +``` + +And the transform: + +```json +transform: [ + {"extent": "b"} +] +``` + +this example produces the output `param` will look like: + +```json +{ + "name": "extent", + "value": [19, 91] +} +``` + +## Example + +
diff --git a/site/docs/transform/transform.md b/site/docs/transform/transform.md index 016f5c8001..a946cc00c8 100644 --- a/site/docs/transform/transform.md +++ b/site/docs/transform/transform.md @@ -29,6 +29,7 @@ The View-level `transform` object is an array of objects describing transformati - [Bin](bin.html#transform) - [Calculate](calculate.html) - [Density](density.html) +- [Extent](extent.html) - [Filter](filter.html) - [Flatten](flatten.html) - [Fold](fold.html) diff --git a/src/compile/data/assemble.ts b/src/compile/data/assemble.ts index 8c80d6e203..b188b2f19e 100644 --- a/src/compile/data/assemble.ts +++ b/src/compile/data/assemble.ts @@ -7,6 +7,7 @@ import {BinNode} from './bin'; import {CalculateNode} from './calculate'; import {DataFlowNode, OutputNode} from './dataflow'; import {DensityTransformNode} from './density'; +import {ExtentTransformNode} from './extent'; import {FacetNode} from './facet'; import {FilterNode} from './filter'; import {FilterInvalidNode} from './filterinvalid'; @@ -106,7 +107,8 @@ function makeWalkTree(data: VgData[]) { node instanceof RegressionTransformNode || node instanceof IdentifierNode || node instanceof SampleTransformNode || - node instanceof PivotTransformNode + node instanceof PivotTransformNode || + node instanceof ExtentTransformNode ) { dataSource.transform.push(node.assemble()); } diff --git a/src/compile/data/parse.ts b/src/compile/data/parse.ts index cf35136437..f238cf7413 100644 --- a/src/compile/data/parse.ts +++ b/src/compile/data/parse.ts @@ -16,6 +16,7 @@ import { isBin, isCalculate, isDensity, + isExtent, isFilter, isFlatten, isFold, @@ -40,6 +41,7 @@ import {BinNode} from './bin'; import {CalculateNode} from './calculate'; import {DataFlowNode, OutputNode} from './dataflow'; import {DensityTransformNode} from './density'; +import {ExtentTransformNode} from './extent'; import {FacetNode} from './facet'; import {FilterNode} from './filter'; import {FilterInvalidNode} from './filterinvalid'; @@ -203,6 +205,9 @@ export function parseTransformArray(head: DataFlowNode, model: Model, ancestorPa } else if (isFold(t)) { transformNode = head = new FoldTransformNode(head, t); derivedType = 'derived'; + } else if (isExtent(t)) { + transformNode = head = new ExtentTransformNode(head, t); + derivedType = 'derived'; } else if (isFlatten(t)) { transformNode = head = new FlattenTransformNode(head, t); derivedType = 'derived'; diff --git a/src/transform.ts b/src/transform.ts index 5fbf8d438a..f9ffa74ecf 100644 --- a/src/transform.ts +++ b/src/transform.ts @@ -390,6 +390,19 @@ export interface FoldTransform { as?: [FieldName, FieldName]; } +export interface ExtentTransform { + /** + * The field of which to get the extent. + */ + extent: FieldName; + + /** + * The output parameter produced by the extent transform. + * __Default value:__ `"extent"` + */ + param?: ParameterName; +} + export interface PivotTransform { /** * The data field to pivot on. The unique values of this field become new field names in the output stream. @@ -657,11 +670,15 @@ export function isFold(t: Transform): t is FoldTransform { return 'fold' in t; } +export function isExtent(t: Transform): t is ExtentTransform { + return 'extent' in t; +} export type Transform = | AggregateTransform | BinTransform | CalculateTransform | DensityTransform + | ExtentTransform | FilterTransform | FlattenTransform | FoldTransform diff --git a/test/compile/data/parse.test.ts b/test/compile/data/parse.test.ts index 959c520868..2cff6098c7 100644 --- a/test/compile/data/parse.test.ts +++ b/test/compile/data/parse.test.ts @@ -16,6 +16,7 @@ import {Transform} from '../../../src/transform'; import {parseUnitModel} from '../../util'; import {SourceNode} from '../../../src/compile/data/source'; import {PlaceholderDataFlowNode} from './util'; +import {ExtentTransformNode} from '../../../src/compile/data/extent'; describe('compile/data/parse', () => { describe('parseTransformArray()', () => { @@ -216,6 +217,27 @@ describe('compile/data/parse', () => { expect(result).toBeInstanceOf(FoldTransformNode); }); + it('should return a ExtentTransformNode', () => { + const transform: Transform = { + extent: 'a', + param: 'A' + }; + + const model = parseUnitModel({ + data: {values: []}, + mark: 'point', + transform: [transform], + encoding: { + x: {field: 'A', type: 'temporal'}, + y: {field: 'B', type: 'quantitative'} + } + }); + const root = new PlaceholderDataFlowNode(null); + const result = parseTransformArray(root, model, new AncestorParse()); + expect(root.children[0]).toBeInstanceOf(ExtentTransformNode); + expect(result).toBeInstanceOf(ExtentTransformNode); + }); + it('should return a PivotTransformNode', () => { const transform: Transform = { pivot: 'a', From 3ff97300dd637c9092dbc80207f6e4cc333705af Mon Sep 17 00:00:00 2001 From: Lukas Hermann Date: Fri, 9 Jun 2023 14:48:02 -0700 Subject: [PATCH 02/17] chore: add quotes around word transform --- site/docs/transform/extent.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/transform/extent.md b/site/docs/transform/extent.md index c465f912ad..ef70340520 100644 --- a/site/docs/transform/extent.md +++ b/site/docs/transform/extent.md @@ -40,7 +40,7 @@ Given the following data: And the transform: ```json -transform: [ +"transform": [ {"extent": "b"} ] ``` From 62e00b930e80ae32ba235883e196942e5b6b9250 Mon Sep 17 00:00:00 2001 From: Lukas Hermann Date: Fri, 9 Jun 2023 14:48:58 -0700 Subject: [PATCH 03/17] chore: add test cases --- test/compile/data/extent.test.ts | 81 ++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 test/compile/data/extent.test.ts diff --git a/test/compile/data/extent.test.ts b/test/compile/data/extent.test.ts new file mode 100644 index 0000000000..89fc9f8010 --- /dev/null +++ b/test/compile/data/extent.test.ts @@ -0,0 +1,81 @@ +import {ExtentTransformNode} from '../../../src/compile/data/extent'; +import {Transform} from '../../../src/transform'; +import {PlaceholderDataFlowNode} from './util'; + +describe('compile/data/extent', () => { + describe('assemble', () => { + it('should return a proper vg transform', () => { + const transform: Transform = { + extent: 'a', + param: 'a_extent' + }; + const extent = new ExtentTransformNode(null, transform); + expect(extent.assemble()).toEqual({ + type: 'extent', + field: 'a', + signal: 'a_extent' + }); + }); + + it('should handle missing "param" field', () => { + const transform: Transform = { + extent: 'a' + }; + + const extent = new ExtentTransformNode(null, transform); + expect(extent.assemble()).toEqual({ + type: 'extent', + field: 'a', + signal: 'extent' + }); + }); + }); + + describe('dependentFields', () => { + it('should return proper produced fields for no "param"', () => { + const transform: Transform = { + extent: 'a' + }; + const extent = new ExtentTransformNode(null, transform); + expect(extent.dependentFields()).toEqual(new Set(['a'])); + }); + }); + + describe('producedFields', () => { + it('should return proper produced fields for no "param"', () => { + const transform: Transform = { + extent: 'a' + }; + const fold = new ExtentTransformNode(null, transform); + expect(fold.producedFields()).toEqual(new Set(['extent'])); + }); + + it('should return proper produced fields for complete "param"', () => { + const transform: Transform = { + extent: 'a', + param: 'A' + }; + const extent = new ExtentTransformNode(null, transform); + expect(extent.producedFields()).toEqual(new Set(['A'])); + }); + }); + + describe('hash', () => { + it('should generate the correct hash', () => { + const transform: Transform = { + extent: 'a', + param: 'A' + }; + const extent = new ExtentTransformNode(null, transform); + expect(extent.hash()).toBe('ExtentTransform {"extent":"a","param":"A"}'); + }); + }); + + describe('clone', () => { + it('should never clone parent', () => { + const parent = new PlaceholderDataFlowNode(null); + const extent = new ExtentTransformNode(parent, {extent: 'a'}); + expect(extent.clone().parent).toBeNull(); + }); + }); +}); From e8d5b22ccb092b6eda9001a31c746dedb573e6a2 Mon Sep 17 00:00:00 2001 From: Lukas Hermann Date: Fri, 9 Jun 2023 14:49:55 -0700 Subject: [PATCH 04/17] chore: add extent.ts --- src/compile/data/extent.ts | 42 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/compile/data/extent.ts diff --git a/src/compile/data/extent.ts b/src/compile/data/extent.ts new file mode 100644 index 0000000000..033c21df79 --- /dev/null +++ b/src/compile/data/extent.ts @@ -0,0 +1,42 @@ +import {ExtentTransform as VgExtentTransform} from 'vega'; +import {ExtentTransform} from '../../transform'; +import {duplicate, hash} from '../../util'; +import {DataFlowNode} from './dataflow'; + +/** + * A class for flatten transform nodes + */ +export class ExtentTransformNode extends DataFlowNode { + public clone() { + return new ExtentTransformNode(null, duplicate(this.transform)); + } + + constructor(parent: DataFlowNode, private transform: ExtentTransform) { + super(parent); + this.transform = duplicate(transform); // duplicate to prevent side effects + const specifiedParam = this.transform.param; + this.transform.param = specifiedParam ?? 'extent'; + } + + public dependentFields() { + return new Set([this.transform.extent]); + } + + public producedFields() { + return new Set([this.transform.param]); + } + + public hash() { + return `ExtentTransform ${hash(this.transform)}`; + } + + public assemble(): VgExtentTransform { + const {extent, param} = this.transform; + const result: VgExtentTransform = { + type: 'extent', + field: extent, + signal: param + }; + return result; + } +} From 4d0d7c7a5e9291679a230c9eba6917c958c00a1f Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Fri, 9 Jun 2023 21:51:07 +0000 Subject: [PATCH 05/17] chore: update schema [CI] --- build/vega-lite-schema.json | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/build/vega-lite-schema.json b/build/vega-lite-schema.json index caa0691e63..3ee0b5dbfc 100644 --- a/build/vega-lite-schema.json +++ b/build/vega-lite-schema.json @@ -8744,6 +8744,23 @@ ], "type": "object" }, + "ExtentTransform": { + "additionalProperties": false, + "properties": { + "extent": { + "$ref": "#/definitions/FieldName", + "description": "The field of which to get the extent." + }, + "param": { + "$ref": "#/definitions/ParameterName", + "description": "The output parameter produced by the extent transform. __Default value:__ `\"extent\"`" + } + }, + "required": [ + "extent" + ], + "type": "object" + }, "FacetEncodingFieldDef": { "additionalProperties": false, "properties": { @@ -30190,6 +30207,9 @@ { "$ref": "#/definitions/DensityTransform" }, + { + "$ref": "#/definitions/ExtentTransform" + }, { "$ref": "#/definitions/FilterTransform" }, From 0691b9d0003c0f83aed65592f2e74ebb7402e402 Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Fri, 9 Jun 2023 21:53:00 +0000 Subject: [PATCH 06/17] chore: update examples [CI] --- examples/compiled/area_density_facet.png | Bin 31847 -> 16402 bytes examples/compiled/area_density_facet.svg | 2 +- examples/compiled/area_density_facet.vg.json | 11 +- examples/compiled/area_density_stacked.png | Bin 21247 -> 11964 bytes examples/compiled/area_density_stacked.svg | 2 +- .../compiled/area_density_stacked.vg.json | 11 +- .../compiled/area_density_stacked_fold.png | Bin 14724 -> 8732 bytes .../compiled/area_density_stacked_fold.svg | 2 +- .../area_density_stacked_fold.vg.json | 11 +- examples/compiled/bar_simple_extent.png | Bin 0 -> 8869 bytes examples/compiled/bar_simple_extent.svg | 1 + examples/compiled/bar_simple_extent.vg.json | 151 ++++++++++++++++++ 12 files changed, 160 insertions(+), 31 deletions(-) create mode 100644 examples/compiled/bar_simple_extent.png create mode 100644 examples/compiled/bar_simple_extent.svg create mode 100644 examples/compiled/bar_simple_extent.vg.json diff --git a/examples/compiled/area_density_facet.png b/examples/compiled/area_density_facet.png index f62447b896ccd130a22f5a9ecd57ea0b5c20402e..015d3f86396c8293a402b6f9e6aa4ce29cfa708d 100644 GIT binary patch literal 16402 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 Q$)7rL^t5b(jPC9K29v;KL;wH) literal 31847 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 diff --git a/examples/compiled/area_density_facet.svg b/examples/compiled/area_density_facet.svg index 11034fec89..562d529ec9 100644 --- a/examples/compiled/area_density_facet.svg +++ b/examples/compiled/area_density_facet.svg @@ -1 +1 @@ -Species0.00000.00050.0010densityAdelie0.00000.00050.0010densityChinstrap0.00000.00050.0010densityGentoo2,5003,0003,5004,0004,5005,0005,5006,0006,500Body Mass (g)Distribution of Body Mass of Penguins \ No newline at end of file +Species0densityAdelie0densityChinstrap0densityGentooBody Mass (g)Distribution of Body Mass of Penguins \ No newline at end of file diff --git a/examples/compiled/area_density_facet.vg.json b/examples/compiled/area_density_facet.vg.json index 923f628e8a..5ef87f8c91 100644 --- a/examples/compiled/area_density_facet.vg.json +++ b/examples/compiled/area_density_facet.vg.json @@ -7,16 +7,9 @@ { "name": "source_0", "url": "data/penguins.json", - "format": {"type": "json"}, + "format": {"type": "json", "parse": {"value": "number"}}, "transform": [ - { - "type": "kde", - "field": "Body Mass (g)", - "groupby": ["Species"], - "extent": [2500, 6500], - "as": ["value", "density"], - "steps": 200 - }, + {"type": "extent", "field": [2500, 6500], "signal": "extent"}, { "type": "impute", "field": "density", diff --git a/examples/compiled/area_density_stacked.png b/examples/compiled/area_density_stacked.png index df7c38d61b9e72e0f006695bfb750ee4478039b9..847fd6dc5c2523fc9abfe75dded2be4836ff51da 100644 GIT binary patch literal 11964 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 TS4kg9w4`h~``AT0JY)X@pKMkV diff --git a/examples/compiled/area_density_stacked.svg b/examples/compiled/area_density_stacked.svg index 3022e2673a..9d69703a1f 100644 --- a/examples/compiled/area_density_stacked.svg +++ b/examples/compiled/area_density_stacked.svg @@ -1 +1 @@ -2,5003,0003,5004,0004,5005,0005,5006,0006,500Body Mass (g)0.0000.0010.002densityAdelieChinstrapGentooSpeciesDistribution of Body Mass of Penguins \ No newline at end of file +Body Mass (g)0densityAdelieChinstrapGentooSpeciesDistribution of Body Mass of Penguins \ No newline at end of file diff --git a/examples/compiled/area_density_stacked.vg.json b/examples/compiled/area_density_stacked.vg.json index 8228803688..7f0def3ad2 100644 --- a/examples/compiled/area_density_stacked.vg.json +++ b/examples/compiled/area_density_stacked.vg.json @@ -10,16 +10,9 @@ { "name": "source_0", "url": "data/penguins.json", - "format": {"type": "json"}, + "format": {"type": "json", "parse": {"value": "number"}}, "transform": [ - { - "type": "kde", - "field": "Body Mass (g)", - "groupby": ["Species"], - "extent": [2500, 6500], - "as": ["value", "density"], - "steps": 200 - }, + {"type": "extent", "field": [2500, 6500], "signal": "extent"}, { "type": "impute", "field": "density", diff --git a/examples/compiled/area_density_stacked_fold.png b/examples/compiled/area_density_stacked_fold.png index 58d675ccfd7be708c28989bf99dd610085e805d8..3902086e12bfad8c47b4121af523d6f0a2ec6ad9 100644 GIT binary patch literal 8732 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 diff --git a/examples/compiled/area_density_stacked_fold.svg b/examples/compiled/area_density_stacked_fold.svg index 13f7cafdc7..7d84b28503 100644 --- a/examples/compiled/area_density_stacked_fold.svg +++ b/examples/compiled/area_density_stacked_fold.svg @@ -1 +1 @@ -050100150200250300350400450500value02468densityDisplacementHorsepowerMeasurement \ No newline at end of file +050100150200250300350400450500value0densityDisplacementHorsepowerMeasurement \ No newline at end of file diff --git a/examples/compiled/area_density_stacked_fold.vg.json b/examples/compiled/area_density_stacked_fold.vg.json index 389ac9d96c..092a6a6279 100644 --- a/examples/compiled/area_density_stacked_fold.vg.json +++ b/examples/compiled/area_density_stacked_fold.vg.json @@ -16,16 +16,7 @@ "fields": ["Displacement", "Horsepower"], "as": ["Measurement", "value"] }, - { - "type": "kde", - "field": "value", - "bandwidth": 10, - "groupby": ["Measurement"], - "extent": [10, 500], - "counts": true, - "steps": 200, - "as": ["value", "density"] - }, + {"type": "extent", "field": [10, 500], "signal": "extent"}, { "type": "impute", "field": "density", diff --git a/examples/compiled/bar_simple_extent.png b/examples/compiled/bar_simple_extent.png new file mode 100644 index 0000000000000000000000000000000000000000..b5103ac67449e9ec59156073b4550a9726f74442 GIT binary patch literal 8869 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

SPNraHZ6vh~>CT&UK}bW@%UW z;?A*Db?B9!&jb9&tEoxWT80rFuH=%4cSA+x9OT*&iYjbeA^1OfrCPmuyLaN0DamQ2 zzR?pf*}0X^$Xlp=A3>lgzG;4^3pP*u&5!02%Og2WiG{it-PukqqQ z8zJqRWI{Wh{y?AD7R{5^X%4Q0p{yjvf_t!jO%6v zzDFIsEwIyG{$-be9(I5Z2WeB5C*4|f1mn!!-K;RexXn&X(8+(~} z%R5FydiHEU%uxdk!|u?XToa=%oOV(Z_4*gks#R?En`TFgVAL~|lDtY8|Lf87F=D_< zgXrahI+4-dT)pk}?t7NtbOG{ovt0mVWf^=YJz#Z^odOO9<&GOHKeM#_MqKw!y1Kf8 zeI;;L8fj{6tq0&$0t5#B{()s=W3DIHYVwZRNF{Cc&^OOVs|$mrXQ7$|UH1i{ml0gN z7^~c22g|^~=5cqb{Bt`y@3OKoE1ladeYtu>;5)MdjR#u3GnSA{(7Dc409_0x{c>`1 zYhDqME^iK4#4Q?I*)k zVI+r+6SS0ku#=@z6$oCO`Nx>^-6C*89t$!**@_0dYtC!p7VzHX#_DbdD z(2I*}?^GsF;>>#>*BFfc(B~Ij za9|nj${1tE*Aa1X{vdbp5Ripq6BDmVsW`%%PE{N%nkd}8d#ljo2g&3ycVJ=TAhRdq zVM0cJKUMCU&5B{+1h}{upcOD&(81kKQ%lSJ2bJw_MHrzfVS2$I?{?sTn>tO#WS30h z3<}`kw;n%cKyY>vZXUKV`OznpbOBn|%l!QO)e5k)K;`Nei9+j&;xnZ*Y>mPjZRh&v zv}Ryv7~zx!p2m3Tbi4=1!LM*)yRlk=@|~&JZE%HiL50}N{XB_&ALA?^%P$2OySlb! zxzNuCd>8L()rRVzm2dw+Tdr$!sNta?Ey4n(5%@`yd+r}Z zBPa$}bPTMWW?pr5b!hagJ({3>qD1UCz68++_4ca8f#m=ejR$B{mQ_4E*FY2s6(#Dx zjX92ohX*NKVzL?lKnp3U5~$_iZf8_cMZ@CTnHe5mv>;M3^8b7hkVS<&-aLoq=IgOkMx$=Wvl4k;P1F=XE(wXyF`Q-Zf=Lh=^P)3QG`Li32p+V~XP@KTNJ>A_AXhTtA^oZ!;{@M&Q77!00 z9^IM1yi*)Cf)vly|9a+=TJHOT_#zhLgMdPyzfv%`#<5}G=F!Y`(2heQ zB2t}ofOq1!aP`|Q@=Wk#f!~42=e>HsX$`~aTOS{0hHcG5G#@>pu7vRxm{NXx*~s=f@FBF z&@R#n+uVTaZKL((_4SlCcm@+7pze~=(u80hFAv#`ToM%>9L$yVC~3KEkOgLN$@4M% zU%!4m2S>H_tw_&ch-{LYk;;^R64!VYfy8gGbl%*~^wvKB=7>804ITnBsy#9^w z@dB7}@$vCsgt=E#hyjPuU6f5$V&i4u0q2bgjEznhSjGui6J}&&h{A%t^z<0u?Rx)G fC;uFE<#558KYcYLFctpa336LX0h1;9_|^Xaj9u)_ literal 0 HcmV?d00001 diff --git a/examples/compiled/bar_simple_extent.svg b/examples/compiled/bar_simple_extent.svg new file mode 100644 index 0000000000..55dd7439e3 --- /dev/null +++ b/examples/compiled/bar_simple_extent.svg @@ -0,0 +1 @@ +020406080100bABCDEFGHIaA Simple Bar Chart with Lines at Extents \ No newline at end of file diff --git a/examples/compiled/bar_simple_extent.vg.json b/examples/compiled/bar_simple_extent.vg.json new file mode 100644 index 0000000000..205c86d94a --- /dev/null +++ b/examples/compiled/bar_simple_extent.vg.json @@ -0,0 +1,151 @@ +{ + "$schema": "https://vega.github.io/schema/vega/v5.json", + "background": "white", + "padding": 5, + "width": 200, + "title": { + "text": "A Simple Bar Chart with Lines at Extents", + "frame": "group" + }, + "style": "cell", + "data": [ + { + "name": "source_0", + "values": [ + {"a": "A", "b": 28}, + {"a": "B", "b": 55}, + {"a": "C", "b": 43}, + {"a": "D", "b": 91}, + {"a": "E", "b": 81}, + {"a": "F", "b": 53}, + {"a": "G", "b": 19}, + {"a": "H", "b": 87}, + {"a": "I", "b": 52} + ] + }, + { + "name": "data_0", + "source": "source_0", + "transform": [{"type": "extent", "field": "b", "signal": "extent"}] + }, + { + "name": "data_1", + "source": "data_0", + "transform": [ + { + "type": "stack", + "groupby": ["a"], + "field": "b", + "sort": {"field": [], "order": []}, + "as": ["b_start", "b_end"], + "offset": "zero" + }, + { + "type": "filter", + "expr": "isValid(datum[\"b\"]) && isFinite(+datum[\"b\"])" + } + ] + } + ], + "signals": [ + {"name": "y_step", "value": 20}, + { + "name": "height", + "update": "bandspace(domain('y').length, 0.1, 0.05) * y_step" + } + ], + "marks": [ + { + "name": "layer_0_marks", + "type": "rect", + "style": ["bar"], + "from": {"data": "data_1"}, + "encode": { + "update": { + "fill": {"value": "#4c78a8"}, + "ariaRoleDescription": {"value": "bar"}, + "description": { + "signal": "\"b: \" + (format(datum[\"b\"], \"\")) + \"; a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"])" + }, + "x": {"scale": "x", "field": "b_end"}, + "x2": {"scale": "x", "field": "b_start"}, + "y": {"scale": "y", "field": "a"}, + "height": {"signal": "max(0.25, bandwidth('y'))"} + } + } + }, + { + "name": "layer_1_marks", + "type": "rule", + "style": ["rule"], + "from": {"data": "data_0"}, + "encode": { + "update": { + "stroke": {"value": "firebrick"}, + "x": {"signal": "scale('x', extent[0])"}, + "y": {"value": 0}, + "y2": {"field": {"group": "height"}} + } + } + }, + { + "name": "layer_2_marks", + "type": "rule", + "style": ["rule"], + "from": {"data": "data_0"}, + "encode": { + "update": { + "stroke": {"value": "#ca8861"}, + "x": {"signal": "scale('x', extent[1])"}, + "y": {"value": 0}, + "y2": {"field": {"group": "height"}} + } + } + } + ], + "scales": [ + { + "name": "x", + "type": "linear", + "domain": {"data": "data_1", "fields": ["b_start", "b_end"]}, + "range": [0, {"signal": "width"}], + "nice": true, + "zero": true + }, + { + "name": "y", + "type": "band", + "domain": {"data": "data_1", "field": "a", "sort": true}, + "range": {"step": {"signal": "y_step"}}, + "paddingInner": 0.1, + "paddingOuter": 0.05 + } + ], + "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": "x", + "orient": "bottom", + "grid": false, + "title": "b", + "labelFlush": true, + "labelOverlap": true, + "tickCount": {"signal": "ceil(width/40)"}, + "zindex": 0 + }, + {"scale": "y", "orient": "left", "grid": false, "title": "a", "zindex": 0} + ] +} From d1069a7389b03573ee3305fb5e7161d554743b66 Mon Sep 17 00:00:00 2001 From: Lukas Hermann Date: Fri, 9 Jun 2023 15:43:15 -0700 Subject: [PATCH 07/17] fix: handle density case --- src/transform.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/transform.ts b/src/transform.ts index f9ffa74ecf..e563daa439 100644 --- a/src/transform.ts +++ b/src/transform.ts @@ -671,7 +671,7 @@ export function isFold(t: Transform): t is FoldTransform { } export function isExtent(t: Transform): t is ExtentTransform { - return 'extent' in t; + return 'extent' in t && !('density' in t); } export type Transform = | AggregateTransform From b541d36b52dc5e67057ac33504a0681cbf323af9 Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Fri, 9 Jun 2023 22:47:29 +0000 Subject: [PATCH 08/17] chore: update examples [CI] --- examples/compiled/area_density_facet.png | Bin 16402 -> 31847 bytes examples/compiled/area_density_facet.svg | 2 +- examples/compiled/area_density_facet.vg.json | 11 +++++++++-- examples/compiled/area_density_stacked.png | Bin 11964 -> 21247 bytes examples/compiled/area_density_stacked.svg | 2 +- .../compiled/area_density_stacked.vg.json | 11 +++++++++-- .../compiled/area_density_stacked_fold.png | Bin 8732 -> 14724 bytes .../compiled/area_density_stacked_fold.svg | 2 +- .../area_density_stacked_fold.vg.json | 11 ++++++++++- 9 files changed, 31 insertions(+), 8 deletions(-) diff --git a/examples/compiled/area_density_facet.png b/examples/compiled/area_density_facet.png index 015d3f86396c8293a402b6f9e6aa4ce29cfa708d..f62447b896ccd130a22f5a9ecd57ea0b5c20402e 100644 GIT binary patch literal 31847 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 literal 16402 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 Q$)7rL^t5b(jPC9K29v;KL;wH) diff --git a/examples/compiled/area_density_facet.svg b/examples/compiled/area_density_facet.svg index 562d529ec9..11034fec89 100644 --- a/examples/compiled/area_density_facet.svg +++ b/examples/compiled/area_density_facet.svg @@ -1 +1 @@ -Species0densityAdelie0densityChinstrap0densityGentooBody Mass (g)Distribution of Body Mass of Penguins \ No newline at end of file +Species0.00000.00050.0010densityAdelie0.00000.00050.0010densityChinstrap0.00000.00050.0010densityGentoo2,5003,0003,5004,0004,5005,0005,5006,0006,500Body Mass (g)Distribution of Body Mass of Penguins \ No newline at end of file diff --git a/examples/compiled/area_density_facet.vg.json b/examples/compiled/area_density_facet.vg.json index 5ef87f8c91..923f628e8a 100644 --- a/examples/compiled/area_density_facet.vg.json +++ b/examples/compiled/area_density_facet.vg.json @@ -7,9 +7,16 @@ { "name": "source_0", "url": "data/penguins.json", - "format": {"type": "json", "parse": {"value": "number"}}, + "format": {"type": "json"}, "transform": [ - {"type": "extent", "field": [2500, 6500], "signal": "extent"}, + { + "type": "kde", + "field": "Body Mass (g)", + "groupby": ["Species"], + "extent": [2500, 6500], + "as": ["value", "density"], + "steps": 200 + }, { "type": "impute", "field": "density", diff --git a/examples/compiled/area_density_stacked.png b/examples/compiled/area_density_stacked.png index 847fd6dc5c2523fc9abfe75dded2be4836ff51da..df7c38d61b9e72e0f006695bfb750ee4478039b9 100644 GIT binary patch literal 21247 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 TS4kg9w4`h~``AT0JY)X@pKMkV literal 11964 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