canvasxpress 74.0.0 → 74.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -20,7 +20,7 @@
20
20
  "./package.json": "./package.json"
21
21
  },
22
22
  "title": "CanvasXpress",
23
- "version": "74.0.0",
23
+ "version": "74.1.2",
24
24
  "license": "SEE LICENSE IN LICENSE",
25
25
  "files": [
26
26
  "src",
@@ -9815,14 +9815,16 @@ body.has-fullscreen {
9815
9815
  * paints its root with the dark surface: the HTML widgets, primitives and translucent tints around
9816
9816
  * the canvas would otherwise sit on the host page (usually white). Only the chart's OWN theme does
9817
9817
  * this; inside a dark container (a dark dashboard) the container provides the backdrop.
9818
+ * The fill is the chart's own background (--cx-chart-bg, set at draw) so no strip of a second
9819
+ * colour shows beside the canvas, and a transparent chart background lets the host page through.
9818
9820
  */
9819
9821
  .cX-DOM[data-cx-ui-theme="dark"] {
9820
- background-color: var(--cx-ui-surface);
9822
+ background-color: var(--cx-chart-bg, var(--cx-ui-surface));
9821
9823
  }
9822
9824
 
9823
9825
  @media (prefers-color-scheme: dark) {
9824
9826
  .cX-DOM[data-cx-ui-theme="auto"] {
9825
- background-color: var(--cx-ui-surface);
9827
+ background-color: var(--cx-chart-bg, var(--cx-ui-surface));
9826
9828
  }
9827
9829
  }
9828
9830
 
@@ -145,7 +145,7 @@ export type CXGraphType =
145
145
 
146
146
  /**
147
147
  * Full chart configuration — one property per parameter in the CanvasXpress
148
- * config schema (1800 keys). String enums become open literal
148
+ * config schema (1807 keys). String enums become open literal
149
149
  * unions (except `graphType`, which is closed); `@graphTypes` in a key's JSDoc
150
150
  * lists the graph types it applies to (absent = all). The index signature keeps
151
151
  * obfuscation aliases and any newer key valid. See `CXConfigFor<G>` for the
@@ -412,6 +412,24 @@ export interface CXConfig {
412
412
  * @default "center"
413
413
  */
414
414
  binAlignment?: "left" | "center" | "right" | false | (string & {});
415
+ /**
416
+ * How binned data points are grouped into stacks. dotdensity is the Wilkinson algorithm R
417
+ * geom_dotplot uses (a bin starts at the first value that does not fit the previous one, and
418
+ * every dot in it is drawn at the bin centre); histodot uses fixed-width bins from the data
419
+ * minimum; exact stacks only values that are strictly equal, leaving every dot on its own
420
+ * value
421
+ * @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bullet … (31 types; see CXGraphTypeKeys)
422
+ * @default "dotdensity"
423
+ */
424
+ binMethod?: "dotdensity" | "histodot" | "exact" | false | (string & {});
425
+ /**
426
+ * Width of a bin, in data units, when binned data points are grouped with binMethod
427
+ * dotdensity or histodot. Zero (the default) derives it from the data as the R geom_dotplot
428
+ * default does: the value range divided by 30
429
+ * @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bullet … (31 types; see CXGraphTypeKeys)
430
+ * @default 0
431
+ */
432
+ binWidth?: number | boolean;
415
433
  /**
416
434
  * Flag to bin the data points in dotplots and boxplots
417
435
  * @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bullet … (31 types; see CXGraphTypeKeys)
@@ -1404,6 +1422,14 @@ export interface CXConfig {
1404
1422
  * @default []
1405
1423
  */
1406
1424
  contourLevels?: unknown[] | boolean | string | number;
1425
+ /**
1426
+ * Number of grid points in each direction for the two dimensional kernel density estimate
1427
+ * underlying the scatter plot contours, as the n argument of the kde2d function in the R
1428
+ * package MASS and of stat_density_2d in ggplot2
1429
+ * @graphTypes Pareto, Heatmap, Scatter2D
1430
+ * @default 100
1431
+ */
1432
+ contourPoints?: number | boolean;
1407
1433
  /**
1408
1434
  * Contour density type
1409
1435
  * @graphTypes Pareto, Heatmap, Scatter2D
@@ -2483,6 +2509,13 @@ export interface CXConfig {
2483
2509
  * @default "gaussian"
2484
2510
  */
2485
2511
  densityKernel?: "gaussian" | "rectangular" | "triangular" | "epanechnikov" | "quartic" | "biweight" | "cosine" | "optcosine" | false | (string & {});
2512
+ /**
2513
+ * Number of equally spaced points at which the density is estimated, as the n argument of
2514
+ * the density function in R. Values above 512 are rounded up to a power of two as in R
2515
+ * @graphTypes Density, Distribution, Histogram, Ridgeline, Violin
2516
+ * @default 512
2517
+ */
2518
+ densityPoints?: number | boolean;
2486
2519
  /**
2487
2520
  * Histogram density position
2488
2521
  * @graphTypes Density, Distribution, Histogram, Ridgeline, Violin
@@ -4078,6 +4111,15 @@ export interface CXConfig {
4078
4111
  * @default true
4079
4112
  */
4080
4113
  layoutRemoveEmpty?: boolean;
4114
+ /**
4115
+ * Flag to give each facet of a single-column layout a height proportional to the data it
4116
+ * holds, the way ggplot2 facet_grid(space = "free") sizes its panels, instead of splitting
4117
+ * the canvas into equal rows. A facet whose values span a small range is drawn short and a
4118
+ * busy one tall, so no facet wastes empty space. Ignored when the layout has more than one
4119
+ * column, and for heatmap, DOE and scatter-plot-matrix layouts
4120
+ * @default false
4121
+ */
4122
+ layoutSpaceFree?: boolean;
4081
4123
  /**
4082
4124
  * Spacing between layout graphs
4083
4125
  * @default 8
@@ -4187,7 +4229,9 @@ export interface CXConfig {
4187
4229
  */
4188
4230
  legendDirection?: "vertical" | "horizontal" | false | (string & {});
4189
4231
  /**
4190
- * Horizontal justification for legends when legend are in top or bottom positions
4232
+ * Horizontal justification (0 left, 0.5 centre, 1 right) for a legend in the top or bottom
4233
+ * position. A corner legendPosition supplies its own justification and ignores this. The
4234
+ * edge it is measured from is set by legendJustifyTo
4191
4235
  * @graphTypes Bar, BarLine, Boxplot, Bullet, Cleveland, DotLine … (19 types; see CXGraphTypeKeys)
4192
4236
  * @default 0.5
4193
4237
  */
@@ -4199,9 +4243,9 @@ export interface CXConfig {
4199
4243
  */
4200
4244
  legendInside?: boolean;
4201
4245
  /**
4202
- * What a left/right-justified top or bottom legend (legendHorizontalJustification 0 or 1)
4203
- * aligns to: the panel (plot area) edge or the whole plot (canvas) edge, like titleAlign
4204
- * plot::0
4246
+ * What a justified legend aligns to: the panel (plot area) edge or the whole plot (canvas)
4247
+ * edge, like titleAlign plot::0. Applies to every justification of a top or bottom legend,
4248
+ * centred included, and to the corner positions
4205
4249
  * @graphTypes Bar, BarLine, Boxplot, Bullet, Cleveland, DotLine … (19 types; see CXGraphTypeKeys)
4206
4250
  * @default "panel"
4207
4251
  */
@@ -4273,11 +4317,26 @@ export interface CXConfig {
4273
4317
  */
4274
4318
  legendOrderByCols?: boolean;
4275
4319
  /**
4276
- * Position for the the legend
4320
+ * Position for the legend. All eight positions work whether the legend is inside or outside
4321
+ * the plot. Inside, a corner anchors the legend to that corner of the plotting panel.
4322
+ * Outside, the legend gets one band or one column, so a corner is the top or bottom band
4323
+ * flush with that side: topLeft / bottomLeft are justified left and topRight / bottomRight
4324
+ * right, overriding legendHorizontalJustification; left and right are a column justified by
4325
+ * legendVerticalJustification
4277
4326
  * @graphTypes Bar, BarLine, Boxplot, Bullet, Cleveland, DotLine … (19 types; see CXGraphTypeKeys)
4278
4327
  * @default "right"
4279
4328
  */
4280
4329
  legendPosition?: "topRight" | "right" | "bottomRight" | "bottom" | "bottomLeft" | "left" | "topLeft" | "top" | false | (string & {});
4330
+ /**
4331
+ * Flag to automatically select the legend position (top or right) that maximizes the area
4332
+ * available for the plot. When true the legend dimensions are computed for both candidates
4333
+ * and the one that leaves the larger plotting area wins. Ignored when legendPosition is set
4334
+ * explicitly in the configuration, when legendInside is true, for a faceted (layout) chart
4335
+ * or for cxplot / ggplot specifications
4336
+ * @graphTypes Bar, BarLine, Boxplot, Bullet, Cleveland, DotLine … (19 types; see CXGraphTypeKeys)
4337
+ * @default true
4338
+ */
4339
+ legendPositionAuto?: boolean;
4281
4340
  /**
4282
4341
  * Number of rows in legends
4283
4342
  * @graphTypes Bar, BarLine, Boxplot, Bullet, Cleveland, DotLine … (19 types; see CXGraphTypeKeys)
@@ -4391,7 +4450,9 @@ export interface CXConfig {
4391
4450
  */
4392
4451
  legendTitleScaleFontFactor?: number | boolean;
4393
4452
  /**
4394
- * Vertical justification for legends when legend are in left or right positions
4453
+ * Vertical justification (0 top, 0.5 middle, 1 bottom) for a legend in the left or right
4454
+ * position, down the column the legend reserves. The mirror of legendHorizontalJustification
4455
+ * for a side legend
4395
4456
  * @graphTypes Bar, BarLine, Boxplot, Bullet, Cleveland, DotLine … (19 types; see CXGraphTypeKeys)
4396
4457
  * @default 0.5
4397
4458
  */
@@ -6928,6 +6989,16 @@ export interface CXConfig {
6928
6989
  * @default "#aaaaaa"
6929
6990
  */
6930
6991
  scrollbarThumbHoverColor?: string | boolean;
6992
+ /**
6993
+ * Object giving the explicit order of the facet levels, keyed by the annotation used in
6994
+ * segregateSamplesBy / segregateVariablesBy, i.e. {"parameter": ["depicted", "speech",
6995
+ * "thought", "narrative"]}. The facets are drawn in the order the array lists, the way an
6996
+ * ordered factor fixes the panel order in R; a level the array omits keeps its natural order
6997
+ * after the listed ones. Without it the levels are sorted (numerically when they are
6998
+ * numbers, otherwise alphabetically)
6999
+ * @default false
7000
+ */
7001
+ segregateLevelOrder?: Record<string, unknown> | boolean;
6931
7002
  /**
6932
7003
  * An array that holds the annotation(s) used to segregate the samples ala Facet way in R. It
6933
7004
  * must be categories in the data.x object
@@ -11540,6 +11611,7 @@ export type CXKeysContours =
11540
11611
  | "contourLevelNumber"
11541
11612
  | "contourLevelWidth"
11542
11613
  | "contourLevels"
11614
+ | "contourPoints"
11543
11615
  | "contourStat"
11544
11616
  | "contourType"
11545
11617
  | "isContour"
@@ -11601,6 +11673,8 @@ export type CXKeysDataCustomizer =
11601
11673
  | "maxDataCustomizerEntries";
11602
11674
  /** Config keys in the "Data Faceting" category. */
11603
11675
  export type CXKeysDataFaceting =
11676
+ | "layoutSpaceFree"
11677
+ | "segregateLevelOrder"
11604
11678
  | "segregateSamplesBy"
11605
11679
  | "segregateVariablesBy"
11606
11680
  | "splitSamplesBy"
@@ -11893,6 +11967,7 @@ export type CXKeysDensityPlots =
11893
11967
  | "bandwidthCut"
11894
11968
  | "bandwidthRule"
11895
11969
  | "densityKernel"
11970
+ | "densityPoints"
11896
11971
  | "densityPosition"
11897
11972
  | "showScatterDensity";
11898
11973
  /** Config keys in the "Dotplot Graphs" category. */
@@ -12262,6 +12337,7 @@ export type CXKeysLegends =
12262
12337
  | "legendOrder"
12263
12338
  | "legendOrderByCols"
12264
12339
  | "legendPosition"
12340
+ | "legendPositionAuto"
12265
12341
  | "legendRows"
12266
12342
  | "legendStyleGgplot"
12267
12343
  | "legendTextAlign"
@@ -12615,6 +12691,8 @@ export type CXKeysPieCharts =
12615
12691
  /** Config keys in the "Plot Area" category. */
12616
12692
  export type CXKeysPlotArea =
12617
12693
  | "binAlignment"
12694
+ | "binMethod"
12695
+ | "binWidth"
12618
12696
  | "binned"
12619
12697
  | "blockContrast"
12620
12698
  | "dataValuesFrequency"
@@ -154,7 +154,7 @@ declare namespace CanvasXpress {
154
154
 
155
155
  /**
156
156
  * Full chart configuration — one property per parameter in the CanvasXpress
157
- * config schema (1800 keys). String enums become open literal
157
+ * config schema (1807 keys). String enums become open literal
158
158
  * unions (except `graphType`, which is closed); `@graphTypes` in a key's JSDoc
159
159
  * lists the graph types it applies to (absent = all). The index signature keeps
160
160
  * obfuscation aliases and any newer key valid. See `CXConfigFor<G>` for the
@@ -421,6 +421,24 @@ declare namespace CanvasXpress {
421
421
  * @default "center"
422
422
  */
423
423
  binAlignment?: "left" | "center" | "right" | false | (string & {});
424
+ /**
425
+ * How binned data points are grouped into stacks. dotdensity is the Wilkinson algorithm R
426
+ * geom_dotplot uses (a bin starts at the first value that does not fit the previous one, and
427
+ * every dot in it is drawn at the bin centre); histodot uses fixed-width bins from the data
428
+ * minimum; exact stacks only values that are strictly equal, leaving every dot on its own
429
+ * value
430
+ * @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bullet … (31 types; see CXGraphTypeKeys)
431
+ * @default "dotdensity"
432
+ */
433
+ binMethod?: "dotdensity" | "histodot" | "exact" | false | (string & {});
434
+ /**
435
+ * Width of a bin, in data units, when binned data points are grouped with binMethod
436
+ * dotdensity or histodot. Zero (the default) derives it from the data as the R geom_dotplot
437
+ * default does: the value range divided by 30
438
+ * @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bullet … (31 types; see CXGraphTypeKeys)
439
+ * @default 0
440
+ */
441
+ binWidth?: number | boolean;
424
442
  /**
425
443
  * Flag to bin the data points in dotplots and boxplots
426
444
  * @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bullet … (31 types; see CXGraphTypeKeys)
@@ -1413,6 +1431,14 @@ declare namespace CanvasXpress {
1413
1431
  * @default []
1414
1432
  */
1415
1433
  contourLevels?: unknown[] | boolean | string | number;
1434
+ /**
1435
+ * Number of grid points in each direction for the two dimensional kernel density estimate
1436
+ * underlying the scatter plot contours, as the n argument of the kde2d function in the R
1437
+ * package MASS and of stat_density_2d in ggplot2
1438
+ * @graphTypes Pareto, Heatmap, Scatter2D
1439
+ * @default 100
1440
+ */
1441
+ contourPoints?: number | boolean;
1416
1442
  /**
1417
1443
  * Contour density type
1418
1444
  * @graphTypes Pareto, Heatmap, Scatter2D
@@ -2492,6 +2518,13 @@ declare namespace CanvasXpress {
2492
2518
  * @default "gaussian"
2493
2519
  */
2494
2520
  densityKernel?: "gaussian" | "rectangular" | "triangular" | "epanechnikov" | "quartic" | "biweight" | "cosine" | "optcosine" | false | (string & {});
2521
+ /**
2522
+ * Number of equally spaced points at which the density is estimated, as the n argument of
2523
+ * the density function in R. Values above 512 are rounded up to a power of two as in R
2524
+ * @graphTypes Density, Distribution, Histogram, Ridgeline, Violin
2525
+ * @default 512
2526
+ */
2527
+ densityPoints?: number | boolean;
2495
2528
  /**
2496
2529
  * Histogram density position
2497
2530
  * @graphTypes Density, Distribution, Histogram, Ridgeline, Violin
@@ -4087,6 +4120,15 @@ declare namespace CanvasXpress {
4087
4120
  * @default true
4088
4121
  */
4089
4122
  layoutRemoveEmpty?: boolean;
4123
+ /**
4124
+ * Flag to give each facet of a single-column layout a height proportional to the data it
4125
+ * holds, the way ggplot2 facet_grid(space = "free") sizes its panels, instead of splitting
4126
+ * the canvas into equal rows. A facet whose values span a small range is drawn short and a
4127
+ * busy one tall, so no facet wastes empty space. Ignored when the layout has more than one
4128
+ * column, and for heatmap, DOE and scatter-plot-matrix layouts
4129
+ * @default false
4130
+ */
4131
+ layoutSpaceFree?: boolean;
4090
4132
  /**
4091
4133
  * Spacing between layout graphs
4092
4134
  * @default 8
@@ -4196,7 +4238,9 @@ declare namespace CanvasXpress {
4196
4238
  */
4197
4239
  legendDirection?: "vertical" | "horizontal" | false | (string & {});
4198
4240
  /**
4199
- * Horizontal justification for legends when legend are in top or bottom positions
4241
+ * Horizontal justification (0 left, 0.5 centre, 1 right) for a legend in the top or bottom
4242
+ * position. A corner legendPosition supplies its own justification and ignores this. The
4243
+ * edge it is measured from is set by legendJustifyTo
4200
4244
  * @graphTypes Bar, BarLine, Boxplot, Bullet, Cleveland, DotLine … (19 types; see CXGraphTypeKeys)
4201
4245
  * @default 0.5
4202
4246
  */
@@ -4208,9 +4252,9 @@ declare namespace CanvasXpress {
4208
4252
  */
4209
4253
  legendInside?: boolean;
4210
4254
  /**
4211
- * What a left/right-justified top or bottom legend (legendHorizontalJustification 0 or 1)
4212
- * aligns to: the panel (plot area) edge or the whole plot (canvas) edge, like titleAlign
4213
- * plot::0
4255
+ * What a justified legend aligns to: the panel (plot area) edge or the whole plot (canvas)
4256
+ * edge, like titleAlign plot::0. Applies to every justification of a top or bottom legend,
4257
+ * centred included, and to the corner positions
4214
4258
  * @graphTypes Bar, BarLine, Boxplot, Bullet, Cleveland, DotLine … (19 types; see CXGraphTypeKeys)
4215
4259
  * @default "panel"
4216
4260
  */
@@ -4282,11 +4326,26 @@ declare namespace CanvasXpress {
4282
4326
  */
4283
4327
  legendOrderByCols?: boolean;
4284
4328
  /**
4285
- * Position for the the legend
4329
+ * Position for the legend. All eight positions work whether the legend is inside or outside
4330
+ * the plot. Inside, a corner anchors the legend to that corner of the plotting panel.
4331
+ * Outside, the legend gets one band or one column, so a corner is the top or bottom band
4332
+ * flush with that side: topLeft / bottomLeft are justified left and topRight / bottomRight
4333
+ * right, overriding legendHorizontalJustification; left and right are a column justified by
4334
+ * legendVerticalJustification
4286
4335
  * @graphTypes Bar, BarLine, Boxplot, Bullet, Cleveland, DotLine … (19 types; see CXGraphTypeKeys)
4287
4336
  * @default "right"
4288
4337
  */
4289
4338
  legendPosition?: "topRight" | "right" | "bottomRight" | "bottom" | "bottomLeft" | "left" | "topLeft" | "top" | false | (string & {});
4339
+ /**
4340
+ * Flag to automatically select the legend position (top or right) that maximizes the area
4341
+ * available for the plot. When true the legend dimensions are computed for both candidates
4342
+ * and the one that leaves the larger plotting area wins. Ignored when legendPosition is set
4343
+ * explicitly in the configuration, when legendInside is true, for a faceted (layout) chart
4344
+ * or for cxplot / ggplot specifications
4345
+ * @graphTypes Bar, BarLine, Boxplot, Bullet, Cleveland, DotLine … (19 types; see CXGraphTypeKeys)
4346
+ * @default true
4347
+ */
4348
+ legendPositionAuto?: boolean;
4290
4349
  /**
4291
4350
  * Number of rows in legends
4292
4351
  * @graphTypes Bar, BarLine, Boxplot, Bullet, Cleveland, DotLine … (19 types; see CXGraphTypeKeys)
@@ -4400,7 +4459,9 @@ declare namespace CanvasXpress {
4400
4459
  */
4401
4460
  legendTitleScaleFontFactor?: number | boolean;
4402
4461
  /**
4403
- * Vertical justification for legends when legend are in left or right positions
4462
+ * Vertical justification (0 top, 0.5 middle, 1 bottom) for a legend in the left or right
4463
+ * position, down the column the legend reserves. The mirror of legendHorizontalJustification
4464
+ * for a side legend
4404
4465
  * @graphTypes Bar, BarLine, Boxplot, Bullet, Cleveland, DotLine … (19 types; see CXGraphTypeKeys)
4405
4466
  * @default 0.5
4406
4467
  */
@@ -6937,6 +6998,16 @@ declare namespace CanvasXpress {
6937
6998
  * @default "#aaaaaa"
6938
6999
  */
6939
7000
  scrollbarThumbHoverColor?: string | boolean;
7001
+ /**
7002
+ * Object giving the explicit order of the facet levels, keyed by the annotation used in
7003
+ * segregateSamplesBy / segregateVariablesBy, i.e. {"parameter": ["depicted", "speech",
7004
+ * "thought", "narrative"]}. The facets are drawn in the order the array lists, the way an
7005
+ * ordered factor fixes the panel order in R; a level the array omits keeps its natural order
7006
+ * after the listed ones. Without it the levels are sorted (numerically when they are
7007
+ * numbers, otherwise alphabetically)
7008
+ * @default false
7009
+ */
7010
+ segregateLevelOrder?: Record<string, unknown> | boolean;
6940
7011
  /**
6941
7012
  * An array that holds the annotation(s) used to segregate the samples ala Facet way in R. It
6942
7013
  * must be categories in the data.x object
@@ -11549,6 +11620,7 @@ declare namespace CanvasXpress {
11549
11620
  | "contourLevelNumber"
11550
11621
  | "contourLevelWidth"
11551
11622
  | "contourLevels"
11623
+ | "contourPoints"
11552
11624
  | "contourStat"
11553
11625
  | "contourType"
11554
11626
  | "isContour"
@@ -11610,6 +11682,8 @@ declare namespace CanvasXpress {
11610
11682
  | "maxDataCustomizerEntries";
11611
11683
  /** Config keys in the "Data Faceting" category. */
11612
11684
  export type CXKeysDataFaceting =
11685
+ | "layoutSpaceFree"
11686
+ | "segregateLevelOrder"
11613
11687
  | "segregateSamplesBy"
11614
11688
  | "segregateVariablesBy"
11615
11689
  | "splitSamplesBy"
@@ -11902,6 +11976,7 @@ declare namespace CanvasXpress {
11902
11976
  | "bandwidthCut"
11903
11977
  | "bandwidthRule"
11904
11978
  | "densityKernel"
11979
+ | "densityPoints"
11905
11980
  | "densityPosition"
11906
11981
  | "showScatterDensity";
11907
11982
  /** Config keys in the "Dotplot Graphs" category. */
@@ -12271,6 +12346,7 @@ declare namespace CanvasXpress {
12271
12346
  | "legendOrder"
12272
12347
  | "legendOrderByCols"
12273
12348
  | "legendPosition"
12349
+ | "legendPositionAuto"
12274
12350
  | "legendRows"
12275
12351
  | "legendStyleGgplot"
12276
12352
  | "legendTextAlign"
@@ -12624,6 +12700,8 @@ declare namespace CanvasXpress {
12624
12700
  /** Config keys in the "Plot Area" category. */
12625
12701
  export type CXKeysPlotArea =
12626
12702
  | "binAlignment"
12703
+ | "binMethod"
12704
+ | "binWidth"
12627
12705
  | "binned"
12628
12706
  | "blockContrast"
12629
12707
  | "dataValuesFrequency"