@visactor/vseed 0.1.45 → 0.1.47
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/dist/cjs/index.cjs +3 -3
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/builder/builder/builder.d.ts +86 -14
- package/dist/esm/dataReshape/constant.d.ts +2 -2
- package/dist/esm/dataReshape/constant.js +3 -3
- package/dist/esm/dataReshape/constant.js.map +1 -1
- package/dist/esm/i18n/i18n.js +2 -2
- package/dist/esm/i18n/i18n.js.map +1 -1
- package/dist/esm/i18n/i18nData.d.ts +2 -0
- package/dist/esm/i18n/i18nData.js +41 -5
- package/dist/esm/i18n/i18nData.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipeline/area.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/area.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/bar.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/bar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/column.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/donut.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/donut.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/line.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/line.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/pie.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/pie.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/radar.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/radar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/rose.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/rose.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.d.ts +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.js +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.js +14 -0
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/measures/index.d.ts +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/index.js +2 -2
- package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.js +14 -0
- package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js +35 -29
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js +3 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js +3 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js +5 -3
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js +3 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js +33 -28
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js +3 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js +3 -5
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js +3 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js +3 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js +3 -2
- package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/histogram.js +3 -3
- package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.js +11 -3
- package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js +11 -3
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/histogramCrosshair.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/histogramCrosshair.js +27 -0
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/histogramCrosshair.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/index.d.ts +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/index.js +2 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js +3 -3
- package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/boxLegend.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/legend/boxLegend.js +15 -0
- package/dist/esm/pipeline/spec/chart/pipes/legend/boxLegend.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.js +3 -4
- package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js +31 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js +5 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.d.ts +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js +5 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js +14 -5
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js +6 -4
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/utils/histogram.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/utils/histogram.js +12 -0
- package/dist/esm/pipeline/spec/chart/utils/histogram.js.map +1 -0
- package/dist/esm/pipeline/utils/measures/delete.d.ts +2 -2
- package/dist/esm/pipeline/utils/measures/delete.js +7 -3
- package/dist/esm/pipeline/utils/measures/delete.js.map +1 -1
- package/dist/esm/pipeline/utils/tree/traverse.d.ts +1 -0
- package/dist/esm/pipeline/utils/tree/traverse.js +12 -1
- package/dist/esm/pipeline/utils/tree/traverse.js.map +1 -1
- package/dist/esm/types/advancedVSeed.d.ts +116 -3
- package/dist/esm/types/advancedVSeed.js +2 -0
- package/dist/esm/types/advancedVSeed.js.map +1 -1
- package/dist/esm/types/chartType/area/zArea.d.ts +12 -3
- package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +12 -3
- package/dist/esm/types/chartType/bar/zBar.d.ts +12 -3
- package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +12 -3
- package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +12 -3
- package/dist/esm/types/chartType/boxplot/zBoxplot.d.ts +12 -3
- package/dist/esm/types/chartType/column/zColumn.d.ts +12 -3
- package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +12 -3
- package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +12 -3
- package/dist/esm/types/chartType/donut/zDonut.d.ts +12 -3
- package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +42 -15
- package/dist/esm/types/chartType/funnel/zFunnel.d.ts +12 -3
- package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +12 -3
- package/dist/esm/types/chartType/histogram/zHistogram.d.ts +12 -3
- package/dist/esm/types/chartType/line/zLine.d.ts +12 -3
- package/dist/esm/types/chartType/pie/zPie.d.ts +12 -3
- package/dist/esm/types/chartType/pivotTable/zPivotTable.d.ts +12 -3
- package/dist/esm/types/chartType/radar/zRadar.d.ts +12 -3
- package/dist/esm/types/chartType/rose/zRose.d.ts +12 -3
- package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +12 -3
- package/dist/esm/types/chartType/scatter/zScatter.d.ts +42 -15
- package/dist/esm/types/chartType/table/zTable.d.ts +12 -3
- package/dist/esm/types/properties/measures/zDualMeasures.d.ts +60 -24
- package/dist/esm/types/properties/measures/zMeasures.d.ts +36 -9
- package/dist/esm/types/properties/measures/zMeasures.js +13 -4
- package/dist/esm/types/properties/measures/zMeasures.js.map +1 -1
- package/dist/esm/types/properties/measures/zScatterMeasures.d.ts +60 -24
- package/dist/esm/types/properties/regressionLine/linearRegressionLine.d.ts +5 -0
- package/dist/esm/types/properties/regressionLine/logisticRegressionLine.d.ts +5 -0
- package/dist/esm/types/properties/regressionLine/lowessRegressionLine.d.ts +5 -0
- package/dist/esm/types/properties/regressionLine/polynomialRegressionLine.d.ts +5 -0
- package/dist/esm/types/zVseed.d.ts +324 -90
- package/dist/umd/index.js +349 -197
- package/dist/umd/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.d.ts +0 -2
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.js +0 -12
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.js.map +0 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteEncodingForMeasure.d.ts +0 -2
- package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteEncodingForMeasure.js +0 -12
- package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteEncodingForMeasure.js.map +0 -1
package/dist/umd/index.js
CHANGED
|
@@ -5,44 +5,7 @@
|
|
|
5
5
|
else root["VSeed"] = factory();
|
|
6
6
|
})(globalThis, ()=>(()=>{
|
|
7
7
|
"use strict";
|
|
8
|
-
var
|
|
9
|
-
var __webpack_module_cache__ = {};
|
|
10
|
-
function __webpack_require__(moduleId) {
|
|
11
|
-
var cachedModule = __webpack_module_cache__[moduleId];
|
|
12
|
-
if (void 0 !== cachedModule) return cachedModule.exports;
|
|
13
|
-
var module1 = __webpack_module_cache__[moduleId] = {
|
|
14
|
-
exports: {}
|
|
15
|
-
};
|
|
16
|
-
__webpack_modules__[moduleId](module1, module1.exports, __webpack_require__);
|
|
17
|
-
return module1.exports;
|
|
18
|
-
}
|
|
19
|
-
(()=>{
|
|
20
|
-
var getProto = Object.getPrototypeOf ? (obj)=>Object.getPrototypeOf(obj) : (obj)=>obj.__proto__;
|
|
21
|
-
var leafPrototypes;
|
|
22
|
-
__webpack_require__.t = function(value, mode) {
|
|
23
|
-
if (1 & mode) value = this(value);
|
|
24
|
-
if (8 & mode) return value;
|
|
25
|
-
if ('object' == typeof value && value) {
|
|
26
|
-
if (4 & mode && value.__esModule) return value;
|
|
27
|
-
if (16 & mode && 'function' == typeof value.then) return value;
|
|
28
|
-
}
|
|
29
|
-
var ns = Object.create(null);
|
|
30
|
-
__webpack_require__.r(ns);
|
|
31
|
-
var def = {};
|
|
32
|
-
leafPrototypes = leafPrototypes || [
|
|
33
|
-
null,
|
|
34
|
-
getProto({}),
|
|
35
|
-
getProto([]),
|
|
36
|
-
getProto(getProto)
|
|
37
|
-
];
|
|
38
|
-
for(var current = 2 & mode && value; 'object' == typeof current && !~leafPrototypes.indexOf(current); current = getProto(current))Object.getOwnPropertyNames(current).forEach((key)=>{
|
|
39
|
-
def[key] = ()=>value[key];
|
|
40
|
-
});
|
|
41
|
-
def['default'] = ()=>value;
|
|
42
|
-
__webpack_require__.d(ns, def);
|
|
43
|
-
return ns;
|
|
44
|
-
};
|
|
45
|
-
})();
|
|
8
|
+
var __webpack_require__ = {};
|
|
46
9
|
(()=>{
|
|
47
10
|
__webpack_require__.d = (exports1, definition)=>{
|
|
48
11
|
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
@@ -151,11 +114,9 @@
|
|
|
151
114
|
zDualChartType: ()=>zDualChartType,
|
|
152
115
|
darkTheme: ()=>darkTheme,
|
|
153
116
|
isVTable: ()=>isVTable,
|
|
154
|
-
MaxMeasureId: ()=>MaxMeasureId,
|
|
155
117
|
ORIGINAL_DATA: ()=>ORIGINAL_DATA,
|
|
156
|
-
MinMeasureId: ()=>MinMeasureId,
|
|
157
|
-
columnParallelSpecPipeline: ()=>columnParallelSpecPipeline,
|
|
158
118
|
zAnnotationHorizontalLineConfig: ()=>zAnnotationHorizontalLineConfig,
|
|
119
|
+
columnParallelSpecPipeline: ()=>columnParallelSpecPipeline,
|
|
159
120
|
zAnnotationPoint: ()=>zAnnotationPoint,
|
|
160
121
|
DATUM_HIDE_KEY: ()=>DATUM_HIDE_KEY,
|
|
161
122
|
isMeasure: ()=>isMeasure,
|
|
@@ -171,20 +132,21 @@
|
|
|
171
132
|
findMeasureById: ()=>findMeasureById,
|
|
172
133
|
AngleEncoding: ()=>AngleEncoding,
|
|
173
134
|
areaPercentAdvancedPipeline: ()=>areaPercentAdvancedPipeline,
|
|
174
|
-
|
|
135
|
+
findTreeNodesBy: ()=>findTreeNodesBy,
|
|
175
136
|
zAreaPercentConfig: ()=>zAreaPercentConfig,
|
|
176
|
-
|
|
137
|
+
zBackgroundColor: ()=>zBackgroundColor,
|
|
177
138
|
MeasureId: ()=>MeasureId,
|
|
178
139
|
registerRadar: ()=>registerRadar,
|
|
179
140
|
zLocale: ()=>zLocale,
|
|
180
141
|
isDimension: ()=>isDimension,
|
|
142
|
+
zLowessRegressionLine: ()=>zLowessRegressionLine,
|
|
181
143
|
zMeasure: ()=>zMeasure,
|
|
182
144
|
registerScatter: ()=>registerScatter,
|
|
183
145
|
boxplotSpecPipeline: ()=>boxplotSpecPipeline,
|
|
184
146
|
autoNumFormatter: ()=>autoNumFormatter,
|
|
185
147
|
tableSpecPipeline: ()=>tableSpecPipeline,
|
|
186
|
-
isCombination: ()=>isCombination,
|
|
187
148
|
zConfig: ()=>zConfig,
|
|
149
|
+
isCombination: ()=>isCombination,
|
|
188
150
|
zBarStyle: ()=>zBarStyle,
|
|
189
151
|
deleteDimensionTreeByCallback: ()=>deleteDimensionTreeByCallback,
|
|
190
152
|
zRoseParallelConfig: ()=>zRoseParallelConfig,
|
|
@@ -198,6 +160,7 @@
|
|
|
198
160
|
registerPie: ()=>registerPie,
|
|
199
161
|
zEcdfRegressionLine: ()=>zEcdfRegressionLine,
|
|
200
162
|
zBarParallelConfig: ()=>zBarParallelConfig,
|
|
163
|
+
LowerWhisker: ()=>LowerWhisker,
|
|
201
164
|
lineAdvancedPipeline: ()=>lineAdvancedPipeline,
|
|
202
165
|
AXIS_LABEL_SPACE: ()=>8,
|
|
203
166
|
FoldMeasureValue: ()=>FoldMeasureValue,
|
|
@@ -235,6 +198,7 @@
|
|
|
235
198
|
Separator: ()=>"-",
|
|
236
199
|
findAllMeasures: ()=>findAllMeasures,
|
|
237
200
|
zColorLegend: ()=>zColorLegend,
|
|
201
|
+
UpperWhisker: ()=>UpperWhisker,
|
|
238
202
|
EncodingEnum: ()=>EncodingEnum,
|
|
239
203
|
preorderTraverse: ()=>preorderTraverse,
|
|
240
204
|
roseParallelSpecPipeline: ()=>roseParallelSpecPipeline,
|
|
@@ -300,7 +264,7 @@
|
|
|
300
264
|
BinEndMeasureId: ()=>BinEndMeasureId,
|
|
301
265
|
zAnnotationArea: ()=>zAnnotationArea,
|
|
302
266
|
DetailEncoding: ()=>DetailEncoding,
|
|
303
|
-
isPivot: ()=>
|
|
267
|
+
isPivot: ()=>chatType_isPivot,
|
|
304
268
|
zPointStyle: ()=>zPointStyle,
|
|
305
269
|
zDimension: ()=>zDimension,
|
|
306
270
|
lightTheme: ()=>lightTheme,
|
|
@@ -351,11 +315,47 @@
|
|
|
351
315
|
function chunk_JK3VNB42_n(e) {
|
|
352
316
|
return null == e;
|
|
353
317
|
}
|
|
354
|
-
|
|
355
|
-
|
|
318
|
+
const translateMap = {
|
|
319
|
+
指标名称: {
|
|
320
|
+
'en-US': 'MeasureName',
|
|
321
|
+
'zh-CN': "\u6307\u6807\u540D\u79F0"
|
|
322
|
+
},
|
|
323
|
+
指标Id: {
|
|
324
|
+
'en-US': 'MeasureId',
|
|
325
|
+
'zh-CN': "\u6307\u6807Id"
|
|
326
|
+
},
|
|
327
|
+
指标值: {
|
|
328
|
+
'en-US': 'MeasureValue',
|
|
329
|
+
'zh-CN': "\u6307\u6807\u503C"
|
|
330
|
+
},
|
|
331
|
+
异常点: {
|
|
332
|
+
'en-US': 'Outlier',
|
|
333
|
+
'zh-CN': "\u5F02\u5E38\u70B9"
|
|
334
|
+
},
|
|
335
|
+
上边界: {
|
|
336
|
+
'en-US': 'Upper Whisker',
|
|
337
|
+
'zh-CN': "\u4E0A\u8FB9\u754C"
|
|
338
|
+
},
|
|
339
|
+
上四分位数: {
|
|
340
|
+
'en-US': 'Q3',
|
|
341
|
+
'zh-CN': "75\u5206\u4F4D\u6570"
|
|
342
|
+
},
|
|
343
|
+
中位数: {
|
|
344
|
+
'en-US': 'Q2',
|
|
345
|
+
'zh-CN': "\u4E2D\u4F4D\u6570"
|
|
346
|
+
},
|
|
347
|
+
下四分位数: {
|
|
348
|
+
'en-US': 'Q1',
|
|
349
|
+
'zh-CN': "25\u5206\u4F4D\u6570"
|
|
350
|
+
},
|
|
351
|
+
下边界: {
|
|
352
|
+
'en-US': 'Lower Whisker',
|
|
353
|
+
'zh-CN': "\u4E0B\u8FB9\u754C"
|
|
354
|
+
}
|
|
355
|
+
};
|
|
356
356
|
class i18n_Intl {
|
|
357
357
|
static instance;
|
|
358
|
-
translateMap =
|
|
358
|
+
translateMap = translateMap;
|
|
359
359
|
locale = 'zh-CN';
|
|
360
360
|
canTranslate = (value)=>!!this.translateMap[value];
|
|
361
361
|
i18n = (segments, ...values)=>{
|
|
@@ -525,6 +525,17 @@
|
|
|
525
525
|
}
|
|
526
526
|
}
|
|
527
527
|
};
|
|
528
|
+
const findTreeNodesBy = (nodes = [], callback, childrenKey = 'children')=>{
|
|
529
|
+
if (!nodes) return [];
|
|
530
|
+
const result = [];
|
|
531
|
+
preorderTraverse(nodes, (node)=>{
|
|
532
|
+
if (!(childrenKey in node)) {
|
|
533
|
+
if (callback(node)) result.push(node);
|
|
534
|
+
}
|
|
535
|
+
return false;
|
|
536
|
+
});
|
|
537
|
+
return result;
|
|
538
|
+
};
|
|
528
539
|
const measureDepth = (measures = [])=>{
|
|
529
540
|
if (!measures) return 0;
|
|
530
541
|
let depth = 1;
|
|
@@ -613,10 +624,10 @@
|
|
|
613
624
|
const isVChart = (vseed)=>!isVTable(vseed);
|
|
614
625
|
const isPivotChart = (vseed)=>{
|
|
615
626
|
if (isVTable(vseed)) return false;
|
|
616
|
-
if (
|
|
627
|
+
if (chatType_isPivot(vseed)) return true;
|
|
617
628
|
return isCombination(vseed);
|
|
618
629
|
};
|
|
619
|
-
const
|
|
630
|
+
const chatType_isPivot = (vseed)=>{
|
|
620
631
|
const { dimensions = [] } = vseed;
|
|
621
632
|
return dimensions && dimensions.some((dimension)=>'row' === dimension.encoding || 'column' === dimension.encoding);
|
|
622
633
|
};
|
|
@@ -1571,8 +1582,8 @@
|
|
|
1571
1582
|
const DetailEncoding = '__Dim_Detail__';
|
|
1572
1583
|
const ColorEncoding = '__Dim_Color__';
|
|
1573
1584
|
const ColorIdEncoding = '__Dim_ColorId__';
|
|
1574
|
-
const
|
|
1575
|
-
const
|
|
1585
|
+
const LowerWhisker = '__Lower_Whisker__';
|
|
1586
|
+
const UpperWhisker = '__Upper_Whisker__';
|
|
1576
1587
|
const OutliersMeasureId = '__Outliers__';
|
|
1577
1588
|
const MedianMeasureId = '__Meadian__';
|
|
1578
1589
|
const BinStartMeasureId = '__BinStart__';
|
|
@@ -2271,7 +2282,7 @@
|
|
|
2271
2282
|
];
|
|
2272
2283
|
};
|
|
2273
2284
|
const deleteMeasureTreeByCallback = (measureTree, callback)=>{
|
|
2274
|
-
if (!measureTree) return
|
|
2285
|
+
if (!measureTree) return;
|
|
2275
2286
|
const stack = [
|
|
2276
2287
|
...measureTree
|
|
2277
2288
|
].reverse();
|
|
@@ -2295,23 +2306,28 @@
|
|
|
2295
2306
|
nodesToProcess.push(node);
|
|
2296
2307
|
}
|
|
2297
2308
|
}
|
|
2309
|
+
const deleted = [];
|
|
2298
2310
|
for (const node of nodesToProcess){
|
|
2299
2311
|
const parentList = parents.get(node);
|
|
2300
2312
|
if (parentList) {
|
|
2301
2313
|
const index = parentList.indexOf(node);
|
|
2302
2314
|
if (isMeasure(node)) {
|
|
2303
|
-
if (callback?.(node, index, parentList))
|
|
2315
|
+
if (callback?.(node, index, parentList)) {
|
|
2316
|
+
parentList.splice(index, 1);
|
|
2317
|
+
deleted.push(node);
|
|
2318
|
+
}
|
|
2304
2319
|
}
|
|
2305
2320
|
}
|
|
2306
2321
|
}
|
|
2307
|
-
return
|
|
2322
|
+
return deleted;
|
|
2308
2323
|
};
|
|
2309
|
-
const
|
|
2324
|
+
const pickMeasuresForReshape = (encodingKeys)=>(advancedVSeed)=>{
|
|
2325
|
+
const clonedMeasures = chunk_BCBB46UE_d(advancedVSeed.measures);
|
|
2310
2326
|
const deleteBy = (measure)=>encodingKeys.includes(measure.encoding);
|
|
2311
|
-
|
|
2327
|
+
deleteMeasureTreeByCallback(clonedMeasures, deleteBy);
|
|
2312
2328
|
return {
|
|
2313
2329
|
...advancedVSeed,
|
|
2314
|
-
|
|
2330
|
+
reshapeMeasures: clonedMeasures
|
|
2315
2331
|
};
|
|
2316
2332
|
};
|
|
2317
2333
|
const deleteDimensionTreeByCallback = (dimensionTree, callback)=>{
|
|
@@ -2350,12 +2366,13 @@
|
|
|
2350
2366
|
}
|
|
2351
2367
|
return dimensionTree;
|
|
2352
2368
|
};
|
|
2353
|
-
const
|
|
2369
|
+
const pickDimensionsForReshape = (advancedVSeed)=>{
|
|
2354
2370
|
const deleteBy = (dimension)=>'tooltip' === dimension.encoding || 'label' === dimension.encoding;
|
|
2355
|
-
const
|
|
2371
|
+
const reshapeDimensions = chunk_BCBB46UE_d(advancedVSeed.dimensions);
|
|
2372
|
+
deleteDimensionTreeByCallback(reshapeDimensions, deleteBy);
|
|
2356
2373
|
return {
|
|
2357
2374
|
...advancedVSeed,
|
|
2358
|
-
|
|
2375
|
+
reshapeDimensions
|
|
2359
2376
|
};
|
|
2360
2377
|
};
|
|
2361
2378
|
const pivotAdapter = (pipeline, pivotPipeline)=>(advancedVSeed, context)=>{
|
|
@@ -2478,9 +2495,9 @@
|
|
|
2478
2495
|
};
|
|
2479
2496
|
const { vseed } = context;
|
|
2480
2497
|
const { dataset, chartType } = vseed;
|
|
2481
|
-
const {
|
|
2498
|
+
const { encoding } = advancedVSeed;
|
|
2482
2499
|
const colorMeasureId = getColorMeasureId(advancedVSeed, vseed);
|
|
2483
|
-
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, T(dimensions, (item)=>item.id), T(findAllMeasures(measures), (item)=>item.id), encoding, {
|
|
2500
|
+
const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, T(advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [], (item)=>item.id), T(advancedVSeed.reshapeMeasures ?? findAllMeasures(advancedVSeed.measures), (item)=>item.id), encoding, {
|
|
2484
2501
|
colorItemAsId: false,
|
|
2485
2502
|
colorMeasureId
|
|
2486
2503
|
});
|
|
@@ -2494,9 +2511,7 @@
|
|
|
2494
2511
|
foldInfo,
|
|
2495
2512
|
unfoldInfo
|
|
2496
2513
|
}
|
|
2497
|
-
]
|
|
2498
|
-
dimensions,
|
|
2499
|
-
measures
|
|
2514
|
+
]
|
|
2500
2515
|
};
|
|
2501
2516
|
};
|
|
2502
2517
|
const pivotReshapeWithEncoding = (advancedVSeed, context)=>{
|
|
@@ -2505,7 +2520,9 @@
|
|
|
2505
2520
|
};
|
|
2506
2521
|
const { vseed } = context;
|
|
2507
2522
|
const { dataset } = vseed;
|
|
2508
|
-
const {
|
|
2523
|
+
const { encoding } = advancedVSeed;
|
|
2524
|
+
const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
|
|
2525
|
+
const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
|
|
2509
2526
|
const allMeasures = findAllMeasures(measures);
|
|
2510
2527
|
const measureGroups = [];
|
|
2511
2528
|
if (measures) measures.forEach((measure)=>{
|
|
@@ -2667,12 +2684,12 @@
|
|
|
2667
2684
|
], [
|
|
2668
2685
|
encodingForLine,
|
|
2669
2686
|
buildMeasures,
|
|
2670
|
-
|
|
2687
|
+
pickMeasuresForReshape([
|
|
2671
2688
|
'tooltip',
|
|
2672
2689
|
'label',
|
|
2673
2690
|
'color'
|
|
2674
2691
|
]),
|
|
2675
|
-
|
|
2692
|
+
pickDimensionsForReshape
|
|
2676
2693
|
]),
|
|
2677
2694
|
pivotAdapter([
|
|
2678
2695
|
reshapeWithEncoding
|
|
@@ -2966,12 +2983,22 @@
|
|
|
2966
2983
|
const { measures, dimensions, encoding } = advancedVSeed;
|
|
2967
2984
|
const config = advancedVSeed.config?.[chartType]?.yAxis;
|
|
2968
2985
|
if (!result.axes) result.axes = [];
|
|
2986
|
+
const isPivot = isPivotChart(vseed);
|
|
2969
2987
|
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10, autoFormat, numFormat = {} } = config;
|
|
2970
2988
|
const formatter = createNumFormatter(numFormat);
|
|
2971
2989
|
const percentFormatter = createNumFormatter({
|
|
2972
2990
|
type: 'percent'
|
|
2973
2991
|
});
|
|
2974
2992
|
const linearAxis = {
|
|
2993
|
+
...isPivot ? {
|
|
2994
|
+
range: {
|
|
2995
|
+
min,
|
|
2996
|
+
max
|
|
2997
|
+
}
|
|
2998
|
+
} : {
|
|
2999
|
+
min,
|
|
3000
|
+
max
|
|
3001
|
+
},
|
|
2975
3002
|
visible,
|
|
2976
3003
|
type: log ? 'log' : 'linear',
|
|
2977
3004
|
base: logBase,
|
|
@@ -2979,8 +3006,6 @@
|
|
|
2979
3006
|
nice,
|
|
2980
3007
|
zero: log ? false : zero,
|
|
2981
3008
|
inverse,
|
|
2982
|
-
max,
|
|
2983
|
-
min,
|
|
2984
3009
|
label: {
|
|
2985
3010
|
space: 8,
|
|
2986
3011
|
visible: label?.visible,
|
|
@@ -3218,7 +3243,7 @@
|
|
|
3218
3243
|
...spec
|
|
3219
3244
|
};
|
|
3220
3245
|
const { advancedVSeed } = context;
|
|
3221
|
-
const { datasetReshapeInfo, chartType } = advancedVSeed;
|
|
3246
|
+
const { datasetReshapeInfo, chartType, measures = [] } = advancedVSeed;
|
|
3222
3247
|
const { unfoldInfo } = datasetReshapeInfo[0];
|
|
3223
3248
|
const baseConfig = advancedVSeed.config[chartType];
|
|
3224
3249
|
if (!baseConfig || !baseConfig.legend) return result;
|
|
@@ -3279,8 +3304,7 @@
|
|
|
3279
3304
|
}
|
|
3280
3305
|
}
|
|
3281
3306
|
};
|
|
3282
|
-
const
|
|
3283
|
-
const colorMeasure = measures.find((m)=>'color' === m.encoding);
|
|
3307
|
+
const colorMeasure = findTreeNodesBy(measures, (m)=>'color' === m.encoding)?.[0];
|
|
3284
3308
|
if (colorMeasure) {
|
|
3285
3309
|
const formatter = createFormatterByMeasure(colorMeasure);
|
|
3286
3310
|
result.legends.handlerText.formatter = formatter;
|
|
@@ -3642,7 +3666,11 @@
|
|
|
3642
3666
|
const datum = v;
|
|
3643
3667
|
const key = datum && datum[encodingColor] || '';
|
|
3644
3668
|
return unfoldInfo.colorIdMap[key].alias ?? key;
|
|
3645
|
-
} :
|
|
3669
|
+
} : (v)=>{
|
|
3670
|
+
const datum = v;
|
|
3671
|
+
const key = datum && datum[measureId] || '';
|
|
3672
|
+
return foldMap[key] ?? key;
|
|
3673
|
+
},
|
|
3646
3674
|
value: (v)=>{
|
|
3647
3675
|
const datum = v;
|
|
3648
3676
|
if (!datum) return '';
|
|
@@ -4783,7 +4811,7 @@
|
|
|
4783
4811
|
const { vseed, advancedVSeed } = context;
|
|
4784
4812
|
const { config, chartType } = advancedVSeed;
|
|
4785
4813
|
const themConfig = config?.[chartType]?.pivotGrid ?? {};
|
|
4786
|
-
const onlyCombination = !
|
|
4814
|
+
const onlyCombination = !chatType_isPivot(vseed) && isCombination(vseed);
|
|
4787
4815
|
const result = {
|
|
4788
4816
|
...spec
|
|
4789
4817
|
};
|
|
@@ -5568,12 +5596,12 @@
|
|
|
5568
5596
|
], [
|
|
5569
5597
|
encodingForColumn,
|
|
5570
5598
|
buildMeasures,
|
|
5571
|
-
|
|
5599
|
+
pickMeasuresForReshape([
|
|
5572
5600
|
'tooltip',
|
|
5573
5601
|
'label',
|
|
5574
5602
|
'color'
|
|
5575
5603
|
]),
|
|
5576
|
-
|
|
5604
|
+
pickDimensionsForReshape
|
|
5577
5605
|
]),
|
|
5578
5606
|
pivotAdapter([
|
|
5579
5607
|
reshapeWithEncoding
|
|
@@ -6439,12 +6467,12 @@
|
|
|
6439
6467
|
], [
|
|
6440
6468
|
encodingForColumn,
|
|
6441
6469
|
buildMeasures,
|
|
6442
|
-
|
|
6470
|
+
pickMeasuresForReshape([
|
|
6443
6471
|
'tooltip',
|
|
6444
6472
|
'label',
|
|
6445
6473
|
'color'
|
|
6446
6474
|
]),
|
|
6447
|
-
|
|
6475
|
+
pickDimensionsForReshape
|
|
6448
6476
|
]),
|
|
6449
6477
|
pivotAdapter([
|
|
6450
6478
|
reshapeWithEncoding
|
|
@@ -6604,12 +6632,12 @@
|
|
|
6604
6632
|
], [
|
|
6605
6633
|
encodingForColumn,
|
|
6606
6634
|
buildMeasures,
|
|
6607
|
-
|
|
6635
|
+
pickMeasuresForReshape([
|
|
6608
6636
|
'tooltip',
|
|
6609
6637
|
'label',
|
|
6610
6638
|
'color'
|
|
6611
6639
|
]),
|
|
6612
|
-
|
|
6640
|
+
pickDimensionsForReshape
|
|
6613
6641
|
]),
|
|
6614
6642
|
pivotAdapter([
|
|
6615
6643
|
reshapeWithEncoding
|
|
@@ -6786,12 +6814,12 @@
|
|
|
6786
6814
|
], [
|
|
6787
6815
|
encodingForBar,
|
|
6788
6816
|
buildMeasures,
|
|
6789
|
-
|
|
6817
|
+
pickMeasuresForReshape([
|
|
6790
6818
|
'tooltip',
|
|
6791
6819
|
'label',
|
|
6792
6820
|
'color'
|
|
6793
6821
|
]),
|
|
6794
|
-
|
|
6822
|
+
pickDimensionsForReshape
|
|
6795
6823
|
]),
|
|
6796
6824
|
pivotAdapter([
|
|
6797
6825
|
reshapeWithEncoding
|
|
@@ -6879,12 +6907,22 @@
|
|
|
6879
6907
|
const { chartType } = vseed;
|
|
6880
6908
|
const config = advancedVSeed.config?.[chartType]?.xAxis;
|
|
6881
6909
|
if (!result.axes) result.axes = [];
|
|
6910
|
+
const isPivot = isPivotChart(vseed);
|
|
6882
6911
|
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10, autoFormat, numFormat = {} } = config;
|
|
6883
6912
|
const formatter = createNumFormatter(numFormat);
|
|
6884
6913
|
const percentFormatter = createNumFormatter({
|
|
6885
6914
|
type: 'percent'
|
|
6886
6915
|
});
|
|
6887
6916
|
const linearAxis = {
|
|
6917
|
+
...isPivot ? {
|
|
6918
|
+
range: {
|
|
6919
|
+
min,
|
|
6920
|
+
max
|
|
6921
|
+
}
|
|
6922
|
+
} : {
|
|
6923
|
+
min,
|
|
6924
|
+
max
|
|
6925
|
+
},
|
|
6888
6926
|
visible,
|
|
6889
6927
|
type: log ? 'log' : 'linear',
|
|
6890
6928
|
base: logBase,
|
|
@@ -6892,8 +6930,6 @@
|
|
|
6892
6930
|
nice,
|
|
6893
6931
|
zero: log ? false : zero,
|
|
6894
6932
|
inverse,
|
|
6895
|
-
max,
|
|
6896
|
-
min,
|
|
6897
6933
|
label: {
|
|
6898
6934
|
space: 8,
|
|
6899
6935
|
visible: label?.visible,
|
|
@@ -7143,12 +7179,12 @@
|
|
|
7143
7179
|
], [
|
|
7144
7180
|
encodingForBar,
|
|
7145
7181
|
buildMeasures,
|
|
7146
|
-
|
|
7182
|
+
pickMeasuresForReshape([
|
|
7147
7183
|
'tooltip',
|
|
7148
7184
|
'label',
|
|
7149
7185
|
'color'
|
|
7150
7186
|
]),
|
|
7151
|
-
|
|
7187
|
+
pickDimensionsForReshape
|
|
7152
7188
|
]),
|
|
7153
7189
|
pivotAdapter([
|
|
7154
7190
|
reshapeWithEncoding
|
|
@@ -7257,12 +7293,12 @@
|
|
|
7257
7293
|
], [
|
|
7258
7294
|
encodingForBar,
|
|
7259
7295
|
buildMeasures,
|
|
7260
|
-
|
|
7296
|
+
pickMeasuresForReshape([
|
|
7261
7297
|
'tooltip',
|
|
7262
7298
|
'label',
|
|
7263
7299
|
'color'
|
|
7264
7300
|
]),
|
|
7265
|
-
|
|
7301
|
+
pickDimensionsForReshape
|
|
7266
7302
|
]),
|
|
7267
7303
|
pivotAdapter([
|
|
7268
7304
|
reshapeWithEncoding
|
|
@@ -7344,12 +7380,12 @@
|
|
|
7344
7380
|
], [
|
|
7345
7381
|
encodingForLine,
|
|
7346
7382
|
buildMeasures,
|
|
7347
|
-
|
|
7383
|
+
pickMeasuresForReshape([
|
|
7348
7384
|
'tooltip',
|
|
7349
7385
|
'label',
|
|
7350
7386
|
'color'
|
|
7351
7387
|
]),
|
|
7352
|
-
|
|
7388
|
+
pickDimensionsForReshape
|
|
7353
7389
|
]),
|
|
7354
7390
|
pivotAdapter([
|
|
7355
7391
|
reshapeWithEncoding
|
|
@@ -7541,12 +7577,12 @@
|
|
|
7541
7577
|
], [
|
|
7542
7578
|
encodingForLine,
|
|
7543
7579
|
buildMeasures,
|
|
7544
|
-
|
|
7580
|
+
pickMeasuresForReshape([
|
|
7545
7581
|
'tooltip',
|
|
7546
7582
|
'label',
|
|
7547
7583
|
'color'
|
|
7548
7584
|
]),
|
|
7549
|
-
|
|
7585
|
+
pickDimensionsForReshape
|
|
7550
7586
|
]),
|
|
7551
7587
|
pivotAdapter([
|
|
7552
7588
|
reshapeWithEncoding
|
|
@@ -7820,7 +7856,9 @@
|
|
|
7820
7856
|
};
|
|
7821
7857
|
const { vseed } = context;
|
|
7822
7858
|
const { dataset } = vseed;
|
|
7823
|
-
const {
|
|
7859
|
+
const { encoding, chartType } = advancedVSeed;
|
|
7860
|
+
const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
|
|
7861
|
+
const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
|
|
7824
7862
|
if (measures.length > 2) throw new Error('measures can not be more than 2 groups in scatter');
|
|
7825
7863
|
const foldInfoList = [];
|
|
7826
7864
|
const unfoldInfoList = [];
|
|
@@ -7877,7 +7915,9 @@
|
|
|
7877
7915
|
};
|
|
7878
7916
|
const { vseed } = context;
|
|
7879
7917
|
const { dataset } = vseed;
|
|
7880
|
-
const {
|
|
7918
|
+
const { encoding, chartType } = advancedVSeed;
|
|
7919
|
+
const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
|
|
7920
|
+
const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
|
|
7881
7921
|
const allMeasures = findAllMeasures(measures);
|
|
7882
7922
|
const measureGroups = [];
|
|
7883
7923
|
const depth = measureDepth(measures);
|
|
@@ -7954,12 +7994,12 @@
|
|
|
7954
7994
|
], [
|
|
7955
7995
|
encodingForScatter,
|
|
7956
7996
|
buildMeasuresForScatter,
|
|
7957
|
-
|
|
7997
|
+
pickMeasuresForReshape([
|
|
7958
7998
|
'tooltip',
|
|
7959
7999
|
'label',
|
|
7960
8000
|
'size'
|
|
7961
8001
|
]),
|
|
7962
|
-
|
|
8002
|
+
pickDimensionsForReshape
|
|
7963
8003
|
]),
|
|
7964
8004
|
pivotAdapter([
|
|
7965
8005
|
reshapeWithScatterEncoding
|
|
@@ -8397,7 +8437,7 @@
|
|
|
8397
8437
|
}
|
|
8398
8438
|
};
|
|
8399
8439
|
}
|
|
8400
|
-
const generateRegressionLinePipe = (type, regressionFunction, getOptions)=>(spec, context)=>{
|
|
8440
|
+
const generateRegressionLinePipe = (type, regressionFunction, getOptions = getDefaultRegressionOptions)=>(spec, context)=>{
|
|
8401
8441
|
const result = {
|
|
8402
8442
|
...spec
|
|
8403
8443
|
};
|
|
@@ -8545,9 +8585,13 @@
|
|
|
8545
8585
|
});
|
|
8546
8586
|
return result;
|
|
8547
8587
|
};
|
|
8588
|
+
const getDefaultRegressionOptions = (lineConfig)=>({
|
|
8589
|
+
alpha: lineConfig?.confidenceLevel ?? 0.95
|
|
8590
|
+
});
|
|
8548
8591
|
const linearRegressionLine = generateRegressionLinePipe('linearRegressionLine', regressionLinear);
|
|
8549
8592
|
const lowessRegressionLine = generateRegressionLinePipe('lowessRegressionLine', regressionLowess);
|
|
8550
8593
|
const polynomialRegressionLine = generateRegressionLinePipe('polynomialRegressionLine', regressionPolynomial, (lineConfig)=>({
|
|
8594
|
+
...getDefaultRegressionOptions(lineConfig),
|
|
8551
8595
|
degree: lineConfig.degree ?? 2
|
|
8552
8596
|
}));
|
|
8553
8597
|
const logisticRegressionLine = generateRegressionLinePipe('logisticRegressionLine', regressionLogistic);
|
|
@@ -8786,7 +8830,9 @@
|
|
|
8786
8830
|
};
|
|
8787
8831
|
const { vseed } = context;
|
|
8788
8832
|
const { dataset } = vseed;
|
|
8789
|
-
const {
|
|
8833
|
+
const { encoding, chartType } = advancedVSeed;
|
|
8834
|
+
const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
|
|
8835
|
+
const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
|
|
8790
8836
|
if (measures.length > 2) throw new Error('measures can not be more than 2 groups in dualAxis');
|
|
8791
8837
|
const foldInfoList = [];
|
|
8792
8838
|
const unfoldInfoList = [];
|
|
@@ -8841,7 +8887,9 @@
|
|
|
8841
8887
|
};
|
|
8842
8888
|
const { vseed } = context;
|
|
8843
8889
|
const { dataset } = vseed;
|
|
8844
|
-
const {
|
|
8890
|
+
const { encoding, chartType } = advancedVSeed;
|
|
8891
|
+
const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
|
|
8892
|
+
const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
|
|
8845
8893
|
const allMeasures = findAllMeasures(measures);
|
|
8846
8894
|
const datasetList = [];
|
|
8847
8895
|
const datasetReshapeInfo = [];
|
|
@@ -8947,12 +8995,12 @@
|
|
|
8947
8995
|
], [
|
|
8948
8996
|
encodingForDualAxis,
|
|
8949
8997
|
buildMeasuresForDualAxis,
|
|
8950
|
-
|
|
8998
|
+
pickMeasuresForReshape([
|
|
8951
8999
|
'tooltip',
|
|
8952
9000
|
'label',
|
|
8953
9001
|
'color'
|
|
8954
9002
|
]),
|
|
8955
|
-
|
|
9003
|
+
pickDimensionsForReshape
|
|
8956
9004
|
]),
|
|
8957
9005
|
pivotAdapter([
|
|
8958
9006
|
reshapeWithDualEncoding
|
|
@@ -9722,12 +9770,12 @@
|
|
|
9722
9770
|
], [
|
|
9723
9771
|
encodingForPie,
|
|
9724
9772
|
buildMeasures,
|
|
9725
|
-
|
|
9773
|
+
pickMeasuresForReshape([
|
|
9726
9774
|
'tooltip',
|
|
9727
9775
|
'label',
|
|
9728
9776
|
'color'
|
|
9729
9777
|
]),
|
|
9730
|
-
|
|
9778
|
+
pickDimensionsForReshape
|
|
9731
9779
|
]),
|
|
9732
9780
|
pivotAdapter([
|
|
9733
9781
|
reshapeWithEncoding
|
|
@@ -9883,12 +9931,12 @@
|
|
|
9883
9931
|
], [
|
|
9884
9932
|
encodingForPie,
|
|
9885
9933
|
buildMeasures,
|
|
9886
|
-
|
|
9934
|
+
pickMeasuresForReshape([
|
|
9887
9935
|
'tooltip',
|
|
9888
9936
|
'label',
|
|
9889
9937
|
'color'
|
|
9890
9938
|
]),
|
|
9891
|
-
|
|
9939
|
+
pickDimensionsForReshape
|
|
9892
9940
|
]),
|
|
9893
9941
|
pivotAdapter([
|
|
9894
9942
|
reshapeWithEncoding
|
|
@@ -10048,12 +10096,12 @@
|
|
|
10048
10096
|
], [
|
|
10049
10097
|
encodingForRose,
|
|
10050
10098
|
buildMeasures,
|
|
10051
|
-
|
|
10099
|
+
pickMeasuresForReshape([
|
|
10052
10100
|
'tooltip',
|
|
10053
10101
|
'label',
|
|
10054
10102
|
'color'
|
|
10055
10103
|
]),
|
|
10056
|
-
|
|
10104
|
+
pickDimensionsForReshape
|
|
10057
10105
|
]),
|
|
10058
10106
|
pivotAdapter([
|
|
10059
10107
|
reshapeWithEncoding
|
|
@@ -10201,12 +10249,12 @@
|
|
|
10201
10249
|
], [
|
|
10202
10250
|
encodingForRose,
|
|
10203
10251
|
buildMeasures,
|
|
10204
|
-
|
|
10252
|
+
pickMeasuresForReshape([
|
|
10205
10253
|
'tooltip',
|
|
10206
10254
|
'label',
|
|
10207
10255
|
'color'
|
|
10208
10256
|
]),
|
|
10209
|
-
|
|
10257
|
+
pickDimensionsForReshape
|
|
10210
10258
|
]),
|
|
10211
10259
|
pivotAdapter([
|
|
10212
10260
|
reshapeWithEncoding
|
|
@@ -10396,12 +10444,12 @@
|
|
|
10396
10444
|
], [
|
|
10397
10445
|
encodingForRadar,
|
|
10398
10446
|
buildMeasures,
|
|
10399
|
-
|
|
10447
|
+
pickMeasuresForReshape([
|
|
10400
10448
|
'tooltip',
|
|
10401
10449
|
'label',
|
|
10402
10450
|
'color'
|
|
10403
10451
|
]),
|
|
10404
|
-
|
|
10452
|
+
pickDimensionsForReshape
|
|
10405
10453
|
]),
|
|
10406
10454
|
pivotAdapter([
|
|
10407
10455
|
reshapeWithEncoding
|
|
@@ -10611,12 +10659,12 @@
|
|
|
10611
10659
|
], [
|
|
10612
10660
|
encodingForFunnel,
|
|
10613
10661
|
buildMeasures,
|
|
10614
|
-
|
|
10662
|
+
pickMeasuresForReshape([
|
|
10615
10663
|
'tooltip',
|
|
10616
10664
|
'label',
|
|
10617
10665
|
'color'
|
|
10618
10666
|
]),
|
|
10619
|
-
|
|
10667
|
+
pickDimensionsForReshape
|
|
10620
10668
|
]),
|
|
10621
10669
|
pivotAdapter([
|
|
10622
10670
|
reshapeWithEncoding
|
|
@@ -10838,11 +10886,11 @@
|
|
|
10838
10886
|
], [
|
|
10839
10887
|
encodingForHeatmap,
|
|
10840
10888
|
buildMeasures,
|
|
10841
|
-
|
|
10889
|
+
pickMeasuresForReshape([
|
|
10842
10890
|
'tooltip',
|
|
10843
10891
|
'label'
|
|
10844
10892
|
]),
|
|
10845
|
-
|
|
10893
|
+
pickDimensionsForReshape
|
|
10846
10894
|
]),
|
|
10847
10895
|
pivotAdapter([
|
|
10848
10896
|
reshapeWithEncoding
|
|
@@ -11244,36 +11292,42 @@
|
|
|
11244
11292
|
};
|
|
11245
11293
|
const { vseed } = context;
|
|
11246
11294
|
const { dataset, chartType } = vseed;
|
|
11247
|
-
const {
|
|
11295
|
+
const { encoding = {}, config } = advancedVSeed;
|
|
11296
|
+
const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
|
|
11297
|
+
const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
|
|
11248
11298
|
const uniqDims = T(dimensions, (item)=>item.id);
|
|
11249
11299
|
const whiskers = config?.[chartType]?.whiskers;
|
|
11250
11300
|
let newDatasets = [];
|
|
11251
11301
|
let foldInfo = {};
|
|
11252
11302
|
let unfoldInfo = {};
|
|
11253
11303
|
const allMeasures = findAllMeasures(measures);
|
|
11254
|
-
if (encoding.value?.length)
|
|
11255
|
-
const
|
|
11256
|
-
|
|
11257
|
-
|
|
11258
|
-
|
|
11259
|
-
|
|
11260
|
-
|
|
11261
|
-
|
|
11262
|
-
|
|
11263
|
-
|
|
11264
|
-
|
|
11265
|
-
|
|
11266
|
-
|
|
11267
|
-
|
|
11268
|
-
|
|
11269
|
-
|
|
11270
|
-
|
|
11271
|
-
|
|
11272
|
-
|
|
11273
|
-
|
|
11274
|
-
datum
|
|
11304
|
+
if (encoding.value?.length) {
|
|
11305
|
+
const boxPlotDataList = [];
|
|
11306
|
+
encoding.value.forEach((f)=>{
|
|
11307
|
+
const m = allMeasures.find((m)=>m.id === f);
|
|
11308
|
+
const boxPlotData = boxplot_boxplot(dataset, {
|
|
11309
|
+
field: f,
|
|
11310
|
+
groupField: [
|
|
11311
|
+
...encoding.x ?? [],
|
|
11312
|
+
...encoding.color ?? []
|
|
11313
|
+
],
|
|
11314
|
+
whiskers,
|
|
11315
|
+
outputNames: {
|
|
11316
|
+
q1: "__Q1__",
|
|
11317
|
+
q3: "__Q3__",
|
|
11318
|
+
lowerWhisker: LowerWhisker,
|
|
11319
|
+
upperWhisker: UpperWhisker,
|
|
11320
|
+
median: MedianMeasureId,
|
|
11321
|
+
outliers: OutliersMeasureId
|
|
11322
|
+
}
|
|
11323
|
+
});
|
|
11324
|
+
boxPlotData.forEach((datum)=>{
|
|
11325
|
+
datum[FoldMeasureId] = f;
|
|
11326
|
+
datum[FoldMeasureName] = m?.alias ?? f;
|
|
11327
|
+
});
|
|
11328
|
+
boxPlotDataList.push(...boxPlotData);
|
|
11275
11329
|
});
|
|
11276
|
-
const res = unfoldDimensions(
|
|
11330
|
+
const res = unfoldDimensions(boxPlotDataList, uniqDims, encoding, {
|
|
11277
11331
|
foldMeasureId: FoldMeasureId,
|
|
11278
11332
|
separator: "-",
|
|
11279
11333
|
colorItemAsId: false
|
|
@@ -11282,16 +11336,15 @@
|
|
|
11282
11336
|
newDatasets.push(d);
|
|
11283
11337
|
});
|
|
11284
11338
|
unfoldInfo = res.unfoldInfo;
|
|
11285
|
-
})
|
|
11286
|
-
else if (encoding.q1?.length && encoding.q3?.length && encoding.min?.length && encoding.max?.length && encoding.median?.length) {
|
|
11339
|
+
} else if (encoding.q1?.length && encoding.q3?.length && encoding.min?.length && encoding.max?.length && encoding.median?.length) {
|
|
11287
11340
|
const res = unfoldDimensions(dataset, uniqDims, encoding, {
|
|
11288
11341
|
foldMeasureId: FoldMeasureId,
|
|
11289
11342
|
separator: "-",
|
|
11290
11343
|
colorItemAsId: false
|
|
11291
11344
|
});
|
|
11292
11345
|
res.dataset.forEach((datum)=>{
|
|
11293
|
-
datum[
|
|
11294
|
-
datum[
|
|
11346
|
+
datum[UpperWhisker] = datum[encoding.max[0]];
|
|
11347
|
+
datum[LowerWhisker] = datum[encoding.min[0]];
|
|
11295
11348
|
datum["__Q1__"] = datum[encoding.q1[0]];
|
|
11296
11349
|
datum["__Q3__"] = datum[encoding.q3[0]];
|
|
11297
11350
|
datum[MedianMeasureId] = datum[encoding.median[0]];
|
|
@@ -11321,7 +11374,9 @@
|
|
|
11321
11374
|
};
|
|
11322
11375
|
const { vseed } = context;
|
|
11323
11376
|
const { dataset, chartType } = vseed;
|
|
11324
|
-
const {
|
|
11377
|
+
const { encoding = {}, config } = advancedVSeed;
|
|
11378
|
+
const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
|
|
11379
|
+
const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
|
|
11325
11380
|
const uniqDims = T(dimensions, (item)=>item.id);
|
|
11326
11381
|
const chartConfig = config?.[chartType];
|
|
11327
11382
|
const whiskers = chartConfig?.whiskers;
|
|
@@ -11339,30 +11394,35 @@
|
|
|
11339
11394
|
let newDatasets = [];
|
|
11340
11395
|
let foldInfo = {};
|
|
11341
11396
|
let unfoldInfo = {};
|
|
11342
|
-
|
|
11343
|
-
|
|
11344
|
-
const
|
|
11345
|
-
|
|
11346
|
-
|
|
11347
|
-
|
|
11348
|
-
|
|
11349
|
-
|
|
11350
|
-
|
|
11351
|
-
|
|
11352
|
-
|
|
11353
|
-
|
|
11354
|
-
|
|
11355
|
-
|
|
11356
|
-
|
|
11357
|
-
|
|
11358
|
-
|
|
11359
|
-
|
|
11360
|
-
|
|
11361
|
-
|
|
11362
|
-
|
|
11363
|
-
|
|
11397
|
+
const validEncodingIds = (encoding.value || []).filter((id)=>subMeasures.find((field)=>field.id === id));
|
|
11398
|
+
if (validEncodingIds.length) {
|
|
11399
|
+
const boxPlotDataList = [];
|
|
11400
|
+
validEncodingIds.forEach((f)=>{
|
|
11401
|
+
const m = subMeasures.find((m)=>m.id === f);
|
|
11402
|
+
const boxPlotData = boxplot_boxplot(dataset, {
|
|
11403
|
+
field: f,
|
|
11404
|
+
groupField: [
|
|
11405
|
+
...encoding.x ?? [],
|
|
11406
|
+
...encoding.color ?? [],
|
|
11407
|
+
...rowColumnFields.map((item)=>item.id)
|
|
11408
|
+
],
|
|
11409
|
+
whiskers,
|
|
11410
|
+
outputNames: {
|
|
11411
|
+
q1: "__Q1__",
|
|
11412
|
+
q3: "__Q3__",
|
|
11413
|
+
lowerWhisker: LowerWhisker,
|
|
11414
|
+
upperWhisker: UpperWhisker,
|
|
11415
|
+
median: MedianMeasureId,
|
|
11416
|
+
outliers: OutliersMeasureId
|
|
11417
|
+
}
|
|
11418
|
+
});
|
|
11419
|
+
boxPlotData.forEach((datum)=>{
|
|
11420
|
+
datum[FoldMeasureId] = f;
|
|
11421
|
+
datum[FoldMeasureName] = m?.alias ?? f;
|
|
11422
|
+
});
|
|
11423
|
+
boxPlotDataList.push(...boxPlotData);
|
|
11364
11424
|
});
|
|
11365
|
-
const res = unfoldDimensions(
|
|
11425
|
+
const res = unfoldDimensions(boxPlotDataList, uniqDims, encoding, {
|
|
11366
11426
|
foldMeasureId: FoldMeasureId,
|
|
11367
11427
|
separator: "-",
|
|
11368
11428
|
colorItemAsId: false
|
|
@@ -11371,16 +11431,15 @@
|
|
|
11371
11431
|
newDatasets.push(d);
|
|
11372
11432
|
});
|
|
11373
11433
|
unfoldInfo = res.unfoldInfo;
|
|
11374
|
-
})
|
|
11375
|
-
else if (encoding.q1?.length && encoding.q3?.length && encoding.min?.length && encoding.max?.length && encoding.median?.length) {
|
|
11434
|
+
} else if (encoding.q1?.length && encoding.q3?.length && encoding.min?.length && encoding.max?.length && encoding.median?.length) {
|
|
11376
11435
|
const res = unfoldDimensions(dataset, uniqDims, encoding, {
|
|
11377
11436
|
foldMeasureId: FoldMeasureId,
|
|
11378
11437
|
separator: "-",
|
|
11379
11438
|
colorItemAsId: false
|
|
11380
11439
|
});
|
|
11381
11440
|
res.dataset.forEach((datum)=>{
|
|
11382
|
-
datum[
|
|
11383
|
-
datum[
|
|
11441
|
+
datum[UpperWhisker] = datum[encoding.max[0]];
|
|
11442
|
+
datum[LowerWhisker] = datum[encoding.min[0]];
|
|
11384
11443
|
datum["__Q1__"] = datum[encoding.q1[0]];
|
|
11385
11444
|
datum["__Q3__"] = datum[encoding.q3[0]];
|
|
11386
11445
|
datum[MedianMeasureId] = datum[encoding.median[0]];
|
|
@@ -11416,12 +11475,12 @@
|
|
|
11416
11475
|
], [
|
|
11417
11476
|
encodingForBoxplot,
|
|
11418
11477
|
buildMeasures,
|
|
11419
|
-
|
|
11478
|
+
pickMeasuresForReshape([
|
|
11420
11479
|
'tooltip',
|
|
11421
11480
|
'label',
|
|
11422
11481
|
'color'
|
|
11423
11482
|
]),
|
|
11424
|
-
|
|
11483
|
+
pickDimensionsForReshape
|
|
11425
11484
|
]),
|
|
11426
11485
|
pivotAdapter([
|
|
11427
11486
|
reshapeWithBoxplotEncoding
|
|
@@ -11441,10 +11500,10 @@
|
|
|
11441
11500
|
const { datasetReshapeInfo, encoding } = advancedVSeed;
|
|
11442
11501
|
const { unfoldInfo } = datasetReshapeInfo[0];
|
|
11443
11502
|
result.type = 'boxPlot';
|
|
11444
|
-
result.minField =
|
|
11503
|
+
result.minField = LowerWhisker;
|
|
11504
|
+
result.maxField = UpperWhisker;
|
|
11445
11505
|
result.q1Field = "__Q1__";
|
|
11446
11506
|
result.medianField = MedianMeasureId;
|
|
11447
|
-
result.maxField = MaxMeasureId;
|
|
11448
11507
|
result.q3Field = "__Q3__";
|
|
11449
11508
|
result.outliersField = OutliersMeasureId;
|
|
11450
11509
|
result.xField = [
|
|
@@ -11480,12 +11539,20 @@
|
|
|
11480
11539
|
};
|
|
11481
11540
|
};
|
|
11482
11541
|
const boxPlotMeasureKeys = [
|
|
11483
|
-
|
|
11542
|
+
UpperWhisker,
|
|
11484
11543
|
"__Q3__",
|
|
11485
11544
|
MedianMeasureId,
|
|
11486
11545
|
"__Q1__",
|
|
11487
|
-
|
|
11546
|
+
LowerWhisker
|
|
11488
11547
|
];
|
|
11548
|
+
const measureAliasMapping = {
|
|
11549
|
+
[OutliersMeasureId]: intl.i18n`异常点`,
|
|
11550
|
+
[UpperWhisker]: intl.i18n`上边界`,
|
|
11551
|
+
["__Q3__"]: intl.i18n`上四分位数`,
|
|
11552
|
+
[MedianMeasureId]: intl.i18n`中位数`,
|
|
11553
|
+
["__Q1__"]: intl.i18n`下四分位数`,
|
|
11554
|
+
[LowerWhisker]: intl.i18n`下边界`
|
|
11555
|
+
};
|
|
11489
11556
|
const VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE';
|
|
11490
11557
|
const tooltipBoxplot = (spec, context)=>{
|
|
11491
11558
|
const result = {
|
|
@@ -11517,7 +11584,7 @@
|
|
|
11517
11584
|
const formatter = outerlierMeasure ? createFormatterByMeasure(outerlierMeasure) : defaultFormatter;
|
|
11518
11585
|
tooltipItems.push({
|
|
11519
11586
|
...tooltipItems[0],
|
|
11520
|
-
key: outerlierMeasure?.alias ?? OutliersMeasureId,
|
|
11587
|
+
key: outerlierMeasure?.alias ?? measureAliasMapping[OutliersMeasureId],
|
|
11521
11588
|
value: formatter(datum?.[VCHART_OUTLIER_KEY])
|
|
11522
11589
|
});
|
|
11523
11590
|
return tooltipItems;
|
|
@@ -11529,7 +11596,7 @@
|
|
|
11529
11596
|
return {
|
|
11530
11597
|
...entry,
|
|
11531
11598
|
value: formatter(datum?.[entry.key]),
|
|
11532
|
-
key: mea?.alias ?? entry.key
|
|
11599
|
+
key: mea?.alias ?? measureAliasMapping[entry?.key] ?? entry.key
|
|
11533
11600
|
};
|
|
11534
11601
|
}
|
|
11535
11602
|
return entry;
|
|
@@ -11572,6 +11639,17 @@
|
|
|
11572
11639
|
defaultContent
|
|
11573
11640
|
];
|
|
11574
11641
|
};
|
|
11642
|
+
const boxLegend = (spec, context)=>{
|
|
11643
|
+
const normalLegend = discreteLegend(spec, context);
|
|
11644
|
+
normalLegend.legends = {
|
|
11645
|
+
...normalLegend.legends,
|
|
11646
|
+
data: (data)=>data.map((obj)=>{
|
|
11647
|
+
obj.shape.fill = obj.shape.stroke;
|
|
11648
|
+
return obj;
|
|
11649
|
+
})
|
|
11650
|
+
};
|
|
11651
|
+
return normalLegend;
|
|
11652
|
+
};
|
|
11575
11653
|
const pipeline_boxplot_boxplot = [
|
|
11576
11654
|
initBoxplot,
|
|
11577
11655
|
stackCornerRadius_stackCornerRadius,
|
|
@@ -11583,7 +11661,7 @@
|
|
|
11583
11661
|
yLinear,
|
|
11584
11662
|
label_label,
|
|
11585
11663
|
tooltipBoxplot,
|
|
11586
|
-
colorAdapter(
|
|
11664
|
+
colorAdapter(boxLegend, colorLegend),
|
|
11587
11665
|
verticalCrosshairRect,
|
|
11588
11666
|
colorBarStyleFill(barStyle_barStyle),
|
|
11589
11667
|
annotationPoint_annotationPoint,
|
|
@@ -11893,7 +11971,9 @@
|
|
|
11893
11971
|
};
|
|
11894
11972
|
const { vseed } = context;
|
|
11895
11973
|
const { dataset, chartType } = vseed;
|
|
11896
|
-
const {
|
|
11974
|
+
const { encoding = {}, config } = advancedVSeed;
|
|
11975
|
+
const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
|
|
11976
|
+
const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
|
|
11897
11977
|
const uniqDims = T(dimensions, (item)=>item.id);
|
|
11898
11978
|
const chartConfig = config?.[chartType];
|
|
11899
11979
|
const binCount = chartConfig?.binCount;
|
|
@@ -11990,7 +12070,9 @@
|
|
|
11990
12070
|
};
|
|
11991
12071
|
const { vseed } = context;
|
|
11992
12072
|
const { dataset, chartType } = vseed;
|
|
11993
|
-
const {
|
|
12073
|
+
const { encoding = {}, config } = advancedVSeed;
|
|
12074
|
+
const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
|
|
12075
|
+
const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
|
|
11994
12076
|
const colorMeasureId = getColorMeasureId(advancedVSeed, vseed);
|
|
11995
12077
|
const uniqDims = T(dimensions, (item)=>item.id);
|
|
11996
12078
|
const chartConfig = config?.[chartType];
|
|
@@ -12031,9 +12113,9 @@
|
|
|
12031
12113
|
field: valueField,
|
|
12032
12114
|
groupField: [
|
|
12033
12115
|
...encoding.x ?? [],
|
|
12034
|
-
...encoding.color ?? []
|
|
12035
|
-
...rowColumnFields.map((item)=>item.id)
|
|
12116
|
+
...encoding.color ?? []
|
|
12036
12117
|
],
|
|
12118
|
+
facetField: rowColumnFields.map((item)=>item.id),
|
|
12037
12119
|
bins: binCount,
|
|
12038
12120
|
step: binStep,
|
|
12039
12121
|
outputNames: {
|
|
@@ -12105,12 +12187,12 @@
|
|
|
12105
12187
|
], [
|
|
12106
12188
|
encodingForHistogram,
|
|
12107
12189
|
buildMeasures,
|
|
12108
|
-
|
|
12190
|
+
pickMeasuresForReshape([
|
|
12109
12191
|
'tooltip',
|
|
12110
12192
|
'label',
|
|
12111
12193
|
'color'
|
|
12112
12194
|
]),
|
|
12113
|
-
|
|
12195
|
+
pickDimensionsForReshape
|
|
12114
12196
|
]),
|
|
12115
12197
|
pivotAdapter([
|
|
12116
12198
|
reshapeWithHistogramEncoding
|
|
@@ -12159,6 +12241,13 @@
|
|
|
12159
12241
|
}
|
|
12160
12242
|
};
|
|
12161
12243
|
};
|
|
12244
|
+
const getDefaultXFormatterOfHistogram = (advancedVSeed)=>{
|
|
12245
|
+
const { chartType, config } = advancedVSeed;
|
|
12246
|
+
const xConfig = config?.[chartType]?.xAxis;
|
|
12247
|
+
const { autoFormat = true, numFormat = {} } = xConfig;
|
|
12248
|
+
const formatter = createNumFormatter(numFormat);
|
|
12249
|
+
return (value)=>createLinearFormat(value, autoFormat, numFormat, formatter);
|
|
12250
|
+
};
|
|
12162
12251
|
const tooltipHistogram_VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE';
|
|
12163
12252
|
const tooltipHistogram = (spec, context)=>{
|
|
12164
12253
|
const result = {
|
|
@@ -12171,6 +12260,7 @@
|
|
|
12171
12260
|
enable: true
|
|
12172
12261
|
} } = baseConfig;
|
|
12173
12262
|
const { enable } = tooltip;
|
|
12263
|
+
const defaultXFormatter = getDefaultXFormatterOfHistogram(advancedVSeed);
|
|
12174
12264
|
result.tooltip = {
|
|
12175
12265
|
style: getTooltipStyle(tooltip),
|
|
12176
12266
|
visible: enable,
|
|
@@ -12178,18 +12268,18 @@
|
|
|
12178
12268
|
title: {
|
|
12179
12269
|
visible: false
|
|
12180
12270
|
},
|
|
12181
|
-
content: tooltipHistogram_createMarkContent(encoding.tooltip || [], dimensions, encoding)
|
|
12271
|
+
content: tooltipHistogram_createMarkContent(encoding.tooltip || [], dimensions, encoding, defaultXFormatter)
|
|
12182
12272
|
},
|
|
12183
12273
|
dimension: {
|
|
12184
12274
|
title: {
|
|
12185
12275
|
visible: false
|
|
12186
12276
|
},
|
|
12187
|
-
content: tooltipHistogram_createMarkContent(encoding.tooltip || [], dimensions, encoding)
|
|
12277
|
+
content: tooltipHistogram_createMarkContent(encoding.tooltip || [], dimensions, encoding, defaultXFormatter)
|
|
12188
12278
|
}
|
|
12189
12279
|
};
|
|
12190
12280
|
return result;
|
|
12191
12281
|
};
|
|
12192
|
-
const tooltipHistogram_createMarkContent = (tooltip, dimensions, encoding)=>{
|
|
12282
|
+
const tooltipHistogram_createMarkContent = (tooltip, dimensions, encoding, dimFormatter)=>{
|
|
12193
12283
|
const dims = C(dimensions.filter((item)=>tooltip.includes(item.id)), T((item)=>item.id), T((item)=>item.alias));
|
|
12194
12284
|
const dimContent = dims.map((item)=>({
|
|
12195
12285
|
visible: true,
|
|
@@ -12211,7 +12301,7 @@
|
|
|
12211
12301
|
shapeType: 'rectRound',
|
|
12212
12302
|
key: (datum)=>{
|
|
12213
12303
|
if (!datum) return '';
|
|
12214
|
-
return
|
|
12304
|
+
return `[${dimFormatter(+datum[BinStartMeasureId])}, ${dimFormatter(+datum[BinEndMeasureId])})`;
|
|
12215
12305
|
},
|
|
12216
12306
|
value: (datum)=>{
|
|
12217
12307
|
if (!datum) return '';
|
|
@@ -12224,6 +12314,27 @@
|
|
|
12224
12314
|
defaultContent
|
|
12225
12315
|
];
|
|
12226
12316
|
};
|
|
12317
|
+
const histogramVerticalCrosshairRect = (spec, context)=>{
|
|
12318
|
+
const result = verticalCrosshairRect(spec, context);
|
|
12319
|
+
if (!result.crosshair) return result;
|
|
12320
|
+
const crosshair = result.crosshair;
|
|
12321
|
+
if (!crosshair.xField) return result;
|
|
12322
|
+
const defaultXFormatter = getDefaultXFormatterOfHistogram(context.advancedVSeed);
|
|
12323
|
+
crosshair.xField = {
|
|
12324
|
+
...crosshair.xField || {},
|
|
12325
|
+
label: {
|
|
12326
|
+
...crosshair.xField?.label || {},
|
|
12327
|
+
formatMethod: (text)=>{
|
|
12328
|
+
if (common_isArray(text)) return text;
|
|
12329
|
+
const binRange = `${text}`.split('~');
|
|
12330
|
+
const binStart = defaultXFormatter(+binRange[0]);
|
|
12331
|
+
const binEnd = defaultXFormatter(+binRange[1]);
|
|
12332
|
+
return 1 === binRange.length ? binStart : `[${binStart}, ${binEnd})`;
|
|
12333
|
+
}
|
|
12334
|
+
}
|
|
12335
|
+
};
|
|
12336
|
+
return result;
|
|
12337
|
+
};
|
|
12227
12338
|
const gaussian = (u)=>1 / Math.sqrt(2 * Math.PI) * Math.exp(-0.5 * u * u);
|
|
12228
12339
|
function scott(n, std, dim = 1) {
|
|
12229
12340
|
return n <= 0 || 0 === std ? 0 : std * Math.pow(n, -1 / (dim + 4));
|
|
@@ -12556,6 +12667,36 @@
|
|
|
12556
12667
|
}
|
|
12557
12668
|
});
|
|
12558
12669
|
});
|
|
12670
|
+
const leftAxis = result.axes?.find((v)=>'left' === v.orient);
|
|
12671
|
+
if (leftAxis && lineList.length) result.axes?.push({
|
|
12672
|
+
visible: true,
|
|
12673
|
+
orient: 'right',
|
|
12674
|
+
type: 'linear',
|
|
12675
|
+
base: 10,
|
|
12676
|
+
min: 0,
|
|
12677
|
+
max: 1,
|
|
12678
|
+
domainLine: {
|
|
12679
|
+
...leftAxis.domainLine
|
|
12680
|
+
},
|
|
12681
|
+
grid: {
|
|
12682
|
+
visible: false
|
|
12683
|
+
},
|
|
12684
|
+
tick: {
|
|
12685
|
+
...leftAxis.tick
|
|
12686
|
+
},
|
|
12687
|
+
title: {
|
|
12688
|
+
...leftAxis.title,
|
|
12689
|
+
visible: false
|
|
12690
|
+
},
|
|
12691
|
+
label: {
|
|
12692
|
+
...leftAxis.label,
|
|
12693
|
+
visible: true,
|
|
12694
|
+
formatMethod: (v)=>{
|
|
12695
|
+
const text = common_isArray(v) ? v[0] : v;
|
|
12696
|
+
return `${(100 * text).toFixed(1)}%`;
|
|
12697
|
+
}
|
|
12698
|
+
}
|
|
12699
|
+
});
|
|
12559
12700
|
return result;
|
|
12560
12701
|
};
|
|
12561
12702
|
const histogram = [
|
|
@@ -12569,7 +12710,7 @@
|
|
|
12569
12710
|
label_label,
|
|
12570
12711
|
tooltipHistogram,
|
|
12571
12712
|
colorAdapter(discreteLegend, colorLegend),
|
|
12572
|
-
|
|
12713
|
+
histogramVerticalCrosshairRect,
|
|
12573
12714
|
colorBarStyleFill(barStyle_barStyle),
|
|
12574
12715
|
annotationPoint_annotationPoint,
|
|
12575
12716
|
annotationVerticalLine_annotationVerticalLine,
|
|
@@ -12593,7 +12734,7 @@
|
|
|
12593
12734
|
label_label,
|
|
12594
12735
|
tooltipHistogram,
|
|
12595
12736
|
colorBarStyleFill(barStyle_barStyle),
|
|
12596
|
-
|
|
12737
|
+
histogramVerticalCrosshairRect,
|
|
12597
12738
|
annotationPoint_annotationPoint,
|
|
12598
12739
|
annotationVerticalLine_annotationVerticalLine,
|
|
12599
12740
|
annotationHorizontalLine_annotationHorizontalLine,
|
|
@@ -17103,9 +17244,9 @@
|
|
|
17103
17244
|
const zMeasure = schemas_object({
|
|
17104
17245
|
id: schemas_string(),
|
|
17105
17246
|
alias: schemas_string().optional(),
|
|
17106
|
-
autoFormat: schemas_boolean().
|
|
17107
|
-
numFormat: zNumFormat
|
|
17108
|
-
format: zNumFormat
|
|
17247
|
+
autoFormat: schemas_boolean().optional(),
|
|
17248
|
+
numFormat: zNumFormat.optional(),
|
|
17249
|
+
format: zNumFormat.optional(),
|
|
17109
17250
|
encoding: schemas_enum([
|
|
17110
17251
|
'primaryYAxis',
|
|
17111
17252
|
'secondaryYAxis',
|
|
@@ -17118,7 +17259,16 @@
|
|
|
17118
17259
|
'label',
|
|
17119
17260
|
'tooltip',
|
|
17120
17261
|
'detail',
|
|
17121
|
-
'column'
|
|
17262
|
+
'column',
|
|
17263
|
+
'value',
|
|
17264
|
+
'q1',
|
|
17265
|
+
'q3',
|
|
17266
|
+
'min',
|
|
17267
|
+
'max',
|
|
17268
|
+
'median',
|
|
17269
|
+
'outliers',
|
|
17270
|
+
'x0',
|
|
17271
|
+
'x1'
|
|
17122
17272
|
]).optional(),
|
|
17123
17273
|
parentId: schemas_string().optional()
|
|
17124
17274
|
});
|
|
@@ -18676,6 +18826,8 @@
|
|
|
18676
18826
|
datasetReshapeInfo: zDatasetReshapeInfo,
|
|
18677
18827
|
dimensions: zDimensionTree,
|
|
18678
18828
|
measures: zMeasureTree,
|
|
18829
|
+
reshapeMeasures: zMeasureTree.optional(),
|
|
18830
|
+
reshapeDimensions: zDimensionTree.optional(),
|
|
18679
18831
|
encoding: zEncoding,
|
|
18680
18832
|
config: zConfig,
|
|
18681
18833
|
analysis: zAnalysis,
|