From 22425d3b9819afde208c651abb6b017839556645 Mon Sep 17 00:00:00 2001 From: Nick Partridge Date: Wed, 9 Dec 2020 11:08:47 -0600 Subject: [PATCH 1/2] feat: allow use of functions for y, y0, split and stack accessors (#943) --- api/charts.api.md | 16 +- ...ccessors-visually-looks-correct-1-snap.png | Bin 0 -> 22377 bytes ...ional-accessors-with-field-name-1-snap.png | Bin 0 -> 20780 bytes ...rs-with-field-name-with-tooltip-1-snap.png | Bin 0 -> 40047 bytes ...y-1-accessors-and-y-0-accessors-1-snap.png | Bin 0 -> 46232 bytes integration/tests/bar_stories.test.ts | 27 + .../utils/__snapshots__/series.test.ts.snap | 5012 +++++++++++++++-- src/chart_types/xy_chart/utils/series.test.ts | 177 +- src/chart_types/xy_chart/utils/series.ts | 66 +- src/chart_types/xy_chart/utils/specs.ts | 8 +- src/utils/accessor.ts | 8 +- stories/bar/33_band_bar.tsx | 5 +- stories/bar/54_functional_accessors.tsx | 82 + stories/bar/bars.stories.tsx | 1 + 14 files changed, 4857 insertions(+), 545 deletions(-) create mode 100644 integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-bar-chart-functional-accessors-visually-looks-correct-1-snap.png create mode 100644 integration/tests/__image_snapshots__/bar-stories-test-ts-bar-series-stories-functional-accessors-functional-accessors-with-field-name-1-snap.png create mode 100644 integration/tests/__image_snapshots__/bar-stories-test-ts-bar-series-stories-functional-accessors-functional-accessors-with-field-name-with-tooltip-1-snap.png create mode 100644 integration/tests/__image_snapshots__/bar-stories-test-ts-bar-series-stories-functional-accessors-y-1-accessors-and-y-0-accessors-1-snap.png create mode 100644 stories/bar/54_functional_accessors.tsx diff --git a/api/charts.api.md b/api/charts.api.md index 04fede6004..5781c77fdb 100644 --- a/api/charts.api.md +++ b/api/charts.api.md @@ -1474,11 +1474,11 @@ export type ScaleType = $Values; // @public (undocumented) export interface SeriesAccessors { markSizeAccessor?: Accessor | AccessorFn; - splitSeriesAccessors?: Accessor[]; - stackAccessors?: Accessor[]; + splitSeriesAccessors?: (Accessor | AccessorFn)[]; + stackAccessors?: (Accessor | AccessorFn)[]; xAccessor: Accessor | AccessorFn; - y0Accessors?: Accessor[]; - yAccessors: Accessor[]; + y0Accessors?: (Accessor | AccessorFn)[]; + yAccessors: (Accessor | AccessorFn)[]; } // @public (undocumented) @@ -1870,7 +1870,11 @@ export interface TooltipValue { export type TooltipValueFormatter = (data: TooltipValue) => JSX.Element | string; // @public -export type UnaryAccessorFn = (datum: Datum) => Return; +export interface UnaryAccessorFn { + // (undocumented) + (datum: Datum): Return; + fieldName?: string; +} // @public (undocumented) export type UnboundedDomainWithInterval = DomainBase; @@ -1933,7 +1937,7 @@ export interface XYChartSeriesIdentifier extends SeriesIdentifier { // (undocumented) splitAccessors: Map; // (undocumented) - yAccessor: string | number; + yAccessor: Accessor; } // @public diff --git a/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-bar-chart-functional-accessors-visually-looks-correct-1-snap.png b/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-bar-chart-functional-accessors-visually-looks-correct-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..957991a3ceb4ded8474d90d3292665a6c81dd357 GIT binary patch literal 22377 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 OIlK1mytzH`>;C|ogK{hY literal 0 HcmV?d00001 diff --git a/integration/tests/__image_snapshots__/bar-stories-test-ts-bar-series-stories-functional-accessors-functional-accessors-with-field-name-1-snap.png b/integration/tests/__image_snapshots__/bar-stories-test-ts-bar-series-stories-functional-accessors-functional-accessors-with-field-name-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..0b6763832afcbbf3772ef0aafd2769bbb97e5a53 GIT binary patch literal 20780 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 U*ab`?+#DfwU+!M!U7hFu2XF}48UO$Q literal 0 HcmV?d00001 diff --git a/integration/tests/__image_snapshots__/bar-stories-test-ts-bar-series-stories-functional-accessors-functional-accessors-with-field-name-with-tooltip-1-snap.png b/integration/tests/__image_snapshots__/bar-stories-test-ts-bar-series-stories-functional-accessors-functional-accessors-with-field-name-with-tooltip-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..7d3ca34d659622639e6da322dbbe27e48b16d6ec GIT binary patch literal 40047 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 literal 0 HcmV?d00001 diff --git a/integration/tests/__image_snapshots__/bar-stories-test-ts-bar-series-stories-functional-accessors-y-1-accessors-and-y-0-accessors-1-snap.png b/integration/tests/__image_snapshots__/bar-stories-test-ts-bar-series-stories-functional-accessors-y-1-accessors-and-y-0-accessors-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..d2311ece4d9df8c4b65b64de8e9e872343e8f82e GIT binary patch literal 46232 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

x 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 literal 0 HcmV?d00001 diff --git a/integration/tests/bar_stories.test.ts b/integration/tests/bar_stories.test.ts index 1a3879f70f..02e468497c 100644 --- a/integration/tests/bar_stories.test.ts +++ b/integration/tests/bar_stories.test.ts @@ -200,4 +200,31 @@ describe('Bar series stories', () => { }); }); }); + + describe('functional accessors', () => { + it('functional accessors with fieldName', async () => { + await common.expectChartAtUrlToMatchScreenshot( + 'http://localhost:9001/?path=/story/bar-chart--functional-accessors&knob-y fn name=testY&knob-split fn name=testSplit', + ); + }); + + it('functional accessors with fieldName - with tooltip', async () => { + await common.expectChartWithMouseAtUrlToMatchScreenshot( + 'http://localhost:9001/?path=/story/bar-chart--functional-accessors&knob-y fn name=testY&knob-split fn name=testSplit', + { + top: 60, + right: 180, + }, + { + screenshotSelector: 'body', + }, + ); + }); + + it('y1Accessors and y0Accessors', async () => { + await common.expectChartAtUrlToMatchScreenshot( + 'http://localhost:9001/?path=/story/bar-chart--band-bar-chart&knob-fit Y domain=true&knob-use fn accessors=true', + ); + }); + }); }); diff --git a/src/chart_types/xy_chart/utils/__snapshots__/series.test.ts.snap b/src/chart_types/xy_chart/utils/__snapshots__/series.test.ts.snap index 7bb5d77a3a..58c42c38b7 100644 --- a/src/chart_types/xy_chart/utils/__snapshots__/series.test.ts.snap +++ b/src/chart_types/xy_chart/utils/__snapshots__/series.test.ts.snap @@ -1,5 +1,128 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`Series #getSeriesNameKeys Shall ignore undefined values on splitSeriesAccessors 1`] = ` +Array [ + Object { + "data": Array [ + Object { + "datum": Array [ + 0, + 1, + "a", + ], + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 1, + }, + Object { + "datum": Array [ + 1, + 1, + "a", + ], + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 1, + }, + Object { + "datum": Array [ + 2, + 1, + "a", + ], + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 1, + }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{1}splitAccessors{2-a}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "a", + 1, + ], + "specId": "spec1", + "splitAccessors": Map { + 2 => "a", + }, + "yAccessor": 1, + }, + Object { + "data": Array [ + Object { + "datum": Array [ + 0, + 1, + "b", + ], + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 1, + }, + Object { + "datum": Array [ + 1, + 1, + "b", + ], + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 1, + }, + Object { + "datum": Array [ + 2, + 1, + "b", + ], + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 1, + }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{1}splitAccessors{2-b}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "b", + 1, + ], + "specId": "spec1", + "splitAccessors": Map { + 2 => "b", + }, + "yAccessor": 1, + }, +] +`; + exports[`Series Can split dataset into 1Y0G series 1`] = ` Array [ Object { @@ -22963,7 +23086,7 @@ Array [ ] `; -exports[`Series functional accessors Can split dataset into 2Y2G series 1`] = ` +exports[`Series functional accessors Can use default custom xAccessor 1`] = ` Array [ Object { "data": Array [ @@ -22980,198 +23103,4062 @@ Array [ "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 0, + "x": "_all", "y0": null, "y1": 1, }, Object { "datum": Object { "g1": "cdn.google.com", - "g2": "direct-cdn", - "x": 1, - "y1": 2, - "y2": 1, + "g2": "indirect-cdn", + "x": 0, + "y1": 1, + "y2": 4, }, "initialY0": null, - "initialY1": 2, + "initialY1": 1, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 1, + "x": "_all", "y0": null, - "y1": 2, + "y1": 1, }, Object { "datum": Object { "g1": "cdn.google.com", "g2": "direct-cdn", - "x": 2, - "y1": 10, - "y2": 5, + "x": 1, + "y1": 2, + "y2": 1, }, "initialY0": null, - "initialY1": 10, + "initialY1": 2, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 2, + "x": "_all", "y0": null, - "y1": 10, + "y1": 2, }, Object { "datum": Object { "g1": "cdn.google.com", - "g2": "direct-cdn", - "x": 3, - "y1": 7, - "y2": 3, + "g2": "indirect-cdn", + "x": 1, + "y1": 2, + "y2": 1, }, "initialY0": null, - "initialY1": 7, + "initialY1": 2, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 3, + "x": "_all", "y0": null, - "y1": 7, + "y1": 2, }, Object { "datum": Object { "g1": "cdn.google.com", "g2": "direct-cdn", - "x": 6, - "y1": 7, - "y2": 3, + "x": 2, + "y1": 10, + "y2": 5, }, "initialY0": null, - "initialY1": 7, + "initialY1": 10, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 6, + "x": "_all", "y0": null, - "y1": 7, + "y1": 10, }, - ], - "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{g1-cdn.google.com|g2-direct-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", - "seriesKeys": Array [ - "cdn.google.com", - "direct-cdn", - "y1", - ], - "specId": "spec1", - "splitAccessors": Map { - "g1" => "cdn.google.com", - "g2" => "direct-cdn", - }, - "yAccessor": "y1", - }, - Object { - "data": Array [ Object { "datum": Object { "g1": "cdn.google.com", - "g2": "direct-cdn", - "x": 0, - "y1": 1, - "y2": 4, + "g2": "indirect-cdn", + "x": 2, + "y1": 10, + "y2": 5, }, "initialY0": null, - "initialY1": 4, + "initialY1": 10, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 0, + "x": "_all", "y0": null, - "y1": 4, + "y1": 10, }, Object { "datum": Object { "g1": "cdn.google.com", "g2": "direct-cdn", - "x": 1, - "y1": 2, - "y2": 1, + "x": 3, + "y1": 7, + "y2": 3, }, "initialY0": null, - "initialY1": 1, + "initialY1": 7, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 1, + "x": "_all", "y0": null, - "y1": 1, + "y1": 7, }, Object { "datum": Object { "g1": "cdn.google.com", - "g2": "direct-cdn", - "x": 2, - "y1": 10, - "y2": 5, + "g2": "indirect-cdn", + "x": 3, + "y1": 7, + "y2": 3, }, "initialY0": null, - "initialY1": 5, + "initialY1": 7, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 2, + "x": "_all", "y0": null, - "y1": 5, + "y1": 7, }, Object { "datum": Object { "g1": "cdn.google.com", "g2": "direct-cdn", - "x": 3, + "x": 6, "y1": 7, "y2": 3, }, "initialY0": null, - "initialY1": 3, + "initialY1": 7, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 3, + "x": "_all", "y0": null, - "y1": 3, + "y1": 7, }, Object { "datum": Object { "g1": "cdn.google.com", - "g2": "direct-cdn", + "g2": "indirect-cdn", "x": 6, "y1": 7, "y2": 3, }, "initialY0": null, - "initialY1": 3, + "initialY1": 7, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 6, + "x": "_all", "y0": null, - "y1": 3, + "y1": 7, }, ], - "key": "groupId{__global__}spec{spec1}yAccessor{y2}splitAccessors{g1-cdn.google.com|g2-direct-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{g1-cdn.google.com}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", "seriesKeys": Array [ "cdn.google.com", - "direct-cdn", - "y2", + "y1", ], "specId": "spec1", "splitAccessors": Map { "g1" => "cdn.google.com", - "g2" => "direct-cdn", }, - "yAccessor": "y2", + "yAccessor": "y1", }, Object { "data": Array [ Object { "datum": Object { - "g1": "cdn.google.com", + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 0, + "y1": 3, + "y2": 6, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": "_all", + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 0, + "y1": 3, + "y2": 6, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": "_all", + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 1, + "y1": 2, + "y2": 5, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": "_all", + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 1, + "y1": 2, + "y2": 5, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": "_all", + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 2, + "y1": 3, + "y2": 1, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": "_all", + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 2, + "y1": 3, + "y2": 1, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": "_all", + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 3, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": "_all", + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 3, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": "_all", + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 6, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": "_all", + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 6, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": "_all", + "y0": null, + "y1": 6, + }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{g1-cloudflare.com}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "cloudflare.com", + "y1", + ], + "specId": "spec1", + "splitAccessors": Map { + "g1" => "cloudflare.com", + }, + "yAccessor": "y1", + }, +] +`; + +exports[`Series functional accessors Can use functional splitSeriesAccessor 1`] = ` +Array [ + Object { + "data": Array [ + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 0, + "y1": 1, + "y2": 4, + }, + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 1, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 0, + "y1": 1, + "y2": 4, + }, + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 1, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 1, + "y1": 2, + "y2": 1, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 1, + "y1": 2, + "y2": 1, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 2, + "y1": 10, + "y2": 5, + }, + "initialY0": null, + "initialY1": 10, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 10, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 2, + "y1": 10, + "y2": 5, + }, + "initialY0": null, + "initialY1": 10, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 10, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 3, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 7, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 3, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 7, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 6, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 7, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 6, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 7, + }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{(index:0)-cdn.google.com}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "cdn.google.com", + "y1", + ], + "specId": "spec1", + "splitAccessors": Map { + "(index:0)" => "cdn.google.com", + }, + "yAccessor": "y1", + }, + Object { + "data": Array [ + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 0, + "y1": 3, + "y2": 6, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 0, + "y1": 3, + "y2": 6, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 1, + "y1": 2, + "y2": 5, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 1, + "y1": 2, + "y2": 5, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 2, + "y1": 3, + "y2": 1, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 2, + "y1": 3, + "y2": 1, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 3, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 3, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 6, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 6, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 6, + }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{(index:0)-cloudflare.com}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "cloudflare.com", + "y1", + ], + "specId": "spec1", + "splitAccessors": Map { + "(index:0)" => "cloudflare.com", + }, + "yAccessor": "y1", + }, +] +`; + +exports[`Series functional accessors Can use functional splitSeriesAccessor with fieldName 1`] = ` +Array [ + Object { + "data": Array [ + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 0, + "y1": 1, + "y2": 4, + }, + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 1, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 0, + "y1": 1, + "y2": 4, + }, + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 1, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 1, + "y1": 2, + "y2": 1, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 1, + "y1": 2, + "y2": 1, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 2, + "y1": 10, + "y2": 5, + }, + "initialY0": null, + "initialY1": 10, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 10, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 2, + "y1": 10, + "y2": 5, + }, + "initialY0": null, + "initialY1": 10, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 10, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 3, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 7, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 3, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 7, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 6, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 7, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 6, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 7, + }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{custom name-cdn.google.com}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "cdn.google.com", + "y1", + ], + "specId": "spec1", + "splitAccessors": Map { + "custom name" => "cdn.google.com", + }, + "yAccessor": "y1", + }, + Object { + "data": Array [ + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 0, + "y1": 3, + "y2": 6, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 0, + "y1": 3, + "y2": 6, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 1, + "y1": 2, + "y2": 5, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 1, + "y1": 2, + "y2": 5, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 2, + "y1": 3, + "y2": 1, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 2, + "y1": 3, + "y2": 1, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 3, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 3, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 6, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 6, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 6, + }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{custom name-cloudflare.com}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "cloudflare.com", + "y1", + ], + "specId": "spec1", + "splitAccessors": Map { + "custom name" => "cloudflare.com", + }, + "yAccessor": "y1", + }, +] +`; + +exports[`Series functional accessors Can use functional xAccessor 1`] = ` +Array [ + Object { + "data": Array [ + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 0, + "y1": 1, + "y2": 4, + }, + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 1, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 0, + "y1": 1, + "y2": 4, + }, + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 1, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 1, + "y1": 2, + "y2": 1, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 1, + "y1": 2, + "y2": 1, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 2, + "y1": 10, + "y2": 5, + }, + "initialY0": null, + "initialY1": 10, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 10, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 2, + "y1": 10, + "y2": 5, + }, + "initialY0": null, + "initialY1": 10, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 10, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 3, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 7, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 3, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 7, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 6, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 7, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 6, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 7, + }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{g1-cdn.google.com}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "cdn.google.com", + "y1", + ], + "specId": "spec1", + "splitAccessors": Map { + "g1" => "cdn.google.com", + }, + "yAccessor": "y1", + }, + Object { + "data": Array [ + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 0, + "y1": 1, + "y2": 4, + }, + "initialY0": null, + "initialY1": 4, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 4, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 0, + "y1": 1, + "y2": 4, + }, + "initialY0": null, + "initialY1": 4, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 4, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 1, + "y1": 2, + "y2": 1, + }, + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 1, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 1, + "y1": 2, + "y2": 1, + }, + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 1, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 2, + "y1": 10, + "y2": 5, + }, + "initialY0": null, + "initialY1": 5, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 5, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 2, + "y1": 10, + "y2": 5, + }, + "initialY0": null, + "initialY1": 5, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 5, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 3, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 3, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 6, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 6, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 3, + }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{y2}splitAccessors{g1-cdn.google.com}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "cdn.google.com", + "y2", + ], + "specId": "spec1", + "splitAccessors": Map { + "g1" => "cdn.google.com", + }, + "yAccessor": "y2", + }, + Object { + "data": Array [ + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 0, + "y1": 3, + "y2": 6, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 0, + "y1": 3, + "y2": 6, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 1, + "y1": 2, + "y2": 5, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 1, + "y1": 2, + "y2": 5, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 2, + "y1": 3, + "y2": 1, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 2, + "y1": 3, + "y2": 1, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 3, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 3, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 6, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 6, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 6, + }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{g1-cloudflare.com}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "cloudflare.com", + "y1", + ], + "specId": "spec1", + "splitAccessors": Map { + "g1" => "cloudflare.com", + }, + "yAccessor": "y1", + }, + Object { + "data": Array [ + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 0, + "y1": 3, + "y2": 6, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 0, + "y1": 3, + "y2": 6, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 1, + "y1": 2, + "y2": 5, + }, + "initialY0": null, + "initialY1": 5, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 5, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 1, + "y1": 2, + "y2": 5, + }, + "initialY0": null, + "initialY1": 5, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 5, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 2, + "y1": 3, + "y2": 1, + }, + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 1, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 2, + "y1": 3, + "y2": 1, + }, + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 1, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 3, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 4, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 4, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 3, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 4, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 4, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 6, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 4, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 4, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 6, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 4, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 4, + }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{y2}splitAccessors{g1-cloudflare.com}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "cloudflare.com", + "y2", + ], + "specId": "spec1", + "splitAccessors": Map { + "g1" => "cloudflare.com", + }, + "yAccessor": "y2", + }, +] +`; + +exports[`Series functional accessors Can use functional y0Accessor 1`] = ` +Array [ + Object { + "data": Array [ + Object { + "datum": Object { + "max": 16.3203125, + "min": 0.3203125, + "x": 1551438000000, + }, + "initialY0": 0.3203125, + "initialY1": 16.3203125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438000000, + "y0": 0.3203125, + "y1": 16.3203125, + }, + Object { + "datum": Object { + "max": 11.9140625, + "min": -0.0859375, + "x": 1551438030000, + }, + "initialY0": -0.0859375, + "initialY1": 11.9140625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438030000, + "y0": -0.0859375, + "y1": 11.9140625, + }, + Object { + "datum": Object { + "max": 11.8671875, + "min": -0.1328125, + "x": 1551438060000, + }, + "initialY0": -0.1328125, + "initialY1": 11.8671875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438060000, + "y0": -0.1328125, + "y1": 11.8671875, + }, + Object { + "datum": Object { + "max": 11.125, + "min": -0.875, + "x": 1551438090000, + }, + "initialY0": -0.875, + "initialY1": 11.125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438090000, + "y0": -0.875, + "y1": 11.125, + }, + Object { + "datum": Object { + "max": 12.765625, + "min": 0.765625, + "x": 1551438120000, + }, + "initialY0": 0.765625, + "initialY1": 12.765625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438120000, + "y0": 0.765625, + "y1": 12.765625, + }, + Object { + "datum": Object { + "max": 19.546875, + "min": 7.546875, + "x": 1551438150000, + }, + "initialY0": 7.546875, + "initialY1": 19.546875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438150000, + "y0": 7.546875, + "y1": 19.546875, + }, + Object { + "datum": Object { + "max": 20.984375, + "min": 4.984375, + "x": 1551438180000, + }, + "initialY0": 4.984375, + "initialY1": 20.984375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438180000, + "y0": 4.984375, + "y1": 20.984375, + }, + Object { + "datum": Object { + "max": 21.546875, + "min": 5.546875, + "x": 1551438210000, + }, + "initialY0": 5.546875, + "initialY1": 21.546875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438210000, + "y0": 5.546875, + "y1": 21.546875, + }, + Object { + "datum": Object { + "max": 17.390625, + "min": 5.390625, + "x": 1551438240000, + }, + "initialY0": 5.390625, + "initialY1": 17.390625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438240000, + "y0": 5.390625, + "y1": 17.390625, + }, + Object { + "datum": Object { + "max": 19.5625, + "min": 3.5625, + "x": 1551438270000, + }, + "initialY0": 3.5625, + "initialY1": 19.5625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438270000, + "y0": 3.5625, + "y1": 19.5625, + }, + Object { + "datum": Object { + "max": 19.5859375, + "min": 3.5859375, + "x": 1551438300000, + }, + "initialY0": 3.5859375, + "initialY1": 19.5859375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438300000, + "y0": 3.5859375, + "y1": 19.5859375, + }, + Object { + "datum": Object { + "max": 14.0546875, + "min": 6.0546875, + "x": 1551438330000, + }, + "initialY0": 6.0546875, + "initialY1": 14.0546875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438330000, + "y0": 6.0546875, + "y1": 14.0546875, + }, + Object { + "datum": Object { + "max": 13.921875, + "min": 5.921875, + "x": 1551438360000, + }, + "initialY0": 5.921875, + "initialY1": 13.921875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438360000, + "y0": 5.921875, + "y1": 13.921875, + }, + Object { + "datum": Object { + "max": 13.4921875, + "min": 5.4921875, + "x": 1551438390000, + }, + "initialY0": 5.4921875, + "initialY1": 13.4921875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438390000, + "y0": 5.4921875, + "y1": 13.4921875, + }, + Object { + "datum": Object { + "max": 17.78125, + "min": 1.78125, + "x": 1551438420000, + }, + "initialY0": 1.78125, + "initialY1": 17.78125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438420000, + "y0": 1.78125, + "y1": 17.78125, + }, + Object { + "datum": Object { + "max": 18.046875, + "min": 2.046875, + "x": 1551438450000, + }, + "initialY0": 2.046875, + "initialY1": 18.046875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438450000, + "y0": 2.046875, + "y1": 18.046875, + }, + Object { + "datum": Object { + "max": 22.0546875, + "min": 6.0546875, + "x": 1551438480000, + }, + "initialY0": 6.0546875, + "initialY1": 22.0546875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438480000, + "y0": 6.0546875, + "y1": 22.0546875, + }, + Object { + "datum": Object { + "max": 18.640625, + "min": 6.640625, + "x": 1551438510000, + }, + "initialY0": 6.640625, + "initialY1": 18.640625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438510000, + "y0": 6.640625, + "y1": 18.640625, + }, + Object { + "datum": Object { + "max": 16.2421875, + "min": 0.2421875, + "x": 1551438540000, + }, + "initialY0": 0.2421875, + "initialY1": 16.2421875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438540000, + "y0": 0.2421875, + "y1": 16.2421875, + }, + Object { + "datum": Object { + "max": 12.5, + "min": 4.5, + "x": 1551438570000, + }, + "initialY0": 4.5, + "initialY1": 12.5, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438570000, + "y0": 4.5, + "y1": 12.5, + }, + Object { + "datum": Object { + "max": 11.2578125, + "min": 3.2578125, + "x": 1551438600000, + }, + "initialY0": 3.2578125, + "initialY1": 11.2578125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438600000, + "y0": 3.2578125, + "y1": 11.2578125, + }, + Object { + "datum": Object { + "max": 16.515625, + "min": 4.515625, + "x": 1551438630000, + }, + "initialY0": 4.515625, + "initialY1": 16.515625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438630000, + "y0": 4.515625, + "y1": 16.515625, + }, + Object { + "datum": Object { + "max": 18.796875, + "min": 2.796875, + "x": 1551438660000, + }, + "initialY0": 2.796875, + "initialY1": 18.796875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438660000, + "y0": 2.796875, + "y1": 18.796875, + }, + Object { + "datum": Object { + "max": 19.125, + "min": 3.125, + "x": 1551438690000, + }, + "initialY0": 3.125, + "initialY1": 19.125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438690000, + "y0": 3.125, + "y1": 19.125, + }, + Object { + "datum": Object { + "max": 25.40625, + "min": 17.40625, + "x": 1551438720000, + }, + "initialY0": 17.40625, + "initialY1": 25.40625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438720000, + "y0": 17.40625, + "y1": 25.40625, + }, + Object { + "datum": Object { + "max": 25.921875, + "min": 13.921875, + "x": 1551438750000, + }, + "initialY0": 13.921875, + "initialY1": 25.921875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438750000, + "y0": 13.921875, + "y1": 25.921875, + }, + Object { + "datum": Object { + "max": 34.640625, + "min": 22.640625, + "x": 1551438780000, + }, + "initialY0": 22.640625, + "initialY1": 34.640625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438780000, + "y0": 22.640625, + "y1": 34.640625, + }, + Object { + "datum": Object { + "max": 35.390625, + "min": 23.390625, + "x": 1551438810000, + }, + "initialY0": 23.390625, + "initialY1": 35.390625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438810000, + "y0": 23.390625, + "y1": 35.390625, + }, + Object { + "datum": Object { + "max": 27.953125, + "min": 15.953125, + "x": 1551438840000, + }, + "initialY0": 15.953125, + "initialY1": 27.953125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438840000, + "y0": 15.953125, + "y1": 27.953125, + }, + Object { + "datum": Object { + "max": 24, + "min": 12, + "x": 1551438870000, + }, + "initialY0": 12, + "initialY1": 24, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438870000, + "y0": 12, + "y1": 24, + }, + Object { + "datum": Object { + "max": 15.9765625, + "min": 7.9765625, + "x": 1551438900000, + }, + "initialY0": 7.9765625, + "initialY1": 15.9765625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438900000, + "y0": 7.9765625, + "y1": 15.9765625, + }, + Object { + "datum": Object { + "max": 17.1640625, + "min": 5.1640625, + "x": 1551438930000, + }, + "initialY0": 5.1640625, + "initialY1": 17.1640625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438930000, + "y0": 5.1640625, + "y1": 17.1640625, + }, + Object { + "datum": Object { + "max": 11.98046875, + "min": 3.98046875, + "x": 1551438960000, + }, + "initialY0": 3.98046875, + "initialY1": 11.98046875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438960000, + "y0": 3.98046875, + "y1": 11.98046875, + }, + Object { + "datum": Object { + "max": 15.1640625, + "min": 3.1640625, + "x": 1551438990000, + }, + "initialY0": 3.1640625, + "initialY1": 15.1640625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551438990000, + "y0": 3.1640625, + "y1": 15.1640625, + }, + Object { + "datum": Object { + "max": 11.39453125, + "min": -0.60546875, + "x": 1551439020000, + }, + "initialY0": -0.60546875, + "initialY1": 11.39453125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439020000, + "y0": -0.60546875, + "y1": 11.39453125, + }, + Object { + "datum": Object { + "max": 9.68359375, + "min": -2.31640625, + "x": 1551439050000, + }, + "initialY0": -2.31640625, + "initialY1": 9.68359375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439050000, + "y0": -2.31640625, + "y1": 9.68359375, + }, + Object { + "datum": Object { + "max": 8.95703125, + "min": -3.04296875, + "x": 1551439080000, + }, + "initialY0": -3.04296875, + "initialY1": 8.95703125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439080000, + "y0": -3.04296875, + "y1": 8.95703125, + }, + Object { + "datum": Object { + "max": 12.26171875, + "min": 0.26171875, + "x": 1551439110000, + }, + "initialY0": 0.26171875, + "initialY1": 12.26171875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439110000, + "y0": 0.26171875, + "y1": 12.26171875, + }, + Object { + "datum": Object { + "max": 15.1171875, + "min": 3.1171875, + "x": 1551439140000, + }, + "initialY0": 3.1171875, + "initialY1": 15.1171875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439140000, + "y0": 3.1171875, + "y1": 15.1171875, + }, + Object { + "datum": Object { + "max": 18.8515625, + "min": 6.8515625, + "x": 1551439170000, + }, + "initialY0": 6.8515625, + "initialY1": 18.8515625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439170000, + "y0": 6.8515625, + "y1": 18.8515625, + }, + Object { + "datum": Object { + "max": 20.6171875, + "min": 4.6171875, + "x": 1551439200000, + }, + "initialY0": 4.6171875, + "initialY1": 20.6171875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439200000, + "y0": 4.6171875, + "y1": 20.6171875, + }, + Object { + "datum": Object { + "max": 15.1171875, + "min": 7.1171875, + "x": 1551439230000, + }, + "initialY0": 7.1171875, + "initialY1": 15.1171875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439230000, + "y0": 7.1171875, + "y1": 15.1171875, + }, + Object { + "datum": Object { + "max": 19.6640625, + "min": 7.6640625, + "x": 1551439260000, + }, + "initialY0": 7.6640625, + "initialY1": 19.6640625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439260000, + "y0": 7.6640625, + "y1": 19.6640625, + }, + Object { + "datum": Object { + "max": 19.109375, + "min": 7.109375, + "x": 1551439290000, + }, + "initialY0": 7.109375, + "initialY1": 19.109375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439290000, + "y0": 7.109375, + "y1": 19.109375, + }, + Object { + "datum": Object { + "max": 18.6015625, + "min": 6.6015625, + "x": 1551439320000, + }, + "initialY0": 6.6015625, + "initialY1": 18.6015625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439320000, + "y0": 6.6015625, + "y1": 18.6015625, + }, + Object { + "datum": Object { + "max": 19.21875, + "min": 3.21875, + "x": 1551439350000, + }, + "initialY0": 3.21875, + "initialY1": 19.21875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439350000, + "y0": 3.21875, + "y1": 19.21875, + }, + Object { + "datum": Object { + "max": 21.53125, + "min": 9.53125, + "x": 1551439380000, + }, + "initialY0": 9.53125, + "initialY1": 21.53125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439380000, + "y0": 9.53125, + "y1": 21.53125, + }, + Object { + "datum": Object { + "max": 23.4609375, + "min": 11.4609375, + "x": 1551439410000, + }, + "initialY0": 11.4609375, + "initialY1": 23.4609375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439410000, + "y0": 11.4609375, + "y1": 23.4609375, + }, + Object { + "datum": Object { + "max": 19.1796875, + "min": 11.1796875, + "x": 1551439440000, + }, + "initialY0": 11.1796875, + "initialY1": 19.1796875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439440000, + "y0": 11.1796875, + "y1": 19.1796875, + }, + Object { + "datum": Object { + "max": 15.984375, + "min": 7.984375, + "x": 1551439470000, + }, + "initialY0": 7.984375, + "initialY1": 15.984375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439470000, + "y0": 7.984375, + "y1": 15.984375, + }, + Object { + "datum": Object { + "max": 32.8125, + "min": 20.8125, + "x": 1551439500000, + }, + "initialY0": 20.8125, + "initialY1": 32.8125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439500000, + "y0": 20.8125, + "y1": 32.8125, + }, + Object { + "datum": Object { + "max": 25.46875, + "min": 17.46875, + "x": 1551439530000, + }, + "initialY0": 17.46875, + "initialY1": 25.46875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439530000, + "y0": 17.46875, + "y1": 25.46875, + }, + Object { + "datum": Object { + "max": 22.484375, + "min": 6.484375, + "x": 1551439560000, + }, + "initialY0": 6.484375, + "initialY1": 22.484375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439560000, + "y0": 6.484375, + "y1": 22.484375, + }, + Object { + "datum": Object { + "max": 17.9609375, + "min": 5.9609375, + "x": 1551439590000, + }, + "initialY0": 5.9609375, + "initialY1": 17.9609375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439590000, + "y0": 5.9609375, + "y1": 17.9609375, + }, + Object { + "datum": Object { + "max": 14.8515625, + "min": 2.8515625, + "x": 1551439620000, + }, + "initialY0": 2.8515625, + "initialY1": 14.8515625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439620000, + "y0": 2.8515625, + "y1": 14.8515625, + }, + Object { + "datum": Object { + "max": 16.1171875, + "min": 8.1171875, + "x": 1551439650000, + }, + "initialY0": 8.1171875, + "initialY1": 16.1171875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439650000, + "y0": 8.1171875, + "y1": 16.1171875, + }, + Object { + "datum": Object { + "max": 23.375, + "min": 15.375, + "x": 1551439680000, + }, + "initialY0": 15.375, + "initialY1": 23.375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439680000, + "y0": 15.375, + "y1": 23.375, + }, + Object { + "datum": Object { + "max": 24.609375, + "min": 16.609375, + "x": 1551439710000, + }, + "initialY0": 16.609375, + "initialY1": 24.609375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439710000, + "y0": 16.609375, + "y1": 24.609375, + }, + Object { + "datum": Object { + "max": 20.484375, + "min": 8.484375, + "x": 1551439740000, + }, + "initialY0": 8.484375, + "initialY1": 20.484375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439740000, + "y0": 8.484375, + "y1": 20.484375, + }, + Object { + "datum": Object { + "max": 19.515625, + "min": 11.515625, + "x": 1551439770000, + }, + "initialY0": 11.515625, + "initialY1": 19.515625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439770000, + "y0": 11.515625, + "y1": 19.515625, + }, + Object { + "datum": Object { + "max": 18.9140625, + "min": 10.9140625, + "x": 1551439800000, + }, + "initialY0": 10.9140625, + "initialY1": 18.9140625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439800000, + "y0": 10.9140625, + "y1": 18.9140625, + }, + Object { + "datum": Object { + "max": 14.8828125, + "min": 2.8828125, + "x": 1551439830000, + }, + "initialY0": 2.8828125, + "initialY1": 14.8828125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439830000, + "y0": 2.8828125, + "y1": 14.8828125, + }, + Object { + "datum": Object { + "max": 13.7578125, + "min": 5.7578125, + "x": 1551439860000, + }, + "initialY0": 5.7578125, + "initialY1": 13.7578125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439860000, + "y0": 5.7578125, + "y1": 13.7578125, + }, + Object { + "datum": Object { + "max": 12.625, + "min": 0.625, + "x": 1551439890000, + }, + "initialY0": 0.625, + "initialY1": 12.625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439890000, + "y0": 0.625, + "y1": 12.625, + }, + Object { + "datum": Object { + "max": 13.21875, + "min": 5.21875, + "x": 1551439920000, + }, + "initialY0": 5.21875, + "initialY1": 13.21875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439920000, + "y0": 5.21875, + "y1": 13.21875, + }, + Object { + "datum": Object { + "max": 12.5390625, + "min": 4.5390625, + "x": 1551439950000, + }, + "initialY0": 4.5390625, + "initialY1": 12.5390625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439950000, + "y0": 4.5390625, + "y1": 12.5390625, + }, + Object { + "datum": Object { + "max": 12.40625, + "min": 4.40625, + "x": 1551439980000, + }, + "initialY0": 4.40625, + "initialY1": 12.40625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551439980000, + "y0": 4.40625, + "y1": 12.40625, + }, + Object { + "datum": Object { + "max": 10.671875, + "min": 2.671875, + "x": 1551440010000, + }, + "initialY0": 2.671875, + "initialY1": 10.671875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440010000, + "y0": 2.671875, + "y1": 10.671875, + }, + Object { + "datum": Object { + "max": 15.24609375, + "min": 3.24609375, + "x": 1551440040000, + }, + "initialY0": 3.24609375, + "initialY1": 15.24609375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440040000, + "y0": 3.24609375, + "y1": 15.24609375, + }, + Object { + "datum": Object { + "max": 15.1015625, + "min": -0.8984375, + "x": 1551440070000, + }, + "initialY0": -0.8984375, + "initialY1": 15.1015625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440070000, + "y0": -0.8984375, + "y1": 15.1015625, + }, + Object { + "datum": Object { + "max": 15.09375, + "min": 3.09375, + "x": 1551440100000, + }, + "initialY0": 3.09375, + "initialY1": 15.09375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440100000, + "y0": 3.09375, + "y1": 15.09375, + }, + Object { + "datum": Object { + "max": 14.8125, + "min": 2.8125, + "x": 1551440130000, + }, + "initialY0": 2.8125, + "initialY1": 14.8125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440130000, + "y0": 2.8125, + "y1": 14.8125, + }, + Object { + "datum": Object { + "max": 14.90625, + "min": 2.90625, + "x": 1551440160000, + }, + "initialY0": 2.90625, + "initialY1": 14.90625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440160000, + "y0": 2.90625, + "y1": 14.90625, + }, + Object { + "datum": Object { + "max": 16.453125, + "min": 4.453125, + "x": 1551440190000, + }, + "initialY0": 4.453125, + "initialY1": 16.453125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440190000, + "y0": 4.453125, + "y1": 16.453125, + }, + Object { + "datum": Object { + "max": 19.8984375, + "min": 7.8984375, + "x": 1551440220000, + }, + "initialY0": 7.8984375, + "initialY1": 19.8984375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440220000, + "y0": 7.8984375, + "y1": 19.8984375, + }, + Object { + "datum": Object { + "max": 14.875, + "min": 6.875, + "x": 1551440250000, + }, + "initialY0": 6.875, + "initialY1": 14.875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440250000, + "y0": 6.875, + "y1": 14.875, + }, + Object { + "datum": Object { + "max": 20.4140625, + "min": 4.4140625, + "x": 1551440280000, + }, + "initialY0": 4.4140625, + "initialY1": 20.4140625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440280000, + "y0": 4.4140625, + "y1": 20.4140625, + }, + Object { + "datum": Object { + "max": 20.78125, + "min": 8.78125, + "x": 1551440310000, + }, + "initialY0": 8.78125, + "initialY1": 20.78125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440310000, + "y0": 8.78125, + "y1": 20.78125, + }, + Object { + "datum": Object { + "max": 42.28125, + "min": 26.28125, + "x": 1551440340000, + }, + "initialY0": 26.28125, + "initialY1": 42.28125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440340000, + "y0": 26.28125, + "y1": 42.28125, + }, + Object { + "datum": Object { + "max": 33.84375, + "min": 25.84375, + "x": 1551440370000, + }, + "initialY0": 25.84375, + "initialY1": 33.84375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440370000, + "y0": 25.84375, + "y1": 33.84375, + }, + Object { + "datum": Object { + "max": 26.40625, + "min": 14.40625, + "x": 1551440400000, + }, + "initialY0": 14.40625, + "initialY1": 26.40625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440400000, + "y0": 14.40625, + "y1": 26.40625, + }, + Object { + "datum": Object { + "max": 24.046875, + "min": 12.046875, + "x": 1551440430000, + }, + "initialY0": 12.046875, + "initialY1": 24.046875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440430000, + "y0": 12.046875, + "y1": 24.046875, + }, + Object { + "datum": Object { + "max": 20.6328125, + "min": 8.6328125, + "x": 1551440460000, + }, + "initialY0": 8.6328125, + "initialY1": 20.6328125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440460000, + "y0": 8.6328125, + "y1": 20.6328125, + }, + Object { + "datum": Object { + "max": 16.8125, + "min": 4.8125, + "x": 1551440490000, + }, + "initialY0": 4.8125, + "initialY1": 16.8125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440490000, + "y0": 4.8125, + "y1": 16.8125, + }, + Object { + "datum": Object { + "max": 14.93359375, + "min": -1.06640625, + "x": 1551440520000, + }, + "initialY0": -1.06640625, + "initialY1": 14.93359375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440520000, + "y0": -1.06640625, + "y1": 14.93359375, + }, + Object { + "datum": Object { + "max": 14.12890625, + "min": 2.12890625, + "x": 1551440550000, + }, + "initialY0": 2.12890625, + "initialY1": 14.12890625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440550000, + "y0": 2.12890625, + "y1": 14.12890625, + }, + Object { + "datum": Object { + "max": 13.69921875, + "min": 1.69921875, + "x": 1551440580000, + }, + "initialY0": 1.69921875, + "initialY1": 13.69921875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440580000, + "y0": 1.69921875, + "y1": 13.69921875, + }, + Object { + "datum": Object { + "max": 9.48828125, + "min": -2.51171875, + "x": 1551440610000, + }, + "initialY0": -2.51171875, + "initialY1": 9.48828125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440610000, + "y0": -2.51171875, + "y1": 9.48828125, + }, + Object { + "datum": Object { + "max": 16.0234375, + "min": 4.0234375, + "x": 1551440640000, + }, + "initialY0": 4.0234375, + "initialY1": 16.0234375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440640000, + "y0": 4.0234375, + "y1": 16.0234375, + }, + Object { + "datum": Object { + "max": 18.484375, + "min": 6.484375, + "x": 1551440670000, + }, + "initialY0": 6.484375, + "initialY1": 18.484375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440670000, + "y0": 6.484375, + "y1": 18.484375, + }, + Object { + "datum": Object { + "max": 16.890625, + "min": 4.890625, + "x": 1551440700000, + }, + "initialY0": 4.890625, + "initialY1": 16.890625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440700000, + "y0": 4.890625, + "y1": 16.890625, + }, + Object { + "datum": Object { + "max": 19.578125, + "min": 7.578125, + "x": 1551440730000, + }, + "initialY0": 7.578125, + "initialY1": 19.578125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440730000, + "y0": 7.578125, + "y1": 19.578125, + }, + Object { + "datum": Object { + "max": 14.7578125, + "min": 2.7578125, + "x": 1551440760000, + }, + "initialY0": 2.7578125, + "initialY1": 14.7578125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440760000, + "y0": 2.7578125, + "y1": 14.7578125, + }, + Object { + "datum": Object { + "max": 13.921875, + "min": 1.921875, + "x": 1551440790000, + }, + "initialY0": 1.921875, + "initialY1": 13.921875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440790000, + "y0": 1.921875, + "y1": 13.921875, + }, + Object { + "datum": Object { + "max": 14.5078125, + "min": 2.5078125, + "x": 1551440820000, + }, + "initialY0": 2.5078125, + "initialY1": 14.5078125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440820000, + "y0": 2.5078125, + "y1": 14.5078125, + }, + Object { + "datum": Object { + "max": 15.375, + "min": 3.375, + "x": 1551440850000, + }, + "initialY0": 3.375, + "initialY1": 15.375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440850000, + "y0": 3.375, + "y1": 15.375, + }, + Object { + "datum": Object { + "max": 19.890625, + "min": 7.890625, + "x": 1551440880000, + }, + "initialY0": 7.890625, + "initialY1": 19.890625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440880000, + "y0": 7.890625, + "y1": 19.890625, + }, + Object { + "datum": Object { + "max": 22.1953125, + "min": 6.1953125, + "x": 1551440910000, + }, + "initialY0": 6.1953125, + "initialY1": 22.1953125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440910000, + "y0": 6.1953125, + "y1": 22.1953125, + }, + Object { + "datum": Object { + "max": 19.625, + "min": 7.625, + "x": 1551440940000, + }, + "initialY0": 7.625, + "initialY1": 19.625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440940000, + "y0": 7.625, + "y1": 19.625, + }, + Object { + "datum": Object { + "max": 15.734375, + "min": 7.734375, + "x": 1551440970000, + }, + "initialY0": 7.734375, + "initialY1": 15.734375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551440970000, + "y0": 7.734375, + "y1": 15.734375, + }, + Object { + "datum": Object { + "max": 14.1640625, + "min": 2.1640625, + "x": 1551441000000, + }, + "initialY0": 2.1640625, + "initialY1": 14.1640625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441000000, + "y0": 2.1640625, + "y1": 14.1640625, + }, + Object { + "datum": Object { + "max": 13.296875, + "min": 5.296875, + "x": 1551441030000, + }, + "initialY0": 5.296875, + "initialY1": 13.296875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441030000, + "y0": 5.296875, + "y1": 13.296875, + }, + Object { + "datum": Object { + "max": 11.5546875, + "min": 3.5546875, + "x": 1551441060000, + }, + "initialY0": 3.5546875, + "initialY1": 11.5546875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441060000, + "y0": 3.5546875, + "y1": 11.5546875, + }, + Object { + "datum": Object { + "max": 11.17578125, + "min": 3.17578125, + "x": 1551441090000, + }, + "initialY0": 3.17578125, + "initialY1": 11.17578125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441090000, + "y0": 3.17578125, + "y1": 11.17578125, + }, + Object { + "datum": Object { + "max": 9.8671875, + "min": 1.8671875, + "x": 1551441120000, + }, + "initialY0": 1.8671875, + "initialY1": 9.8671875, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441120000, + "y0": 1.8671875, + "y1": 9.8671875, + }, + Object { + "datum": Object { + "max": 14.828125, + "min": -1.171875, + "x": 1551441150000, + }, + "initialY0": -1.171875, + "initialY1": 14.828125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441150000, + "y0": -1.171875, + "y1": 14.828125, + }, + Object { + "datum": Object { + "max": 18.578125, + "min": 2.578125, + "x": 1551441180000, + }, + "initialY0": 2.578125, + "initialY1": 18.578125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441180000, + "y0": 2.578125, + "y1": 18.578125, + }, + Object { + "datum": Object { + "max": 20.140625, + "min": 12.140625, + "x": 1551441210000, + }, + "initialY0": 12.140625, + "initialY1": 20.140625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441210000, + "y0": 12.140625, + "y1": 20.140625, + }, + Object { + "datum": Object { + "max": 19.640625, + "min": 11.640625, + "x": 1551441240000, + }, + "initialY0": 11.640625, + "initialY1": 19.640625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441240000, + "y0": 11.640625, + "y1": 19.640625, + }, + Object { + "datum": Object { + "max": 21.1484375, + "min": 5.1484375, + "x": 1551441270000, + }, + "initialY0": 5.1484375, + "initialY1": 21.1484375, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441270000, + "y0": 5.1484375, + "y1": 21.1484375, + }, + Object { + "datum": Object { + "max": 15.9140625, + "min": 3.9140625, + "x": 1551441300000, + }, + "initialY0": 3.9140625, + "initialY1": 15.9140625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441300000, + "y0": 3.9140625, + "y1": 15.9140625, + }, + Object { + "datum": Object { + "max": 14.0625, + "min": 6.0625, + "x": 1551441330000, + }, + "initialY0": 6.0625, + "initialY1": 14.0625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441330000, + "y0": 6.0625, + "y1": 14.0625, + }, + Object { + "datum": Object { + "max": 11.66015625, + "min": 3.66015625, + "x": 1551441360000, + }, + "initialY0": 3.66015625, + "initialY1": 11.66015625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441360000, + "y0": 3.66015625, + "y1": 11.66015625, + }, + Object { + "datum": Object { + "max": 17.0078125, + "min": 1.0078125, + "x": 1551441390000, + }, + "initialY0": 1.0078125, + "initialY1": 17.0078125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441390000, + "y0": 1.0078125, + "y1": 17.0078125, + }, + Object { + "datum": Object { + "max": 12.78125, + "min": 4.78125, + "x": 1551441420000, + }, + "initialY0": 4.78125, + "initialY1": 12.78125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441420000, + "y0": 4.78125, + "y1": 12.78125, + }, + Object { + "datum": Object { + "max": 16.0390625, + "min": 0.0390625, + "x": 1551441450000, + }, + "initialY0": 0.0390625, + "initialY1": 16.0390625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441450000, + "y0": 0.0390625, + "y1": 16.0390625, + }, + Object { + "datum": Object { + "max": 29.515625, + "min": 17.515625, + "x": 1551441480000, + }, + "initialY0": 17.515625, + "initialY1": 29.515625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441480000, + "y0": 17.515625, + "y1": 29.515625, + }, + Object { + "datum": Object { + "max": 22.640625, + "min": 14.640625, + "x": 1551441510000, + }, + "initialY0": 14.640625, + "initialY1": 22.640625, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441510000, + "y0": 14.640625, + "y1": 22.640625, + }, + Object { + "datum": Object { + "max": 17.1953125, + "min": 5.1953125, + "x": 1551441540000, + }, + "initialY0": 5.1953125, + "initialY1": 17.1953125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441540000, + "y0": 5.1953125, + "y1": 17.1953125, + }, + Object { + "datum": Object { + "max": 14.1953125, + "min": 6.1953125, + "x": 1551441570000, + }, + "initialY0": 6.1953125, + "initialY1": 14.1953125, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1551441570000, + "y0": 6.1953125, + "y1": 14.1953125, + }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{(index:0)}splitAccessors{}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "(index:0)", + ], + "specId": "spec1", + "splitAccessors": Map {}, + "yAccessor": "(index:0)", + }, +] +`; + +exports[`Series functional accessors Can use functional yAccessor 1`] = ` +Array [ + Object { + "data": Array [ + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 0, + "y1": 1, + "y2": 4, + }, + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 1, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 0, + "y1": 1, + "y2": 4, + }, + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 1, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 1, + "y1": 2, + "y2": 1, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 1, + "y1": 2, + "y2": 1, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 2, + "y1": 10, + "y2": 5, + }, + "initialY0": null, + "initialY1": 10, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 10, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 2, + "y1": 10, + "y2": 5, + }, + "initialY0": null, + "initialY1": 10, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 10, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 3, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 7, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 3, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 7, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 6, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 7, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 6, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 7, + }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{(index:0)}splitAccessors{g1-cdn.google.com}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "cdn.google.com", + "(index:0)", + ], + "specId": "spec1", + "splitAccessors": Map { + "g1" => "cdn.google.com", + }, + "yAccessor": "(index:0)", + }, + Object { + "data": Array [ + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 0, + "y1": 3, + "y2": 6, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 0, + "y1": 3, + "y2": 6, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 1, + "y1": 2, + "y2": 5, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 1, + "y1": 2, + "y2": 5, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 2, + "y1": 3, + "y2": 1, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 2, + "y1": 3, + "y2": 1, + }, + "initialY0": null, + "initialY1": 3, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 3, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 3, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 3, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 6, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 6, + }, + Object { + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 6, + "y1": 6, + "y2": 4, + }, + "initialY0": null, + "initialY1": 6, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 6, + "y0": null, + "y1": 6, + }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{(index:0)}splitAccessors{g1-cloudflare.com}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "cloudflare.com", + "(index:0)", + ], + "specId": "spec1", + "splitAccessors": Map { + "g1" => "cloudflare.com", + }, + "yAccessor": "(index:0)", + }, +] +`; + +exports[`Series functional accessors Can use functional yAccessor with fieldName 1`] = ` +Array [ + Object { + "data": Array [ + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 0, + "y1": 1, + "y2": 4, + }, + "initialY0": null, + "initialY1": 1, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 0, + "y0": null, + "y1": 1, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", "g2": "indirect-cdn", "x": 0, "y1": 1, @@ -23186,6 +27173,23 @@ Array [ "y0": null, "y1": 1, }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 1, + "y1": 2, + "y2": 1, + }, + "initialY0": null, + "initialY1": 2, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 1, + "y0": null, + "y1": 2, + }, Object { "datum": Object { "g1": "cdn.google.com", @@ -23201,30 +27205,81 @@ Array [ "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "x": 1, "y0": null, - "y1": 2, + "y1": 2, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 2, + "y1": 10, + "y2": 5, + }, + "initialY0": null, + "initialY1": 10, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 10, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 2, + "y1": 10, + "y2": 5, + }, + "initialY0": null, + "initialY1": 10, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 2, + "y0": null, + "y1": 10, + }, + Object { + "datum": Object { + "g1": "cdn.google.com", + "g2": "direct-cdn", + "x": 3, + "y1": 7, + "y2": 3, + }, + "initialY0": null, + "initialY1": 7, + "mark": null, + "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", + "x": 3, + "y0": null, + "y1": 7, }, Object { "datum": Object { "g1": "cdn.google.com", "g2": "indirect-cdn", - "x": 2, - "y1": 10, - "y2": 5, + "x": 3, + "y1": 7, + "y2": 3, }, "initialY0": null, - "initialY1": 10, + "initialY1": 7, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 2, + "x": 3, "y0": null, - "y1": 10, + "y1": 7, }, Object { "datum": Object { "g1": "cdn.google.com", - "g2": "indirect-cdn", - "x": 3, + "g2": "direct-cdn", + "x": 6, "y1": 7, "y2": 3, }, @@ -23233,7 +27288,7 @@ Array [ "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 3, + "x": 6, "y0": null, "y1": 7, }, @@ -23255,136 +27310,118 @@ Array [ "y1": 7, }, ], - "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{g1-cdn.google.com|g2-indirect-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "key": "groupId{__global__}spec{spec1}yAccessor{custom name}splitAccessors{g1-cdn.google.com}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", "seriesKeys": Array [ "cdn.google.com", - "indirect-cdn", - "y1", + "custom name", ], "specId": "spec1", "splitAccessors": Map { "g1" => "cdn.google.com", - "g2" => "indirect-cdn", }, - "yAccessor": "y1", + "yAccessor": "custom name", }, Object { "data": Array [ Object { "datum": Object { - "g1": "cdn.google.com", - "g2": "indirect-cdn", + "g1": "cloudflare.com", + "g2": "direct-cdn", "x": 0, - "y1": 1, - "y2": 4, + "y1": 3, + "y2": 6, }, "initialY0": null, - "initialY1": 4, + "initialY1": 3, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "x": 0, "y0": null, - "y1": 4, + "y1": 3, }, Object { "datum": Object { - "g1": "cdn.google.com", + "g1": "cloudflare.com", "g2": "indirect-cdn", - "x": 1, - "y1": 2, - "y2": 1, + "x": 0, + "y1": 3, + "y2": 6, }, "initialY0": null, - "initialY1": 1, + "initialY1": 3, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 1, + "x": 0, "y0": null, - "y1": 1, + "y1": 3, }, Object { "datum": Object { - "g1": "cdn.google.com", - "g2": "indirect-cdn", - "x": 2, - "y1": 10, + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 1, + "y1": 2, "y2": 5, }, "initialY0": null, - "initialY1": 5, + "initialY1": 2, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 2, + "x": 1, "y0": null, - "y1": 5, + "y1": 2, }, Object { "datum": Object { - "g1": "cdn.google.com", + "g1": "cloudflare.com", "g2": "indirect-cdn", - "x": 3, - "y1": 7, - "y2": 3, + "x": 1, + "y1": 2, + "y2": 5, }, "initialY0": null, - "initialY1": 3, + "initialY1": 2, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 3, + "x": 1, "y0": null, - "y1": 3, + "y1": 2, }, Object { "datum": Object { - "g1": "cdn.google.com", - "g2": "indirect-cdn", - "x": 6, - "y1": 7, - "y2": 3, + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 2, + "y1": 3, + "y2": 1, }, "initialY0": null, "initialY1": 3, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 6, + "x": 2, "y0": null, "y1": 3, }, - ], - "key": "groupId{__global__}spec{spec1}yAccessor{y2}splitAccessors{g1-cdn.google.com|g2-indirect-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", - "seriesKeys": Array [ - "cdn.google.com", - "indirect-cdn", - "y2", - ], - "specId": "spec1", - "splitAccessors": Map { - "g1" => "cdn.google.com", - "g2" => "indirect-cdn", - }, - "yAccessor": "y2", - }, - Object { - "data": Array [ Object { "datum": Object { "g1": "cloudflare.com", - "g2": "direct-cdn", - "x": 0, + "g2": "indirect-cdn", + "x": 2, "y1": 3, - "y2": 6, + "y2": 1, }, "initialY0": null, "initialY1": 3, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 0, + "x": 2, "y0": null, "y1": 3, }, @@ -23392,41 +27429,41 @@ Array [ "datum": Object { "g1": "cloudflare.com", "g2": "direct-cdn", - "x": 1, - "y1": 2, - "y2": 5, + "x": 3, + "y1": 6, + "y2": 4, }, "initialY0": null, - "initialY1": 2, + "initialY1": 6, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 1, + "x": 3, "y0": null, - "y1": 2, + "y1": 6, }, Object { "datum": Object { "g1": "cloudflare.com", - "g2": "direct-cdn", - "x": 2, - "y1": 3, - "y2": 1, + "g2": "indirect-cdn", + "x": 3, + "y1": 6, + "y2": 4, }, "initialY0": null, - "initialY1": 3, + "initialY1": 6, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 2, + "x": 3, "y0": null, - "y1": 3, + "y1": 6, }, Object { "datum": Object { "g1": "cloudflare.com", "g2": "direct-cdn", - "x": 3, + "x": 6, "y1": 6, "y2": 4, }, @@ -23435,14 +27472,14 @@ Array [ "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 3, + "x": 6, "y0": null, "y1": 6, }, Object { "datum": Object { "g1": "cloudflare.com", - "g2": "direct-cdn", + "g2": "indirect-cdn", "x": 6, "y1": 6, "y2": 4, @@ -23457,430 +27494,444 @@ Array [ "y1": 6, }, ], - "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{g1-cloudflare.com|g2-direct-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "key": "groupId{__global__}spec{spec1}yAccessor{custom name}splitAccessors{g1-cloudflare.com}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", "seriesKeys": Array [ "cloudflare.com", - "direct-cdn", - "y1", + "custom name", ], "specId": "spec1", "splitAccessors": Map { "g1" => "cloudflare.com", - "g2" => "direct-cdn", }, - "yAccessor": "y1", + "yAccessor": "custom name", }, +] +`; + +exports[`Series functional accessors Can use multiple functional/static accessors 1`] = ` +Array [ Object { "data": Array [ Object { "datum": Object { - "g1": "cloudflare.com", + "g1": "cdn.google.com", "g2": "direct-cdn", "x": 0, - "y1": 3, - "y2": 6, + "y1": 1, + "y2": 4, }, "initialY0": null, - "initialY1": 6, + "initialY1": 1, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 0, + "x": 1, "y0": null, - "y1": 6, + "y1": 1, }, Object { "datum": Object { - "g1": "cloudflare.com", + "g1": "cdn.google.com", "g2": "direct-cdn", "x": 1, "y1": 2, - "y2": 5, + "y2": 1, }, "initialY0": null, - "initialY1": 5, + "initialY1": 2, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 1, + "x": 2, "y0": null, - "y1": 5, + "y1": 2, }, Object { "datum": Object { - "g1": "cloudflare.com", + "g1": "cdn.google.com", "g2": "direct-cdn", "x": 2, - "y1": 3, - "y2": 1, + "y1": 10, + "y2": 5, }, "initialY0": null, - "initialY1": 1, + "initialY1": 10, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 2, + "x": 10, "y0": null, - "y1": 1, + "y1": 10, }, Object { "datum": Object { - "g1": "cloudflare.com", + "g1": "cdn.google.com", "g2": "direct-cdn", "x": 3, - "y1": 6, - "y2": 4, + "y1": 7, + "y2": 3, }, "initialY0": null, - "initialY1": 4, + "initialY1": 7, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 3, + "x": 7, "y0": null, - "y1": 4, + "y1": 7, }, Object { "datum": Object { - "g1": "cloudflare.com", + "g1": "cdn.google.com", "g2": "direct-cdn", "x": 6, - "y1": 6, - "y2": 4, + "y1": 7, + "y2": 3, }, "initialY0": null, - "initialY1": 4, + "initialY1": 7, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 6, + "x": 7, "y0": null, - "y1": 4, + "y1": 7, }, ], - "key": "groupId{__global__}spec{spec1}yAccessor{y2}splitAccessors{g1-cloudflare.com|g2-direct-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{(index:0)-cdn.google.com|g2-direct-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", "seriesKeys": Array [ - "cloudflare.com", + "cdn.google.com", "direct-cdn", - "y2", + "y1", ], "specId": "spec1", "splitAccessors": Map { - "g1" => "cloudflare.com", + "(index:0)" => "cdn.google.com", "g2" => "direct-cdn", }, - "yAccessor": "y2", + "yAccessor": "y1", }, Object { "data": Array [ Object { "datum": Object { - "g1": "cloudflare.com", - "g2": "indirect-cdn", + "g1": "cdn.google.com", + "g2": "direct-cdn", "x": 0, - "y1": 3, - "y2": 6, + "y1": 1, + "y2": 4, }, "initialY0": null, - "initialY1": 3, + "initialY1": 4, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 0, + "x": 1, "y0": null, - "y1": 3, + "y1": 4, }, Object { "datum": Object { - "g1": "cloudflare.com", - "g2": "indirect-cdn", + "g1": "cdn.google.com", + "g2": "direct-cdn", "x": 1, "y1": 2, - "y2": 5, + "y2": 1, }, "initialY0": null, - "initialY1": 2, + "initialY1": 1, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 1, + "x": 2, "y0": null, - "y1": 2, + "y1": 1, }, Object { "datum": Object { - "g1": "cloudflare.com", - "g2": "indirect-cdn", + "g1": "cdn.google.com", + "g2": "direct-cdn", "x": 2, - "y1": 3, - "y2": 1, + "y1": 10, + "y2": 5, }, "initialY0": null, - "initialY1": 3, + "initialY1": 5, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 2, + "x": 10, "y0": null, - "y1": 3, + "y1": 5, }, Object { "datum": Object { - "g1": "cloudflare.com", - "g2": "indirect-cdn", + "g1": "cdn.google.com", + "g2": "direct-cdn", "x": 3, - "y1": 6, - "y2": 4, + "y1": 7, + "y2": 3, }, "initialY0": null, - "initialY1": 6, + "initialY1": 3, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 3, + "x": 7, "y0": null, - "y1": 6, + "y1": 3, }, Object { "datum": Object { - "g1": "cloudflare.com", - "g2": "indirect-cdn", + "g1": "cdn.google.com", + "g2": "direct-cdn", "x": 6, - "y1": 6, - "y2": 4, + "y1": 7, + "y2": 3, }, "initialY0": null, - "initialY1": 6, + "initialY1": 3, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 6, + "x": 7, "y0": null, - "y1": 6, + "y1": 3, }, ], - "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{g1-cloudflare.com|g2-indirect-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "key": "groupId{__global__}spec{spec1}yAccessor{(index:1)}splitAccessors{(index:0)-cdn.google.com|g2-direct-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", "seriesKeys": Array [ - "cloudflare.com", - "indirect-cdn", - "y1", + "cdn.google.com", + "direct-cdn", + "(index:1)", ], "specId": "spec1", "splitAccessors": Map { - "g1" => "cloudflare.com", - "g2" => "indirect-cdn", + "(index:0)" => "cdn.google.com", + "g2" => "direct-cdn", }, - "yAccessor": "y1", + "yAccessor": "(index:1)", }, Object { "data": Array [ Object { "datum": Object { - "g1": "cloudflare.com", + "g1": "cdn.google.com", "g2": "indirect-cdn", "x": 0, - "y1": 3, - "y2": 6, + "y1": 1, + "y2": 4, }, "initialY0": null, - "initialY1": 6, + "initialY1": 1, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 0, + "x": 1, "y0": null, - "y1": 6, + "y1": 1, }, Object { "datum": Object { - "g1": "cloudflare.com", + "g1": "cdn.google.com", "g2": "indirect-cdn", "x": 1, "y1": 2, - "y2": 5, + "y2": 1, }, "initialY0": null, - "initialY1": 5, + "initialY1": 2, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 1, + "x": 2, "y0": null, - "y1": 5, + "y1": 2, }, Object { "datum": Object { - "g1": "cloudflare.com", + "g1": "cdn.google.com", "g2": "indirect-cdn", "x": 2, - "y1": 3, - "y2": 1, + "y1": 10, + "y2": 5, }, "initialY0": null, - "initialY1": 1, + "initialY1": 10, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 2, + "x": 10, "y0": null, - "y1": 1, + "y1": 10, }, Object { "datum": Object { - "g1": "cloudflare.com", + "g1": "cdn.google.com", "g2": "indirect-cdn", "x": 3, - "y1": 6, - "y2": 4, + "y1": 7, + "y2": 3, }, "initialY0": null, - "initialY1": 4, + "initialY1": 7, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 3, + "x": 7, "y0": null, - "y1": 4, + "y1": 7, }, Object { "datum": Object { - "g1": "cloudflare.com", + "g1": "cdn.google.com", "g2": "indirect-cdn", "x": 6, - "y1": 6, - "y2": 4, + "y1": 7, + "y2": 3, }, "initialY0": null, - "initialY1": 4, + "initialY1": 7, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 6, + "x": 7, "y0": null, - "y1": 4, + "y1": 7, }, ], - "key": "groupId{__global__}spec{spec1}yAccessor{y2}splitAccessors{g1-cloudflare.com|g2-indirect-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{(index:0)-cdn.google.com|g2-indirect-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", "seriesKeys": Array [ - "cloudflare.com", + "cdn.google.com", "indirect-cdn", - "y2", + "y1", ], "specId": "spec1", "splitAccessors": Map { - "g1" => "cloudflare.com", + "(index:0)" => "cdn.google.com", "g2" => "indirect-cdn", }, - "yAccessor": "y2", + "yAccessor": "y1", }, -] -`; - -exports[`Series functional accessors Can split dataset with custom _all xAccessor 1`] = ` -Array [ Object { "data": Array [ Object { "datum": Object { "g1": "cdn.google.com", - "g2": "direct-cdn", + "g2": "indirect-cdn", "x": 0, "y1": 1, "y2": 4, }, "initialY0": null, - "initialY1": 1, + "initialY1": 4, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 1, "y0": null, - "y1": 1, + "y1": 4, }, Object { "datum": Object { "g1": "cdn.google.com", "g2": "indirect-cdn", - "x": 0, - "y1": 1, - "y2": 4, + "x": 1, + "y1": 2, + "y2": 1, }, "initialY0": null, "initialY1": 1, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 2, "y0": null, "y1": 1, }, Object { "datum": Object { - "g1": "cloudflare.com", - "g2": "direct-cdn", - "x": 0, - "y1": 3, - "y2": 6, + "g1": "cdn.google.com", + "g2": "indirect-cdn", + "x": 2, + "y1": 10, + "y2": 5, }, "initialY0": null, - "initialY1": 3, + "initialY1": 5, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 10, "y0": null, - "y1": 3, + "y1": 5, }, Object { "datum": Object { - "g1": "cloudflare.com", + "g1": "cdn.google.com", "g2": "indirect-cdn", - "x": 0, - "y1": 3, - "y2": 6, + "x": 3, + "y1": 7, + "y2": 3, }, "initialY0": null, "initialY1": 3, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 7, "y0": null, "y1": 3, }, Object { "datum": Object { "g1": "cdn.google.com", - "g2": "direct-cdn", - "x": 1, - "y1": 2, - "y2": 1, + "g2": "indirect-cdn", + "x": 6, + "y1": 7, + "y2": 3, }, "initialY0": null, - "initialY1": 2, + "initialY1": 3, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 7, "y0": null, - "y1": 2, + "y1": 3, }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{(index:1)}splitAccessors{(index:0)-cdn.google.com|g2-indirect-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "cdn.google.com", + "indirect-cdn", + "(index:1)", + ], + "specId": "spec1", + "splitAccessors": Map { + "(index:0)" => "cdn.google.com", + "g2" => "indirect-cdn", + }, + "yAccessor": "(index:1)", + }, + Object { + "data": Array [ Object { "datum": Object { - "g1": "cdn.google.com", - "g2": "indirect-cdn", - "x": 1, - "y1": 2, - "y2": 1, + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 0, + "y1": 3, + "y2": 6, }, "initialY0": null, - "initialY1": 2, + "initialY1": 3, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 3, "y0": null, - "y1": 2, + "y1": 3, }, Object { "datum": Object { @@ -23895,202 +27946,234 @@ Array [ "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 2, "y0": null, "y1": 2, }, Object { "datum": Object { "g1": "cloudflare.com", - "g2": "indirect-cdn", - "x": 1, - "y1": 2, - "y2": 5, + "g2": "direct-cdn", + "x": 2, + "y1": 3, + "y2": 1, }, "initialY0": null, - "initialY1": 2, + "initialY1": 3, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 3, "y0": null, - "y1": 2, + "y1": 3, }, Object { "datum": Object { - "g1": "cdn.google.com", + "g1": "cloudflare.com", "g2": "direct-cdn", - "x": 2, - "y1": 10, - "y2": 5, + "x": 3, + "y1": 6, + "y2": 4, }, "initialY0": null, - "initialY1": 10, + "initialY1": 6, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 6, "y0": null, - "y1": 10, + "y1": 6, }, Object { "datum": Object { - "g1": "cdn.google.com", - "g2": "indirect-cdn", - "x": 2, - "y1": 10, - "y2": 5, + "g1": "cloudflare.com", + "g2": "direct-cdn", + "x": 6, + "y1": 6, + "y2": 4, }, "initialY0": null, - "initialY1": 10, + "initialY1": 6, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 6, "y0": null, - "y1": 10, + "y1": 6, }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{(index:0)-cloudflare.com|g2-direct-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "cloudflare.com", + "direct-cdn", + "y1", + ], + "specId": "spec1", + "splitAccessors": Map { + "(index:0)" => "cloudflare.com", + "g2" => "direct-cdn", + }, + "yAccessor": "y1", + }, + Object { + "data": Array [ Object { "datum": Object { "g1": "cloudflare.com", "g2": "direct-cdn", - "x": 2, + "x": 0, "y1": 3, - "y2": 1, + "y2": 6, }, "initialY0": null, - "initialY1": 3, + "initialY1": 6, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 3, "y0": null, - "y1": 3, + "y1": 6, }, Object { "datum": Object { "g1": "cloudflare.com", - "g2": "indirect-cdn", - "x": 2, - "y1": 3, - "y2": 1, + "g2": "direct-cdn", + "x": 1, + "y1": 2, + "y2": 5, }, "initialY0": null, - "initialY1": 3, + "initialY1": 5, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 2, "y0": null, - "y1": 3, + "y1": 5, }, Object { "datum": Object { - "g1": "cdn.google.com", + "g1": "cloudflare.com", "g2": "direct-cdn", - "x": 3, - "y1": 7, - "y2": 3, + "x": 2, + "y1": 3, + "y2": 1, }, "initialY0": null, - "initialY1": 7, + "initialY1": 1, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 3, "y0": null, - "y1": 7, + "y1": 1, }, Object { "datum": Object { - "g1": "cdn.google.com", - "g2": "indirect-cdn", + "g1": "cloudflare.com", + "g2": "direct-cdn", "x": 3, - "y1": 7, - "y2": 3, + "y1": 6, + "y2": 4, }, "initialY0": null, - "initialY1": 7, + "initialY1": 4, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 6, "y0": null, - "y1": 7, + "y1": 4, }, Object { "datum": Object { "g1": "cloudflare.com", "g2": "direct-cdn", - "x": 3, + "x": 6, "y1": 6, "y2": 4, }, "initialY0": null, - "initialY1": 6, + "initialY1": 4, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 6, "y0": null, - "y1": 6, + "y1": 4, }, + ], + "key": "groupId{__global__}spec{spec1}yAccessor{(index:1)}splitAccessors{(index:0)-cloudflare.com|g2-direct-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "seriesKeys": Array [ + "cloudflare.com", + "direct-cdn", + "(index:1)", + ], + "specId": "spec1", + "splitAccessors": Map { + "(index:0)" => "cloudflare.com", + "g2" => "direct-cdn", + }, + "yAccessor": "(index:1)", + }, + Object { + "data": Array [ Object { "datum": Object { "g1": "cloudflare.com", "g2": "indirect-cdn", - "x": 3, - "y1": 6, - "y2": 4, + "x": 0, + "y1": 3, + "y2": 6, }, "initialY0": null, - "initialY1": 6, + "initialY1": 3, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 3, "y0": null, - "y1": 6, + "y1": 3, }, Object { "datum": Object { - "g1": "cdn.google.com", - "g2": "direct-cdn", - "x": 6, - "y1": 7, - "y2": 3, + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 1, + "y1": 2, + "y2": 5, }, "initialY0": null, - "initialY1": 7, + "initialY1": 2, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 2, "y0": null, - "y1": 7, + "y1": 2, }, Object { "datum": Object { - "g1": "cdn.google.com", + "g1": "cloudflare.com", "g2": "indirect-cdn", - "x": 6, - "y1": 7, - "y2": 3, + "x": 2, + "y1": 3, + "y2": 1, }, "initialY0": null, - "initialY1": 7, + "initialY1": 3, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 3, "y0": null, - "y1": 7, + "y1": 3, }, Object { "datum": Object { "g1": "cloudflare.com", - "g2": "direct-cdn", - "x": 6, + "g2": "indirect-cdn", + "x": 3, "y1": 6, "y2": 4, }, @@ -24099,7 +28182,7 @@ Array [ "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 6, "y0": null, "y1": 6, }, @@ -24116,141 +28199,124 @@ Array [ "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": "_all", + "x": 6, "y0": null, "y1": 6, }, ], - "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "key": "groupId{__global__}spec{spec1}yAccessor{y1}splitAccessors{(index:0)-cloudflare.com|g2-indirect-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", "seriesKeys": Array [ + "cloudflare.com", + "indirect-cdn", "y1", ], "specId": "spec1", - "splitAccessors": Map {}, + "splitAccessors": Map { + "(index:0)" => "cloudflare.com", + "g2" => "indirect-cdn", + }, "yAccessor": "y1", }, -] -`; - -exports[`Series functional accessors Shall ignore undefined values on splitSeriesAccessors 1`] = ` -Array [ Object { "data": Array [ Object { - "datum": Array [ - 0, - 1, - "a", - ], - "initialY0": null, - "initialY1": 1, - "mark": null, - "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 0, - "y0": null, - "y1": 1, - }, - Object { - "datum": Array [ - 1, - 1, - "a", - ], + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 0, + "y1": 3, + "y2": 6, + }, "initialY0": null, - "initialY1": 1, + "initialY1": 6, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 1, + "x": 3, "y0": null, - "y1": 1, + "y1": 6, }, Object { - "datum": Array [ - 2, - 1, - "a", - ], + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 1, + "y1": 2, + "y2": 5, + }, "initialY0": null, - "initialY1": 1, + "initialY1": 5, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "x": 2, "y0": null, - "y1": 1, + "y1": 5, }, - ], - "key": "groupId{__global__}spec{spec1}yAccessor{1}splitAccessors{2-a}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", - "seriesKeys": Array [ - "a", - 1, - ], - "specId": "spec1", - "splitAccessors": Map { - 2 => "a", - }, - "yAccessor": 1, - }, - Object { - "data": Array [ Object { - "datum": Array [ - 0, - 1, - "b", - ], + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 2, + "y1": 3, + "y2": 1, + }, "initialY0": null, "initialY1": 1, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 0, + "x": 3, "y0": null, "y1": 1, }, Object { - "datum": Array [ - 1, - 1, - "b", - ], + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 3, + "y1": 6, + "y2": 4, + }, "initialY0": null, - "initialY1": 1, + "initialY1": 4, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 1, + "x": 6, "y0": null, - "y1": 1, + "y1": 4, }, Object { - "datum": Array [ - 2, - 1, - "b", - ], + "datum": Object { + "g1": "cloudflare.com", + "g2": "indirect-cdn", + "x": 6, + "y1": 6, + "y2": 4, + }, "initialY0": null, - "initialY1": 1, + "initialY1": 4, "mark": null, "smH": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", "smV": "__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__", - "x": 2, + "x": 6, "y0": null, - "y1": 1, + "y1": 4, }, ], - "key": "groupId{__global__}spec{spec1}yAccessor{1}splitAccessors{2-b}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", + "key": "groupId{__global__}spec{spec1}yAccessor{(index:1)}splitAccessors{(index:0)-cloudflare.com|g2-indirect-cdn}smV{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}smH{__ECH_DEFAULT_SINGLE_PANEL_SM_VALUE__}", "seriesKeys": Array [ - "b", - 1, + "cloudflare.com", + "indirect-cdn", + "(index:1)", ], "specId": "spec1", "splitAccessors": Map { - 2 => "b", + "(index:0)" => "cloudflare.com", + "g2" => "indirect-cdn", }, - "yAccessor": 1, + "yAccessor": "(index:1)", }, ] `; diff --git a/src/chart_types/xy_chart/utils/series.test.ts b/src/chart_types/xy_chart/utils/series.test.ts index 65d2e00971..d92facf7d0 100644 --- a/src/chart_types/xy_chart/utils/series.test.ts +++ b/src/chart_types/xy_chart/utils/series.test.ts @@ -17,17 +17,20 @@ * under the License. */ +import { flatten } from 'lodash'; + import { ChartTypes } from '../..'; import { MockDataSeries } from '../../../mocks/series'; import { MockSeriesIdentifier } from '../../../mocks/series/series_identifiers'; import { MockSeriesSpec, MockGlobalSpec } from '../../../mocks/specs'; import { MockStore } from '../../../mocks/store'; -import { SeededDataGenerator } from '../../../mocks/utils'; +import { SeededDataGenerator, getRandomNumberGenerator } from '../../../mocks/utils'; import { ScaleType } from '../../../scales/constants'; import { SpecTypes } from '../../../specs/constants'; import { AccessorFn } from '../../../utils/accessor'; import { Position } from '../../../utils/commons'; import * as TestDataset from '../../../utils/data_samples/test_dataset'; +import { KIBANA_METRICS } from '../../../utils/data_samples/test_dataset_kibana'; import { ColorConfig } from '../../../utils/themes/theme'; import { computeSeriesDomainsSelector } from '../state/selectors/compute_series_domains'; import { @@ -46,6 +49,7 @@ import { BasicSeriesSpec, LineSeriesSpec, SeriesTypes, AreaSeriesSpec } from './ import { formatStackedDataSeriesValues } from './stacked_series_utils'; const dg = new SeededDataGenerator(); +const getRandomNumber = getRandomNumberGenerator(); function matchOnlyDataSeriesLegacySnapshot(d: DataSeries) { const { @@ -572,7 +576,7 @@ describe('Series', () => { }); test('should only include deselectedDataSeries when splitting series if deselectedDataSeries is defined', () => { const id = 'splitSpec'; - + const yAccessors = ['y1', 'y2']; const splitSpec: BasicSeriesSpec = { specType: SpecTypes.Series, chartType: ChartTypes.XYAxis, @@ -582,7 +586,7 @@ describe('Series', () => { yScaleType: ScaleType.Log, xScaleType: ScaleType.Linear, xAccessor: 'x', - yAccessors: ['y1', 'y2'], + yAccessors, stackAccessors: ['x'], data: TestDataset.BARCHART_2Y0G, hideInLegend: false, @@ -597,7 +601,7 @@ describe('Series', () => { const deselectedDataSeries: XYChartSeriesIdentifier[] = [ { specId: id, - yAccessor: splitSpec.yAccessors[0], + yAccessor: yAccessors[0], splitAccessors: new Map(), seriesKeys: [], key: @@ -920,39 +924,6 @@ describe('Series', () => { expect(actual).toBe('a - y'); }); }); - }); - - describe('functional accessors', () => { - test('Can split dataset into 2Y2G series', () => { - const xAccessor: AccessorFn = (d) => d.x; - const splitSeries = splitSeriesDataByAccessors( - MockSeriesSpec.bar({ - id: 'spec1', - data: TestDataset.BARCHART_2Y2G, - xAccessor, - yAccessors: ['y1', 'y2'], - splitSeriesAccessors: ['g1', 'g2'], - }), - new Map(), - ); - expect([...splitSeries.dataSeries.values()].length).toBe(8); - expect([...splitSeries.dataSeries.values()].map(matchOnlyDataSeriesLegacySnapshot)).toMatchSnapshot(); - }); - - test('Can split dataset with custom _all xAccessor', () => { - const xAccessor: AccessorFn = () => '_all'; - const splitSeries = splitSeriesDataByAccessors( - MockSeriesSpec.bar({ - id: 'spec1', - data: TestDataset.BARCHART_2Y2G, - xAccessor, - yAccessors: ['y1'], - }), - new Map(), - ); - expect([...splitSeries.dataSeries.values()].length).toBe(1); - expect([...splitSeries.dataSeries.values()].map(matchOnlyDataSeriesLegacySnapshot)).toMatchSnapshot(); - }); test('Shall ignore undefined values on splitSeriesAccessors', () => { const spec = MockSeriesSpec.bar({ @@ -990,4 +961,136 @@ describe('Series', () => { expect([...splitSeries.dataSeries.values()].length).toBe(0); }); }); + + describe('functional accessors', () => { + test('Can use functional xAccessor', () => { + const xAccessor: AccessorFn = (d) => d.x; + const splitSeries = splitSeriesDataByAccessors( + MockSeriesSpec.bar({ + data: TestDataset.BARCHART_2Y2G, + xAccessor, + yAccessors: ['y1', 'y2'], + splitSeriesAccessors: ['g1'], + }), + new Map(), + ); + expect([...splitSeries.dataSeries.values()].length).toBe(4); + expect([...splitSeries.dataSeries.values()].map(matchOnlyDataSeriesLegacySnapshot)).toMatchSnapshot(); + }); + + test('Can use default custom xAccessor', () => { + const xAccessor: AccessorFn = () => '_all'; + const splitSeries = splitSeriesDataByAccessors( + MockSeriesSpec.bar({ + data: TestDataset.BARCHART_2Y2G, + xAccessor, + yAccessors: ['y1'], + splitSeriesAccessors: ['g1'], + }), + new Map(), + ); + expect([...splitSeries.dataSeries.values()].length).toBe(2); + expect([...splitSeries.dataSeries.values()].map(matchOnlyDataSeriesLegacySnapshot)).toMatchSnapshot(); + }); + + test('Can use functional yAccessor', () => { + const yAccessor: AccessorFn = (d) => d.y1; + const splitSeries = splitSeriesDataByAccessors( + MockSeriesSpec.bar({ + data: TestDataset.BARCHART_2Y2G, + yAccessors: [yAccessor], + splitSeriesAccessors: ['g1'], + }), + new Map(), + ); + expect([...splitSeries.dataSeries.values()].map(({ yAccessor }) => yAccessor)).toEqualArrayOf('(index:0)'); + expect([...splitSeries.dataSeries.values()].length).toBe(2); + expect([...splitSeries.dataSeries.values()].map(matchOnlyDataSeriesLegacySnapshot)).toMatchSnapshot(); + }); + + test('Can use functional yAccessor with fieldName', () => { + const yAccessor: AccessorFn = (d) => d.y1; + yAccessor.fieldName = 'custom name'; + const splitSeries = splitSeriesDataByAccessors( + MockSeriesSpec.bar({ + data: TestDataset.BARCHART_2Y2G, + yAccessors: [yAccessor], + splitSeriesAccessors: ['g1'], + }), + new Map(), + ); + expect([...splitSeries.dataSeries.values()].map(({ yAccessor }) => yAccessor)).toEqualArrayOf( + yAccessor.fieldName, + ); + expect([...splitSeries.dataSeries.values()].length).toBe(2); + expect([...splitSeries.dataSeries.values()].map(matchOnlyDataSeriesLegacySnapshot)).toMatchSnapshot(); + }); + + test('Can use functional y0Accessor', () => { + const splitSeries = splitSeriesDataByAccessors( + MockSeriesSpec.bar({ + data: KIBANA_METRICS.metrics.kibana_os_load[0].data.map((d: any) => ({ + x: d[0], + max: d[1] + 4 + 4 * getRandomNumber(), + min: d[1] - 4 - 4 * getRandomNumber(), + })), + yAccessors: [(d) => d.max], + y0Accessors: [(d) => d.min], + }), + new Map(), + ); + expect([...splitSeries.dataSeries.values()].map(({ yAccessor }) => yAccessor)).toEqualArrayOf('(index:0)'); + expect([...splitSeries.dataSeries.values()].length).toBe(1); + expect([...splitSeries.dataSeries.values()].map(matchOnlyDataSeriesLegacySnapshot)).toMatchSnapshot(); + }); + + test('Can use functional splitSeriesAccessor', () => { + const splitSeriesAccessor: AccessorFn = (d) => d.g1; + const splitSeries = splitSeriesDataByAccessors( + MockSeriesSpec.bar({ + data: TestDataset.BARCHART_2Y2G, + yAccessors: ['y1'], + splitSeriesAccessors: [splitSeriesAccessor], + }), + new Map(), + ); + expect( + flatten([...splitSeries.dataSeries.values()].map(({ splitAccessors }) => [...splitAccessors.keys()])), + ).toEqualArrayOf('(index:0)'); + expect([...splitSeries.dataSeries.values()].length).toBe(2); + expect([...splitSeries.dataSeries.values()].map(matchOnlyDataSeriesLegacySnapshot)).toMatchSnapshot(); + }); + + test('Can use functional splitSeriesAccessor with fieldName', () => { + const splitSeriesAccessor: AccessorFn = (d) => d.g1; + splitSeriesAccessor.fieldName = 'custom name'; + const splitSeries = splitSeriesDataByAccessors( + MockSeriesSpec.bar({ + data: TestDataset.BARCHART_2Y2G, + yAccessors: ['y1'], + splitSeriesAccessors: [splitSeriesAccessor], + }), + new Map(), + ); + expect( + flatten([...splitSeries.dataSeries.values()].map(({ splitAccessors }) => [...splitAccessors.keys()])), + ).toEqualArrayOf(splitSeriesAccessor.fieldName); + expect([...splitSeries.dataSeries.values()].length).toBe(2); + expect([...splitSeries.dataSeries.values()].map(matchOnlyDataSeriesLegacySnapshot)).toMatchSnapshot(); + }); + + test('Can use multiple functional/static accessors', () => { + const splitSeries = splitSeriesDataByAccessors( + MockSeriesSpec.bar({ + data: TestDataset.BARCHART_2Y2G, + xAccessor: (d) => d.y1, + yAccessors: ['y1', (d) => d.y2], + splitSeriesAccessors: [(d) => d.g1, 'g2'], + }), + new Map(), + ); + expect([...splitSeries.dataSeries.values()].length).toBe(8); + expect([...splitSeries.dataSeries.values()].map(matchOnlyDataSeriesLegacySnapshot)).toMatchSnapshot(); + }); + }); }); diff --git a/src/chart_types/xy_chart/utils/series.ts b/src/chart_types/xy_chart/utils/series.ts index aa96e36b48..1e62f0c732 100644 --- a/src/chart_types/xy_chart/utils/series.ts +++ b/src/chart_types/xy_chart/utils/series.ts @@ -68,7 +68,7 @@ export interface DataSeriesDatum { } export interface XYChartSeriesIdentifier extends SeriesIdentifier { - yAccessor: string | number; + yAccessor: Accessor; splitAccessors: Map; // does the map have a size vs making it optional smVerticalAccessorValue?: string | number; smHorizontalAccessorValue?: string | number; @@ -113,6 +113,17 @@ export function getSeriesIndex(series: SeriesIdentifier[], target: SeriesIdentif return series.findIndex(({ key }) => target.key === key); } +/** + * Returns string form of accessor. Uses index when accessor is a function. + * + * @param accessor + * @param index + * @internal + */ +export function getAccessorFieldName(accessor: Accessor | AccessorFn, index: number) { + return typeof accessor === 'function' ? accessor.fieldName ?? `(index:${index})` : accessor; +} + /** * Split a dataset into multiple series depending on the accessors. * Each series is then associated with a key thats belong to its configuration. @@ -201,16 +212,16 @@ export function splitSeriesDataByAccessors( y0Accessors && y0Accessors[index], markSizeAccessor, ); - const seriesKeys = [...splitAccessors.values(), accessor]; - const seriesIdentifier = { + const accessorStr = getAccessorFieldName(accessor, index); + const splitAccessorStrs = [...splitAccessors.values()].map((a, si) => getAccessorFieldName(a, si)); + const seriesKeys = [...splitAccessorStrs, accessorStr]; + const seriesIdentifier: Omit = { specId, - groupId, - seriesType, - yAccessor: accessor, + yAccessor: accessorStr, splitAccessors, + seriesKeys, smVerticalAccessorValue: smV, smHorizontalAccessorValue: smH, - stackMode, }; const seriesKey = getSeriesKey(seriesIdentifier, groupId); sum += cleanedDatum.y1 ?? 0; @@ -221,8 +232,10 @@ export function splitSeriesDataByAccessors( } else { dataSeries.set(seriesKey, { ...seriesIdentifier, + stackMode, + seriesType, + groupId, isStacked, - seriesKeys, key: seriesKey, data: [newDatum], spec, @@ -276,16 +289,17 @@ export function splitSeriesDataByAccessors( y0Accessors && y0Accessors[index], markSizeAccessor, ); - const seriesKeys = [...splitAccessors.values(), accessor]; - const seriesIdentifier = { + + const accessorStr = getAccessorFieldName(accessor, index); + const splitAccessorStrs = [...splitAccessors.values()].map((a, si) => getAccessorFieldName(a, si)); + const seriesKeys = [...splitAccessorStrs, accessorStr]; + const seriesIdentifier: Omit = { specId, - groupId, - seriesType, - yAccessor: accessor, + seriesKeys, + yAccessor: accessorStr, splitAccessors, smVerticalAccessorValue: smV, smHorizontalAccessorValue: smH, - stackMode, }; const seriesKey = getSeriesKey(seriesIdentifier, groupId); sum += cleanedDatum.y1 ?? 0; @@ -296,6 +310,9 @@ export function splitSeriesDataByAccessors( } else { dataSeries.set(seriesKey, { ...seriesIdentifier, + groupId, + seriesType, + stackMode, isStacked, seriesKeys, key: seriesKey, @@ -353,13 +370,17 @@ export function getSeriesKey( * Get the array of values that forms a series key * @internal */ -function getSplitAccessors(datum: Datum, accessors: Accessor[] = []): Map { +function getSplitAccessors( + datum: Datum, + accessors: (Accessor | AccessorFn)[] = [], +): Map { const splitAccessors = new Map(); if (typeof datum === 'object' && datum !== null) { - accessors.forEach((accessor: Accessor) => { - const value = datum[accessor as keyof typeof datum]; + accessors.forEach((accessor: Accessor | AccessorFn, index) => { + const value = getAccessorValue(datum, accessor); if (typeof value === 'string' || typeof value === 'number') { - splitAccessors.set(accessor, value); + const accessorStr = getAccessorFieldName(accessor, index); + splitAccessors.set(accessorStr, value); } }); } @@ -372,15 +393,16 @@ function getSplitAccessors(datum: Datum, accessors: Accessor[] = []): Map { const mark = markSizeAccessor === undefined ? null : castToNumber(getAccessorValue(datum, markSizeAccessor), nonNumericValues); - const y1 = castToNumber(datum[yAccessor], nonNumericValues); - const y0 = y0Accessor ? castToNumber(datum[y0Accessor as keyof typeof datum], nonNumericValues) : null; + const y1Value = getAccessorValue(datum, yAccessor); + const y1 = castToNumber(y1Value, nonNumericValues); + const y0 = y0Accessor ? castToNumber(getAccessorValue(datum, y0Accessor), nonNumericValues) : null; return { y1, datum, y0, mark, initialY0: y0, initialY1: y1 }; } diff --git a/src/chart_types/xy_chart/utils/specs.ts b/src/chart_types/xy_chart/utils/specs.ts index cd263a119d..e7796594ee 100644 --- a/src/chart_types/xy_chart/utils/specs.ts +++ b/src/chart_types/xy_chart/utils/specs.ts @@ -419,13 +419,13 @@ export interface SeriesAccessors { /** The field name of the x value on Datum object */ xAccessor: Accessor | AccessorFn; /** An array of field names one per y metric value */ - yAccessors: Accessor[]; + yAccessors: (Accessor | AccessorFn)[]; /** An optional accessor of the y0 value: base point for area/bar charts */ - y0Accessors?: Accessor[]; + y0Accessors?: (Accessor | AccessorFn)[]; /** An array of fields thats indicates the datum series membership */ - splitSeriesAccessors?: Accessor[]; + splitSeriesAccessors?: (Accessor | AccessorFn)[]; /** An array of fields thats indicates the stack membership */ - stackAccessors?: Accessor[]; + stackAccessors?: (Accessor | AccessorFn)[]; /** * Field name of mark size metric on `Datum` * diff --git a/src/utils/accessor.ts b/src/utils/accessor.ts index 175c8ad9c8..600097dd7e 100644 --- a/src/utils/accessor.ts +++ b/src/utils/accessor.ts @@ -24,7 +24,13 @@ import { Datum } from './commons'; * @param datum - the datum * @public */ -export type UnaryAccessorFn = (datum: Datum) => Return; +export interface UnaryAccessorFn { + /** + * Name used as accessor field name in place of function reference + */ + fieldName?: string; + (datum: Datum): Return; +} /** * Accessor function diff --git a/stories/bar/33_band_bar.tsx b/stories/bar/33_band_bar.tsx index bd20f721ce..d03f971935 100644 --- a/stories/bar/33_band_bar.tsx +++ b/stories/bar/33_band_bar.tsx @@ -35,6 +35,7 @@ export const Example = () => { })); const lineData = KIBANA_METRICS.metrics.kibana_os_load[0].data.map((d: any) => [d[0], d[1]]); const fit = boolean('fit Y domain', true); + const useFunctions = boolean('use fn accessors', false); return ( { xScaleType={ScaleType.Time} yScaleType={ScaleType.Linear} xAccessor="x" - yAccessors={['max']} - y0Accessors={['min']} + yAccessors={[useFunctions ? (d) => d.max : 'max']} + y0Accessors={[useFunctions ? (d) => d.min : 'min']} data={data} /> diff --git a/stories/bar/54_functional_accessors.tsx b/stories/bar/54_functional_accessors.tsx new file mode 100644 index 0000000000..8cdd05888e --- /dev/null +++ b/stories/bar/54_functional_accessors.tsx @@ -0,0 +1,82 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { action } from '@storybook/addon-actions'; +import { text } from '@storybook/addon-knobs'; +import React from 'react'; + +import { Axis, BarSeries, Chart, Position, ScaleType, Settings, AccessorFn, ElementClickListener } from '../../src'; +import * as TestDatasets from '../../src/utils/data_samples/test_dataset'; +import { SB_SOURCE_PANEL } from '../utils/storybook'; + +export const Example = () => { + const xAccessorFn: AccessorFn = (d) => d.x; + const yAccessorFn: AccessorFn = (d) => d.y; + yAccessorFn.fieldName = text('y fn name', '') || undefined; + const splitAccessorFn: AccessorFn = (d) => d.g2; + splitAccessorFn.fieldName = text('split fn name', '') || undefined; + + const onElementClick: ElementClickListener = ([[, { key }]]) => action('clicked series key')(key); + + return ( + + + + Number(d).toFixed(2)} /> + + + + ); +}; + +Example.story = { + parameters: { + options: { selectedPanel: SB_SOURCE_PANEL }, + info: { + text: `An \`AccessorFn\` can be used as any accessor including: \`xAccessor\`, \`yAccessors\`, \`y0Accessors\` and \`splitSeriesAccessors\`. + +This enables serialization of complex values, without needing to transform raw data. + +\`\`\`ts +// simple example +const yAccessorFn: AccessorFn = (d) => d.y; +yAccessorFn.fieldName = 'simple y value'; + +// complex example +const yAccessorFn: AccessorFn = ({ range }) => \`\${range.to} - \${range.from}\`; +yAccessorFn.fieldName = 'complex y value'; +\`\`\` + +If no \`fieldName\` is provided, the default value will be set using the index \`(index:0)\`. + +Try changing the \`fieldName\` for the y and split accessor functions in the storybook knobs. + +**Note: All \`fieldName\` and \`Accessor\` values should be unique. Any duplicated values will be ignored.** + `, + }, + }, +}; diff --git a/stories/bar/bars.stories.tsx b/stories/bar/bars.stories.tsx index d0b4fb276c..871a1c5a03 100644 --- a/stories/bar/bars.stories.tsx +++ b/stories/bar/bars.stories.tsx @@ -67,6 +67,7 @@ export { Example as stackedOnlyGrouped } from './47_stacked_only_grouped'; export { Example as dualAxisSameYDomain } from './52_multi_group_same_domain'; export { Example as specifyDomainFromDifferentGroup } from './53_use_domain_from_different_groupid'; export { Example as orderBinsBySum } from './50_order_bins_by_sum'; +export { Example as functionalAccessors } from './54_functional_accessors'; // for testing purposes only export { Example as testLinear } from './34_test_linear'; From bda63f6bb14fa836a2810acb861b6ae2a377ab18 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 9 Dec 2020 17:39:25 +0000 Subject: [PATCH 2/2] chore(release): 24.4.0 [skip ci] # [24.4.0](https://github.com/elastic/elastic-charts/compare/v24.3.0...v24.4.0) (2020-12-09) ### Bug Fixes * empty labels on debug state ([#940](https://github.com/elastic/elastic-charts/issues/940)) ([3c823fd](https://github.com/elastic/elastic-charts/commit/3c823fdbc8437c907c02b58c1aa8e084bc7611d1)) ### Features * allow use of functions for y, y0, split and stack accessors ([#943](https://github.com/elastic/elastic-charts/issues/943)) ([22425d3](https://github.com/elastic/elastic-charts/commit/22425d3b9819afde208c651abb6b017839556645)) --- CHANGELOG.md | 12 ++++++++++++ package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fcc61fccec..37f8836fc6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +# [24.4.0](https://github.com/elastic/elastic-charts/compare/v24.3.0...v24.4.0) (2020-12-09) + + +### Bug Fixes + +* empty labels on debug state ([#940](https://github.com/elastic/elastic-charts/issues/940)) ([3c823fd](https://github.com/elastic/elastic-charts/commit/3c823fdbc8437c907c02b58c1aa8e084bc7611d1)) + + +### Features + +* allow use of functions for y, y0, split and stack accessors ([#943](https://github.com/elastic/elastic-charts/issues/943)) ([22425d3](https://github.com/elastic/elastic-charts/commit/22425d3b9819afde208c651abb6b017839556645)) + # [24.3.0](https://github.com/elastic/elastic-charts/compare/v24.2.0...v24.3.0) (2020-12-04) diff --git a/package.json b/package.json index 5e05f6a596..16a161ba00 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@elastic/charts", "description": "Elastic-Charts data visualization library", - "version": "24.3.0", + "version": "24.4.0", "author": "Marco Vettorello ", "license": "Apache-2.0", "main": "dist/index.js",