You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by sh...@apache.org on 2021/07/11 03:04:53 UTC
[echarts] branch dataset-perf updated: refact: optimize
createDimensions. update test
This is an automated email from the ASF dual-hosted git repository.
shenyi pushed a commit to branch dataset-perf
in repository https://gitbox.apache.org/repos/asf/echarts.git
The following commit(s) were added to refs/heads/dataset-perf by this push:
new 1d4be90 refact: optimize createDimensions. update test
1d4be90 is described below
commit 1d4be90519ecaecb2d8ede87ab2c03582175afeb
Author: pissang <bm...@gmail.com>
AuthorDate: Sat Jul 10 22:06:49 2021 +0800
refact: optimize createDimensions. update test
---
src/chart/helper/createSeriesDataFromArray.ts | 6 +-
src/data/SeriesData.ts | 20 +-
src/data/helper/completeDimensions.ts | 34 ++--
src/data/helper/createDimensions.ts | 17 +-
test/ut/spec/data/SeriesData.test.ts | 26 +--
...Dimensions.test.ts => createDimensions.test.ts} | 226 +++++++++++----------
6 files changed, 168 insertions(+), 161 deletions(-)
diff --git a/src/chart/helper/createSeriesDataFromArray.ts b/src/chart/helper/createSeriesDataFromArray.ts
index 6c2ed4a..73cb7b1 100644
--- a/src/chart/helper/createSeriesDataFromArray.ts
+++ b/src/chart/helper/createSeriesDataFromArray.ts
@@ -147,12 +147,12 @@ function isNeedCompleteOrdinalData(source: Source) {
}
}
-function firstDataNotNull(data: ArrayLike<any>) {
+function firstDataNotNull(arr: ArrayLike<any>) {
let i = 0;
- while (i < data.length && data[i] == null) {
+ while (i < arr.length && arr[i] == null) {
i++;
}
- return data[i];
+ return arr[i];
}
export default createListFromArray;
diff --git a/src/data/SeriesData.ts b/src/data/SeriesData.ts
index 51d34fb..3a28396 100644
--- a/src/data/SeriesData.ts
+++ b/src/data/SeriesData.ts
@@ -27,7 +27,7 @@ import * as zrUtil from 'zrender/src/core/util';
import {PathStyleProps} from 'zrender/src/graphic/Path';
import Model from '../model/Model';
import DataDiffer from './DataDiffer';
-import {DefaultDataProvider} from './helper/dataProvider';
+import {DataProvider, DefaultDataProvider} from './helper/dataProvider';
import {summarizeDimensions, DimensionSummary} from './helper/dimensionHelper';
import DataDimensionInfo from './DataDimensionInfo';
import {ArrayLike, Dictionary, FunctionPropertyNames} from 'zrender/src/core/types';
@@ -389,20 +389,22 @@ class SeriesData<
* or provided in nameList from outside.
*/
initData(
- data: Source | OptionSourceData | DataStorage,
+ data: Source | OptionSourceData | DataStorage | DataProvider,
nameList?: string[],
dimValueGetter?: DimValueGetter
): void {
- const isRaw = isSourceInstance(data) || zrUtil.isArrayLike(data);
let store: DataStorage;
- if (isRaw) {
- const provider = new DefaultDataProvider(data as Source | OptionSourceData, this.dimensions.length);
- const dimensionInfos = map(this.dimensions, dimName => this._dimensionInfos[dimName]);
- store = new DataStorage();
- store.initData(provider, dimensionInfos, dimValueGetter);
+ if (data instanceof DataStorage) {
+ store = data;
}
else {
- store = data as DataStorage;
+ const dimensions = this.dimensions;
+ const provider = (isSourceInstance(data) || zrUtil.isArrayLike(data))
+ ? new DefaultDataProvider(data as Source | OptionSourceData, dimensions.length)
+ : data as DataProvider;
+ const dimensionInfos = map(dimensions, dimName => this._dimensionInfos[dimName]);
+ store = new DataStorage();
+ store.initData(provider, dimensionInfos, dimValueGetter);
}
this._store = store;
diff --git a/src/data/helper/completeDimensions.ts b/src/data/helper/completeDimensions.ts
index af72139..99072e8 100644
--- a/src/data/helper/completeDimensions.ts
+++ b/src/data/helper/completeDimensions.ts
@@ -22,18 +22,21 @@
* Use `echarts/data/helper/createDimensions` instead.
*/
-import {createHashMap, each, isString, defaults, extend, isObject, clone, HashMap} from 'zrender/src/core/util';
+import {createHashMap, each, isString, defaults, isObject, clone, HashMap, extend} from 'zrender/src/core/util';
import {normalizeToArray} from '../../util/model';
-import {guessOrdinal, BE_ORDINAL} from './sourceHelper';
-import { createSourceFromSeriesDataOption, isSourceInstance, Source } from '../Source';
+import { Source } from '../Source';
import {
- VISUAL_DIMENSIONS, DimensionDefinitionLoose, OptionSourceData,
- EncodeDefaulter, OptionEncodeValue, OptionEncode, DimensionName, DimensionIndex, DataVisualDimensions
+ VISUAL_DIMENSIONS, DimensionDefinitionLoose,
+ EncodeDefaulter,
+ OptionEncodeValue,
+ OptionEncode,
+ DimensionName,
+ DimensionIndex,
+ DataVisualDimensions
} from '../../util/types';
import DataDimensionInfo from '../DataDimensionInfo';
-import SeriesData from '../SeriesData';
import { CoordDimensionDefinition, CoordDimensionDefinitionLoose } from './createDimensions';
-import DataStorage from '../DataStorage';
+import { BE_ORDINAL, guessOrdinal } from './sourceHelper';
/**
@@ -77,7 +80,7 @@ import DataStorage from '../DataStorage';
*/
function completeDimensions(
sysDims: CoordDimensionDefinitionLoose[],
- source: Source | SeriesData | OptionSourceData | DataStorage,
+ source: Source,
opt: {
dimsDef?: DimensionDefinitionLoose[];
encodeDef?: HashMap<OptionEncodeValue, DimensionName> | OptionEncode;
@@ -87,20 +90,10 @@ function completeDimensions(
generateCoordCount?: number;
}
): DataDimensionInfo[] {
- if (source instanceof DataStorage) {
- source = source.getSource();
- }
- else if (source instanceof SeriesData) {
- source = source.getStore().getSource();
- }
-
- if (!isSourceInstance(source)) {
- source = createSourceFromSeriesDataOption(source as OptionSourceData);
- }
opt = opt || {};
sysDims = (sysDims || []).slice();
- const dimsDef = (opt.dimsDef || []).slice();
+ const dimsDef = (opt.dimsDef || source.dimensionsDefine || []).slice();
const dataDimNameMap = createHashMap<DimensionIndex, DimensionName>();
const coordDimNameMap = createHashMap<true, DimensionName>();
// let valueCandidate;
@@ -114,6 +107,7 @@ function completeDimensions(
const dimDefItem = dimsDef[i] = extend(
{}, isObject(dimDefItemRaw) ? dimDefItemRaw : { name: dimDefItemRaw }
);
+
const userDimName = dimDefItem.name;
const resultItem = result[i] = new DataDimensionInfo();
// Name will be applied later for avoiding duplication.
@@ -128,7 +122,7 @@ function completeDimensions(
dimDefItem.displayName != null && (resultItem.displayName = dimDefItem.displayName);
}
- let encodeDef = opt.encodeDef;
+ let encodeDef = opt.encodeDef || source.encodeDefine;
if (!encodeDef && opt.encodeDefaulter) {
encodeDef = opt.encodeDefaulter(source, dimCount);
}
diff --git a/src/data/helper/createDimensions.ts b/src/data/helper/createDimensions.ts
index 22cfee6..d3f65b3 100644
--- a/src/data/helper/createDimensions.ts
+++ b/src/data/helper/createDimensions.ts
@@ -30,7 +30,7 @@ import SeriesData from '../SeriesData';
import DataDimensionInfo from '../DataDimensionInfo';
import { HashMap } from 'zrender/src/core/util';
import OrdinalMeta from '../OrdinalMeta';
-import { Source } from '../Source';
+import { createSourceFromSeriesDataOption, isSourceInstance, Source } from '../Source';
import DataStorage from '../DataStorage';
@@ -55,6 +55,7 @@ export type CreateDimensionsParams = {
/**
* @param opt.coordDimensions
+ * @param opt.dimensionsCount
* @param opt.dimensionsDefine By default `source.dimensionsDefine` Overwrite source define.
* @param opt.encodeDefine By default `source.encodeDefine` Overwrite source define.
* @param opt.encodeDefaulter Make default encode if user not specified.
@@ -64,11 +65,21 @@ export default function createDimensions(
source: Source | SeriesData | OptionSourceData | DataStorage,
opt?: CreateDimensionsParams
): DataDimensionInfo[] {
+ if (source instanceof DataStorage) {
+ source = source.getSource();
+ }
+ else if (source instanceof SeriesData) {
+ source = source.getStore().getSource();
+ }
+ else if (!isSourceInstance(source)) {
+ source = createSourceFromSeriesDataOption(source as OptionSourceData);
+ }
+
opt = opt || {};
return completeDimensions(opt.coordDimensions || [], source, {
// FIXME:TS detect whether source then call `.dimensionsDefine` and `.encodeDefine`?
- dimsDef: opt.dimensionsDefine || (source as Source).dimensionsDefine,
- encodeDef: opt.encodeDefine || (source as Source).encodeDefine,
+ dimsDef: opt.dimensionsDefine,
+ encodeDef: opt.encodeDefine,
dimCount: opt.dimensionsCount,
encodeDefaulter: opt.encodeDefaulter,
generateCoord: opt.generateCoord,
diff --git a/test/ut/spec/data/SeriesData.test.ts b/test/ut/spec/data/SeriesData.test.ts
index 6442cf3..faef46d 100644
--- a/test/ut/spec/data/SeriesData.test.ts
+++ b/test/ut/spec/data/SeriesData.test.ts
@@ -381,16 +381,11 @@ describe('List', function () {
oneByOne.nameEqualsTo('b');
oneByOne.nameEqualsTo('');
- list.appendValues(
+ list.appendData(
[
- [300],
- [310],
- [320]
- ],
- [
- 'b',
- 'c',
- null
+ { name: 'b', value: 300 },
+ { name: 'c', value: 310 },
+ { name: null, value: 320}
]
);
@@ -535,16 +530,11 @@ describe('List', function () {
checker.checkAfterAppendData();
- list.appendValues(
- [
- [300],
- [310],
- [320]
- ],
+ list.appendData(
[
- 'b',
- 'c',
- null
+ { name: 'b', value: 300 },
+ { name: 'c', value: 310 },
+ { name: null, value: 320}
]
);
diff --git a/test/ut/spec/data/completeDimensions.test.ts b/test/ut/spec/data/createDimensions.test.ts
similarity index 79%
rename from test/ut/spec/data/completeDimensions.test.ts
rename to test/ut/spec/data/createDimensions.test.ts
index 24efc4b..6ae72dc 100644
--- a/test/ut/spec/data/completeDimensions.test.ts
+++ b/test/ut/spec/data/createDimensions.test.ts
@@ -18,20 +18,20 @@
*/
-import completeDimensions from '../../../../src/data/helper/completeDimensions';
+import DataDimensionInfo from '../../../../src/data/DataDimensionInfo';
+import createDimensions from '../../../../src/data/helper/createDimensions';
import { createSource } from '../../../../src/data/Source';
import { SOURCE_FORMAT_ARRAY_ROWS, SERIES_LAYOUT_BY_COLUMN } from '../../../../src/util/types';
-type ParametersOfCompleteDimensions = Parameters<typeof completeDimensions>;
+type ParametersOfCreateDimensions = Parameters<typeof createDimensions>;
-describe('completeDimensions', function () {
+describe('createDimensions', function () {
- function doCompleteDimensions(
- sysDims: ParametersOfCompleteDimensions[0],
- data: ParametersOfCompleteDimensions[1],
- opt: ParametersOfCompleteDimensions[2]
+ function doCreateDimensions(
+ source: ParametersOfCreateDimensions[0],
+ opt: ParametersOfCreateDimensions[1]
) {
- const result = completeDimensions(sysDims, data, opt);
+ const result = createDimensions(source, opt);
if (result) {
for (let i = 0; i < result.length; i++) {
const item = result[i];
@@ -82,7 +82,8 @@ describe('completeDimensions', function () {
);
const opt = {
- 'dimsDef': [
+ 'coordDimensions': sysDims,
+ 'dimensionsDefine': [
{
'name': 'date',
'displayName': 'date'
@@ -128,7 +129,7 @@ describe('completeDimensions', function () {
'displayName': 'sma9'
}
],
- 'encodeDef': {
+ 'encodeDefine': {
'x': 'date',
'y': [
'haOpen',
@@ -143,10 +144,10 @@ describe('completeDimensions', function () {
'close'
]
},
- 'dimCount': 5
+ 'dimensionsCount': 5
};
- const result: unknown = [
+ const result: DataDimensionInfo[] = [
{
'otherDims': {
'tooltip': false,
@@ -156,8 +157,7 @@ describe('completeDimensions', function () {
'name': 'date',
'coordDim': 'x',
'coordDimIndex': 0,
- 'type': 'ordinal',
- 'ordinalMeta': undefined
+ 'type': 'ordinal'
},
{
'otherDims': {
@@ -213,8 +213,7 @@ describe('completeDimensions', function () {
'name': 'haOpen',
'coordDim': 'y',
'coordDimIndex': 0,
- 'type': 'float',
- 'ordinalMeta': undefined
+ 'type': 'float'
},
{
'otherDims': {},
@@ -222,8 +221,7 @@ describe('completeDimensions', function () {
'name': 'haHigh',
'coordDim': 'y',
'coordDimIndex': 3,
- 'type': 'float',
- 'ordinalMeta': undefined
+ 'type': 'float'
},
{
'otherDims': {},
@@ -231,8 +229,7 @@ describe('completeDimensions', function () {
'name': 'haLow',
'coordDim': 'y',
'coordDimIndex': 2,
- 'type': 'float',
- 'ordinalMeta': undefined
+ 'type': 'float'
},
{
'otherDims': {},
@@ -240,8 +237,7 @@ describe('completeDimensions', function () {
'name': 'haClose',
'coordDim': 'y',
'coordDimIndex': 1,
- 'type': 'float',
- 'ordinalMeta': undefined
+ 'type': 'float'
},
{
'otherDims': {},
@@ -253,22 +249,21 @@ describe('completeDimensions', function () {
}
];
- expect(doCompleteDimensions(sysDims, source, opt)).toEqual(result);
+ expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new DataDimensionInfo(a)));
});
it('differentData', function () {
function doTest(
- sysDims: ParametersOfCompleteDimensions[0],
- data: ParametersOfCompleteDimensions[1],
- opt: ParametersOfCompleteDimensions[2],
- result: unknown
+ source: ParametersOfCreateDimensions[0],
+ opt: ParametersOfCreateDimensions[1],
+ result: DataDimensionInfo[]
) {
- expect(doCompleteDimensions(sysDims, data, opt)).toEqual(result);
+ expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new DataDimensionInfo(a)));
}
// test dimcount
- doTest(['x', 'y'], [], null, [
+ doTest([], { coordDimensions: ['x', 'y']}, [
{
'otherDims': {},
'coordDim': 'x',
@@ -283,7 +278,7 @@ describe('completeDimensions', function () {
}
]);
- doTest(['x', 'y'], [12], null, [
+ doTest([12], { coordDimensions: ['x', 'y']}, [
{
'otherDims': {},
'coordDim': 'x',
@@ -298,7 +293,7 @@ describe('completeDimensions', function () {
}
]);
- doTest(['x', 'y'], [12, 4], null, [
+ doTest([12, 4], { coordDimensions: ['x', 'y']}, [
{
'otherDims': {},
'coordDim': 'x',
@@ -313,7 +308,7 @@ describe('completeDimensions', function () {
}
]);
- doTest(['x'], [[32, 55]], null, [
+ doTest([[32, 55]], { coordDimensions: ['x']}, [
{
'otherDims': {},
'coordDim': 'x',
@@ -322,7 +317,7 @@ describe('completeDimensions', function () {
}
]);
- doTest(['x', 'y', 'z'], [[32, 55]], null, [
+ doTest([[32, 55]], { coordDimensions: ['x', 'y', 'z']}, [
{
'otherDims': {},
'coordDim': 'x',
@@ -343,7 +338,7 @@ describe('completeDimensions', function () {
}
]);
- doTest(['x'], [[32, 55], [99, 11]], null, [
+ doTest([[32, 55], [99, 11]], { coordDimensions: ['x']}, [
{
'otherDims': {},
'coordDim': 'x',
@@ -352,7 +347,10 @@ describe('completeDimensions', function () {
}
]);
- doTest(['x', 'y'], [[32, 55], [99, 11]], {dimCount: 4}, [
+ doTest([[32, 55], [99, 11]], {
+ dimensionsCount: 4,
+ coordDimensions: ['x', 'y']
+ }, [
{
'otherDims': {},
'coordDim': 'x',
@@ -391,12 +389,11 @@ describe('completeDimensions', function () {
it('differentSysDims', function () {
function doTest(
- sysDims: ParametersOfCompleteDimensions[0],
- data: ParametersOfCompleteDimensions[1],
- opt: ParametersOfCompleteDimensions[2],
- result: unknown
+ source: ParametersOfCreateDimensions[0],
+ opt: ParametersOfCreateDimensions[1],
+ result: DataDimensionInfo[]
) {
- expect(doCompleteDimensions(sysDims, data, opt)).toEqual(result);
+ expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new DataDimensionInfo(a)));
}
const data = [
@@ -405,7 +402,7 @@ describe('completeDimensions', function () {
];
doTest(
- ['x', 'y'], data, null,
+ data, { coordDimensions: ['x', 'y'] },
[
{
'otherDims': {},
@@ -424,7 +421,7 @@ describe('completeDimensions', function () {
);
doTest(
- ['value'], data, null,
+ data, { coordDimensions: ['value'] },
[
{
'otherDims': {},
@@ -437,9 +434,8 @@ describe('completeDimensions', function () {
);
doTest(
- [{name: 'time', type: 'time' as const}, 'value'],
data,
- null,
+ { coordDimensions: [{name: 'time', type: 'time' as const}, 'value'] },
[
{
'otherDims': {},
@@ -459,16 +455,18 @@ describe('completeDimensions', function () {
);
doTest(
- [{
- name: 'y',
- otherDims: {
- tooltip: false
- },
- dimsDef: ['base']
- }, {
- name: 'x',
- dimsDef: ['open', 'close']
- }], data, {},
+ data, {
+ coordDimensions: [{
+ name: 'y',
+ otherDims: {
+ tooltip: false
+ },
+ dimsDef: ['base']
+ }, {
+ name: 'x',
+ dimsDef: ['open', 'close']
+ }]
+ },
[
{
'otherDims': {
@@ -495,18 +493,19 @@ describe('completeDimensions', function () {
);
doTest(
- [{
- name: 'y',
- otherDims: {
- tooltip: false
- },
- dimsDef: ['base']
- }, {
- name: 'x',
- dimsDef: ['open', 'close']
- }], data, {
- dimsDef: ['基础', '打开', '关闭'],
- encodeDef: {
+ data, {
+ dimensionsDefine: ['基础', '打开', '关闭'],
+ coordDimensions: [{
+ name: 'y',
+ otherDims: {
+ tooltip: false
+ },
+ dimsDef: ['base']
+ }, {
+ name: 'x',
+ dimsDef: ['open', 'close']
+ }],
+ encodeDefine: {
tooltip: [1, 2, 0]
}
},
@@ -546,18 +545,19 @@ describe('completeDimensions', function () {
);
doTest(
- [{
- name: 'y',
- otherDims: {
- tooltip: false
- },
- dimsDef: ['base']
- }, {
- name: 'x',
- dimsDef: ['open', 'close']
- }], data, {
- dimsDef: ['基础', null, '关闭'],
- encodeDef: {
+ data, {
+ coordDimensions: [{
+ name: 'y',
+ otherDims: {
+ tooltip: false
+ },
+ dimsDef: ['base']
+ }, {
+ name: 'x',
+ dimsDef: ['open', 'close']
+ }],
+ dimensionsDefine: ['基础', null, '关闭'],
+ encodeDefine: {
x: [0, 4]
}
},
@@ -605,18 +605,20 @@ describe('completeDimensions', function () {
it('dimsDef', function () {
function doTest(
- sysDims: ParametersOfCompleteDimensions[0],
- data: ParametersOfCompleteDimensions[1],
- opt: ParametersOfCompleteDimensions[2],
- result: unknown
+ source: ParametersOfCreateDimensions[0],
+ opt: ParametersOfCreateDimensions[1],
+ result: DataDimensionInfo[]
) {
- expect(doCompleteDimensions(sysDims, data, opt)).toEqual(result);
+ expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new DataDimensionInfo(a)));
}
const data = [['iw', 332, 4434, 323, 59], ['vrr', 44, 11, 144, 55]];
doTest(
- ['x', 'y', 'value'], data,
- {dimsDef: ['挨克思', null, '歪溜']},
+ data,
+ {
+ dimensionsDefine: ['挨克思', null, '歪溜'],
+ coordDimensions: ['x', 'y', 'value']
+ },
[
{
'otherDims': {},
@@ -643,8 +645,11 @@ describe('completeDimensions', function () {
);
doTest(
- ['x', 'y', 'value'], data,
- {dimsDef: ['挨克思', null, {type: 'ordinal' as const}]}, // no name but only type
+ data,
+ {
+ dimensionsDefine: ['挨克思', null, {type: 'ordinal' as const}],
+ coordDimensions: ['x', 'y', 'value']
+ }, // no name but only type
[
{
'otherDims': {},
@@ -671,8 +676,11 @@ describe('completeDimensions', function () {
);
doTest(
- [{name: 'time', type: 'time' as const}, 'value'], data,
- {dimsDef: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}]},
+ data,
+ {
+ dimensionsDefine: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}],
+ coordDimensions: [{name: 'time', type: 'time' as const}, 'value']
+ },
[
{
'otherDims': {},
@@ -705,20 +713,19 @@ describe('completeDimensions', function () {
it('encodeDef', function () {
function doTest(
- sysDims: ParametersOfCompleteDimensions[0],
- data: ParametersOfCompleteDimensions[1],
- opt: ParametersOfCompleteDimensions[2],
- result: unknown
+ source: ParametersOfCreateDimensions[0],
+ opt: ParametersOfCreateDimensions[1],
+ result: DataDimensionInfo[]
) {
- expect(doCompleteDimensions(sysDims, data, opt)).toEqual(result);
+ expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new DataDimensionInfo(a)));
}
const data = [['iw', 332, 4434, 323, 'd8', 59], ['vrr', 44, 11, 144, '-', 55]];
doTest(
- null, data,
+ data,
{
- encodeDef: {
+ encodeDefine: {
x: 2,
y: [1, 4],
tooltip: 2,
@@ -738,10 +745,10 @@ describe('completeDimensions', function () {
);
doTest(
- null, data,
+ data,
{
- dimsDef: ['挨克思', null, '歪溜'],
- encodeDef: {
+ dimensionsDefine: ['挨克思', null, '歪溜'],
+ encodeDefine: {
x: 2,
y: [1, 4],
tooltip: 2,
@@ -777,10 +784,11 @@ describe('completeDimensions', function () {
);
doTest(
- ['x', {name: 'y', type: 'time' as const}, 'z'], data,
+ data,
{
- dimsDef: ['挨克思', null, '歪溜'],
- encodeDef: {
+ dimensionsDefine: ['挨克思', null, '歪溜'],
+ coordDimensions: ['x', {name: 'y', type: 'time' as const}, 'z'],
+ encodeDefine: {
x: 2,
y: [1, 4],
tooltip: 2,
@@ -817,11 +825,12 @@ describe('completeDimensions', function () {
);
doTest(
- [{name: 'time', type: 'time' as const}, 'value'], data,
+ data,
{
// dimsDef type 'ordinal' has higher priority then sysDims type 'time'.
- dimsDef: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}],
- encodeDef: {
+ dimensionsDefine: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}],
+ coordDimensions: [{name: 'time', type: 'time' as const}, 'value'],
+ encodeDefine: {
tooltip: 2
}
},
@@ -847,11 +856,12 @@ describe('completeDimensions', function () {
);
doTest(
- [{name: 'time', type: 'time' as const}, 'value'], data,
+ data,
{
// dimsDef type 'ordinal' has higher priority then sysDims type 'time'.
- dimsDef: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}],
- encodeDef: {
+ dimensionsDefine: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}],
+ coordDimensions: [{name: 'time', type: 'time' as const}, 'value'],
+ encodeDefine: {
tooltip: 2
}
},
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org