@tsingroc/tsingroc-components 4.4.0 → 4.5.0
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/components/StrictECharts.d.ts +47 -1
- package/dist/echarts/{coordinateSystem.d.ts → coordinateSystems/grid.d.ts} +1 -1
- package/dist/echarts/{coordinateSystem.js → coordinateSystems/grid.js} +1 -1
- package/dist/echarts/coordinateSystems/grid.js.map +1 -0
- package/dist/echarts/coordinateSystems/index.d.ts +2 -0
- package/dist/echarts/coordinateSystems/index.js +3 -0
- package/dist/echarts/coordinateSystems/index.js.map +1 -0
- package/dist/echarts/coordinateSystems/polar.d.ts +41 -0
- package/dist/echarts/coordinateSystems/polar.js +92 -0
- package/dist/echarts/coordinateSystems/polar.js.map +1 -0
- package/dist/echarts/index.d.ts +6 -2
- package/dist/echarts/index.js +1 -1
- package/dist/echarts/index.js.map +1 -1
- package/dist/echarts/series/barSeries.d.ts +23 -0
- package/dist/echarts/series/barSeries.js +14 -0
- package/dist/echarts/series/barSeries.js.map +1 -0
- package/dist/echarts/series/boxplotSeries.d.ts +21 -0
- package/dist/echarts/series/boxplotSeries.js +36 -0
- package/dist/echarts/series/boxplotSeries.js.map +1 -0
- package/dist/echarts/series/index.d.ts +7 -0
- package/dist/echarts/series/index.js +8 -0
- package/dist/echarts/series/index.js.map +1 -0
- package/dist/echarts/series/intervalSeries.d.ts +32 -0
- package/dist/echarts/series/intervalSeries.js +38 -0
- package/dist/echarts/series/intervalSeries.js.map +1 -0
- package/dist/echarts/series/lineSeries.d.ts +36 -0
- package/dist/echarts/series/lineSeries.js +43 -0
- package/dist/echarts/series/lineSeries.js.map +1 -0
- package/dist/echarts/series/maxBarSeries.d.ts +18 -0
- package/dist/echarts/series/maxBarSeries.js +32 -0
- package/dist/echarts/series/maxBarSeries.js.map +1 -0
- package/dist/echarts/series/pieSeries.d.ts +31 -0
- package/dist/echarts/series/pieSeries.js +39 -0
- package/dist/echarts/series/pieSeries.js.map +1 -0
- package/dist/echarts/series/windLineSeries.d.ts +47 -0
- package/dist/echarts/series/windLineSeries.js +54 -0
- package/dist/echarts/series/windLineSeries.js.map +1 -0
- package/package.json +3 -2
- package/src/echarts/{coordinateSystem.ts → coordinateSystems/grid.ts} +1 -1
- package/src/echarts/coordinateSystems/index.ts +2 -0
- package/src/echarts/coordinateSystems/polar.ts +139 -0
- package/src/echarts/index.ts +9 -1
- package/src/echarts/series/barSeries.ts +37 -0
- package/src/echarts/series/boxplotSeries.ts +62 -0
- package/src/echarts/series/index.ts +7 -0
- package/src/echarts/series/intervalSeries.ts +70 -0
- package/src/echarts/series/lineSeries.ts +78 -0
- package/src/echarts/series/maxBarSeries.ts +55 -0
- package/src/echarts/series/pieSeries.ts +76 -0
- package/src/echarts/series/windLineSeries.ts +108 -0
- package/dist/echarts/coordinateSystem.js.map +0 -1
- package/dist/echarts/series.d.ts +0 -175
- package/dist/echarts/series.js +0 -237
- package/dist/echarts/series.js.map +0 -1
- package/src/echarts/series.ts +0 -441
|
@@ -1 +1,47 @@
|
|
|
1
|
-
|
|
1
|
+
import type { ECharts, EChartsOption, init } from "echarts";
|
|
2
|
+
import type { EChartsReactProps as OrigEChartsReactProps } from "echarts-for-react/lib/types";
|
|
3
|
+
import type {
|
|
4
|
+
ECElementEvent,
|
|
5
|
+
ZRElementEventName,
|
|
6
|
+
} from "echarts/types/src/util/types.js";
|
|
7
|
+
import type { PureComponent } from "react";
|
|
8
|
+
|
|
9
|
+
export declare type ECEventDefinition = {
|
|
10
|
+
[K in ZRElementEventName]: (params: ECElementEvent) => boolean | undefined;
|
|
11
|
+
} & {
|
|
12
|
+
rendered: (params: { elapsedTime: number }) => boolean | undefined;
|
|
13
|
+
finished: () => boolean | undefined;
|
|
14
|
+
} & {
|
|
15
|
+
[key: string]: (...args: unknown[]) => boolean | undefined;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export declare type EChartsInitOpts = typeof init extends (
|
|
19
|
+
dom?: infer _,
|
|
20
|
+
theme?: infer _,
|
|
21
|
+
opts?: infer Opts,
|
|
22
|
+
) => unknown
|
|
23
|
+
? Opts
|
|
24
|
+
: never;
|
|
25
|
+
|
|
26
|
+
export declare interface StrictEChartsProps
|
|
27
|
+
extends Omit<OrigEChartsReactProps, "opts" | "shouldSetOption"> {
|
|
28
|
+
readonly option: EChartsOption;
|
|
29
|
+
readonly onEvents?: ECEventDefinition;
|
|
30
|
+
readonly onChartReady?: (instance: ECharts) => void;
|
|
31
|
+
readonly opts?: EChartsInitOpts;
|
|
32
|
+
readonly shouldSetOption?: (
|
|
33
|
+
prevProps: StrictEChartsProps,
|
|
34
|
+
props: StrictEChartsProps,
|
|
35
|
+
) => boolean;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* 类型更加严格的 `EChartsReact`,在运行时只是 `EChartsReact` 的别名。
|
|
40
|
+
*/
|
|
41
|
+
declare class StrictECharts extends PureComponent<StrictEChartsProps> {
|
|
42
|
+
constructor(props: StrictEChartsProps);
|
|
43
|
+
ele: HTMLElement;
|
|
44
|
+
getEchartsInstance(): ECharts;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export default StrictECharts;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BarSeriesOption, BoxplotSeriesOption, FlowGLSeriesOption, GridComponentOption, LineSeriesOption, XAXisComponentOption, YAXisComponentOption } from "echarts";
|
|
2
|
-
import type { EChartsComponent, EChartsSeries } from "
|
|
2
|
+
import type { EChartsComponent, EChartsSeries } from "..";
|
|
3
3
|
export type GridPreset = (grid: GridComponentOption, xAxis: XAXisComponentOption, yAxis: YAXisComponentOption) => void;
|
|
4
4
|
export interface GridOption {
|
|
5
5
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../src/echarts/coordinateSystems/grid.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/echarts/coordinateSystems/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { AngleAxisComponentOption, BarSeriesOption, LineSeriesOption, PolarComponentOption, RadiusAxisComponentOption } from "echarts";
|
|
2
|
+
import type { EChartsComponent, EChartsSeries } from "..";
|
|
3
|
+
export type PolarPreset = (polar: PolarComponentOption, angleAxis: AngleAxisComponentOption, radiusAxis: RadiusAxisComponentOption) => void;
|
|
4
|
+
export interface PolarOption {
|
|
5
|
+
/**
|
|
6
|
+
* 极坐标系的其它设置,参见 [ECharts 文档][1]。
|
|
7
|
+
*
|
|
8
|
+
* [1]: https://echarts.apache.org/zh/option.html#polar
|
|
9
|
+
*/
|
|
10
|
+
option?: PolarComponentOption;
|
|
11
|
+
/**
|
|
12
|
+
* 角度轴的设置,参见 [ECharts 文档][1]。
|
|
13
|
+
*
|
|
14
|
+
* [1]: https://echarts.apache.org/zh/option.html#angleAxis
|
|
15
|
+
*/
|
|
16
|
+
angleAxis?: AngleAxisComponentOption;
|
|
17
|
+
/**
|
|
18
|
+
* 半径轴的设置,参见 [ECharts 文档][1]。
|
|
19
|
+
*
|
|
20
|
+
* [1]: https://echarts.apache.org/zh/option.html#radiusAxis
|
|
21
|
+
*/
|
|
22
|
+
radiusAxis?: RadiusAxisComponentOption;
|
|
23
|
+
/**
|
|
24
|
+
* 预设列表。预设的优先级**高于**上述设置。
|
|
25
|
+
*
|
|
26
|
+
* 可用的预设:{@linkcode minimalGrid}
|
|
27
|
+
*/
|
|
28
|
+
presets?: PolarPreset[];
|
|
29
|
+
/** 要绘制在该坐标系上的系列。*/
|
|
30
|
+
series?: EChartsSeries<LineSeriesOption | BarSeriesOption>[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 添加一个极坐标系。角度轴和半径轴的数据类型默认值与 ECharts 原版一致。
|
|
34
|
+
*
|
|
35
|
+
* **注意**:该组件是一个 React hook,需要遵守正常使用 hook 的准则。
|
|
36
|
+
*/
|
|
37
|
+
export declare function usePolar(option: PolarOption): EChartsComponent;
|
|
38
|
+
/**
|
|
39
|
+
* 使用该预设可以将极坐标系的角度轴设置为 16 个风向,风向从正北开始,按顺时针方向排列。
|
|
40
|
+
*/
|
|
41
|
+
export declare function windPolar(): PolarPreset;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { useId } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* 添加一个极坐标系。角度轴和半径轴的数据类型默认值与 ECharts 原版一致。
|
|
4
|
+
*
|
|
5
|
+
* **注意**:该组件是一个 React hook,需要遵守正常使用 hook 的准则。
|
|
6
|
+
*/
|
|
7
|
+
export function usePolar(option) {
|
|
8
|
+
const polar = {
|
|
9
|
+
id: useId(),
|
|
10
|
+
...option.option,
|
|
11
|
+
};
|
|
12
|
+
const polarId = polar.id;
|
|
13
|
+
const angleAxis = {
|
|
14
|
+
id: polarId + "angle",
|
|
15
|
+
polarId,
|
|
16
|
+
...option.angleAxis,
|
|
17
|
+
axisLabel: {
|
|
18
|
+
margin: 3,
|
|
19
|
+
fontSize: 10,
|
|
20
|
+
...option.angleAxis?.axisLabel,
|
|
21
|
+
},
|
|
22
|
+
axisLine: {
|
|
23
|
+
show: false,
|
|
24
|
+
...option.angleAxis?.axisLine,
|
|
25
|
+
},
|
|
26
|
+
splitLine: {
|
|
27
|
+
show: true,
|
|
28
|
+
...option.angleAxis?.splitLine,
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
const angleAxisId = angleAxis.id;
|
|
32
|
+
const radiusAxis = {
|
|
33
|
+
id: polarId + "radius",
|
|
34
|
+
type: option.radiusAxis?.type ?? "value",
|
|
35
|
+
polarId,
|
|
36
|
+
...option.radiusAxis,
|
|
37
|
+
axisLine: {
|
|
38
|
+
show: false,
|
|
39
|
+
...option.radiusAxis?.axisLine,
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
const radiusAxisId = radiusAxis.id;
|
|
43
|
+
option.presets?.forEach((preset) => preset(polar, angleAxis, radiusAxis));
|
|
44
|
+
return {
|
|
45
|
+
polar: [polar],
|
|
46
|
+
angleAxis: [angleAxis],
|
|
47
|
+
radiusAxis: [radiusAxis],
|
|
48
|
+
series: option.series
|
|
49
|
+
?.flatMap((item) => item.series)
|
|
50
|
+
.map((series) => ({
|
|
51
|
+
...series,
|
|
52
|
+
coordinateSystem: "polar",
|
|
53
|
+
angleAxisId,
|
|
54
|
+
radiusAxisId,
|
|
55
|
+
})),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
const WIND_POLAR = (_, angleAxis, radiusAxis) => {
|
|
59
|
+
angleAxis.type = "category";
|
|
60
|
+
angleAxis.data =
|
|
61
|
+
WIND_DIRECTION_NAMES;
|
|
62
|
+
angleAxis.startAngle = 101.25;
|
|
63
|
+
radiusAxis.axisLabel = {
|
|
64
|
+
...radiusAxis.axisLabel,
|
|
65
|
+
verticalAlign: "top",
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* 使用该预设可以将极坐标系的角度轴设置为 16 个风向,风向从正北开始,按顺时针方向排列。
|
|
70
|
+
*/
|
|
71
|
+
export function windPolar() {
|
|
72
|
+
return WIND_POLAR;
|
|
73
|
+
}
|
|
74
|
+
const WIND_DIRECTION_NAMES = [
|
|
75
|
+
"N",
|
|
76
|
+
"NNE",
|
|
77
|
+
"NE",
|
|
78
|
+
"ENE",
|
|
79
|
+
"E",
|
|
80
|
+
"ESE",
|
|
81
|
+
"SE",
|
|
82
|
+
"SSE",
|
|
83
|
+
"S",
|
|
84
|
+
"SSW",
|
|
85
|
+
"SW",
|
|
86
|
+
"WSW",
|
|
87
|
+
"W",
|
|
88
|
+
"WNW",
|
|
89
|
+
"NW",
|
|
90
|
+
"NNW",
|
|
91
|
+
];
|
|
92
|
+
//# sourceMappingURL=polar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polar.js","sourceRoot":"","sources":["../../../src/echarts/coordinateSystems/polar.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAuC9B;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAmB;IAC1C,MAAM,KAAK,GAAyB;QAClC,EAAE,EAAE,KAAK,EAAE;QACX,GAAG,MAAM,CAAC,MAAM;KACjB,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,EAAY,CAAC;IACnC,MAAM,SAAS,GAA6B;QAC1C,EAAE,EAAE,OAAO,GAAG,OAAO;QACrB,OAAO;QACP,GAAG,MAAM,CAAC,SAAS;QACnB,SAAS,EAAE;YACT,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,EAAE;YACZ,GAAG,MAAM,CAAC,SAAS,EAAE,SAAS;SAC/B;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK;YACX,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ;SAC9B;QACD,SAAS,EAAE;YACT,IAAI,EAAE,IAAI;YACV,GAAG,MAAM,CAAC,SAAS,EAAE,SAAS;SAC/B;KACF,CAAC;IACF,MAAM,WAAW,GAAG,SAAS,CAAC,EAAY,CAAC;IAC3C,MAAM,UAAU,GAA8B;QAC5C,EAAE,EAAE,OAAO,GAAG,QAAQ;QACtB,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,IAAI,OAAO;QACxC,OAAO;QACP,GAAG,MAAM,CAAC,UAAU;QACpB,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK;YACX,GAAG,MAAM,CAAC,UAAU,EAAE,QAAQ;SAC/B;KACF,CAAC;IACF,MAAM,YAAY,GAAG,UAAU,CAAC,EAAY,CAAC;IAC7C,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAC1E,OAAO;QACL,KAAK,EAAE,CAAC,KAAK,CAAC;QACd,SAAS,EAAE,CAAC,SAAS,CAAC;QACtB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC,MAAM;YACnB,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;aAC/B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChB,GAAG,MAAM;YACT,gBAAgB,EAAE,OAAO;YACzB,WAAW;YACX,YAAY;SACb,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;IAC3D,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC;IAC3B,SAAoE,CAAC,IAAI;QACxE,oBAAoB,CAAC;IACvB,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC;IAC9B,UAAU,CAAC,SAAS,GAAG;QACrB,GAAG,UAAU,CAAC,SAAS;QACvB,aAAa,EAAE,KAAK;KACrB,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,oBAAoB,GAAG;IAC3B,GAAG;IACH,KAAK;IACL,IAAI;IACJ,KAAK;IACL,GAAG;IACH,KAAK;IACL,IAAI;IACJ,KAAK;IACL,GAAG;IACH,KAAK;IACL,IAAI;IACJ,KAAK;IACL,GAAG;IACH,KAAK;IACL,IAAI;IACJ,KAAK;CACG,CAAC"}
|
package/dist/echarts/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { AxisPointerComponentOption, Color, DataZoomComponentOption, EChartsOption, GraphicComponentOption, GridComponentOption, LegendComponentOption, RadarComponentOption, SeriesOption, TooltipComponentOption, XAXisComponentOption, YAXisComponentOption } from "echarts";
|
|
2
|
-
export * from "./
|
|
1
|
+
import type { AngleAxisComponentOption, AxisPointerComponentOption, Color, DataZoomComponentOption, EChartsOption, GraphicComponentOption, GridComponentOption, LegendComponentOption, PolarComponentOption, RadarComponentOption, RadiusAxisComponentOption, SeriesOption, TooltipComponentOption, XAXisComponentOption, YAXisComponentOption } from "echarts";
|
|
2
|
+
export * from "./coordinateSystems";
|
|
3
3
|
export * from "./radar";
|
|
4
4
|
export * from "./legend";
|
|
5
5
|
export * from "./tooltip";
|
|
@@ -9,6 +9,9 @@ export interface EChartsComponent {
|
|
|
9
9
|
grid?: GridComponentOption[];
|
|
10
10
|
xAxis?: XAXisComponentOption[];
|
|
11
11
|
yAxis?: YAXisComponentOption[];
|
|
12
|
+
polar?: PolarComponentOption[];
|
|
13
|
+
angleAxis?: AngleAxisComponentOption[];
|
|
14
|
+
radiusAxis?: RadiusAxisComponentOption[];
|
|
12
15
|
radar?: RadarComponentOption[];
|
|
13
16
|
legend?: LegendComponentOption[];
|
|
14
17
|
tooltip?: TooltipComponentOption[];
|
|
@@ -26,6 +29,7 @@ export interface EChartsNonComposableOption {
|
|
|
26
29
|
color?: Color[];
|
|
27
30
|
backgroundColor?: string;
|
|
28
31
|
}
|
|
32
|
+
export type DataItem = number | string | undefined;
|
|
29
33
|
/**
|
|
30
34
|
* 第一个参数 `base` 中可以填入不可组合的 ECharts 配置项,例如 `color`。
|
|
31
35
|
* 剩余的参数就是需要组合的各个 ECharts 组件。
|
package/dist/echarts/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/echarts/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/echarts/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AAgCzB;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAgC,EAChC,GAAG,UAA8B;IAEjC,MAAM,MAAM,GAAkD,EAAE,GAAG,IAAI,EAAE,CAAC;IAC1E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE;YAC/C,MAAM,GAAG,GAAG,CAA2B,CAAC;YACxC,iEAAiE;YACjE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAuB,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAgC,EAChC,GAAG,UAA8B;IAEjC,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,EAC7C,UAAU,CACX,CAAC;AACJ,CAAC;AAED,SAAS;AAET,6CAA6C;AAC7C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CACpC,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAC9D,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,WAAW,GACtB,gaAAga,CAAC;AAEna,cAAc;AACd,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF,cAAc;AACd,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { BarSeriesOption as OrigBarSeriesOption } from "echarts";
|
|
2
|
+
import type { DataItem, EChartsSeries } from "..";
|
|
3
|
+
export interface BarSeriesOption {
|
|
4
|
+
/** 系列名称,不可与其他系列重名。*/
|
|
5
|
+
name: string;
|
|
6
|
+
/**
|
|
7
|
+
* 条形的数据。
|
|
8
|
+
*
|
|
9
|
+
* 数据的结构是二维数组,每一行表示一个数据点,第一、第二列分别代表两个轴。
|
|
10
|
+
* 若两个轴中有且只有一个是类目轴,则数据类型可以是一维数组,表示另一个轴的值。
|
|
11
|
+
*/
|
|
12
|
+
data: [DataItem, DataItem, ...DataItem[]][] | DataItem[];
|
|
13
|
+
/**
|
|
14
|
+
* 其它需要添加到系列上的选项,参见 [ECharts 文档][1]。
|
|
15
|
+
*
|
|
16
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-bar
|
|
17
|
+
*/
|
|
18
|
+
option?: OrigBarSeriesOption;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 在坐标系上添加一组条形图。
|
|
22
|
+
*/
|
|
23
|
+
export declare function barSeries(option: BarSeriesOption): EChartsSeries<OrigBarSeriesOption>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 在坐标系上添加一组条形图。
|
|
3
|
+
*/
|
|
4
|
+
export function barSeries(option) {
|
|
5
|
+
const series = {
|
|
6
|
+
type: "bar",
|
|
7
|
+
id: option.name,
|
|
8
|
+
name: option.name,
|
|
9
|
+
data: option.data,
|
|
10
|
+
...option.option,
|
|
11
|
+
};
|
|
12
|
+
return { series: [series] };
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=barSeries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"barSeries.js","sourceRoot":"","sources":["../../../src/echarts/series/barSeries.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,MAAuB;IAEvB,MAAM,MAAM,GAAwB;QAClC,IAAI,EAAE,KAAK;QACX,EAAE,EAAE,MAAM,CAAC,IAAI;QACf,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,MAAM,CAAC,MAAM;KACjB,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { BoxplotSeriesOption as OrigBoxplotSeriesOption } from "echarts";
|
|
2
|
+
import type { EChartsSeries } from "..";
|
|
3
|
+
export interface BoxplotSeriesOption {
|
|
4
|
+
/** 系列名称,不可与其他系列重名。*/
|
|
5
|
+
name: string;
|
|
6
|
+
/** 箱线图的数据,每一行按顺序分别是最小值、下四分位数、中位数、上四分位数、最大值。*/
|
|
7
|
+
data: [number, number, number, number, number][];
|
|
8
|
+
/**
|
|
9
|
+
* 每个数据值的格式化函数。
|
|
10
|
+
* @default (value) => value.toFixed(2)
|
|
11
|
+
*/
|
|
12
|
+
valueFormatter?: (value: number) => string;
|
|
13
|
+
/**
|
|
14
|
+
* 其它需要添加到系列上的选项,参见 [ECharts 文档][1]。
|
|
15
|
+
*
|
|
16
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-boxplot
|
|
17
|
+
*/
|
|
18
|
+
option?: OrigBoxplotSeriesOption;
|
|
19
|
+
}
|
|
20
|
+
/** 在坐标系上添加一组箱线图。*/
|
|
21
|
+
export declare function boxplotSeries(option: BoxplotSeriesOption): EChartsSeries<OrigBoxplotSeriesOption>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** 在坐标系上添加一组箱线图。*/
|
|
2
|
+
export function boxplotSeries(option) {
|
|
3
|
+
const valueFormatter = option.valueFormatter ?? ((value) => value.toFixed(2));
|
|
4
|
+
const series = {
|
|
5
|
+
type: "boxplot",
|
|
6
|
+
id: option.name,
|
|
7
|
+
name: option.name,
|
|
8
|
+
data: option.data,
|
|
9
|
+
...option.option,
|
|
10
|
+
tooltip: {
|
|
11
|
+
formatter: (param) => {
|
|
12
|
+
// prettier-ignore
|
|
13
|
+
const data = param.data;
|
|
14
|
+
const strong = (body) => `<strong style="text-align: right;">${body}</strong>`;
|
|
15
|
+
// TODO i18n
|
|
16
|
+
return `
|
|
17
|
+
${param.name}<br>
|
|
18
|
+
<div style="
|
|
19
|
+
display: inline-grid;
|
|
20
|
+
grid: auto-flow / auto auto;
|
|
21
|
+
gap: 0 20px;
|
|
22
|
+
">
|
|
23
|
+
最大值 ${strong(valueFormatter(data[5]))}
|
|
24
|
+
上四分位数 ${strong(valueFormatter(data[4]))}
|
|
25
|
+
中位数 ${strong(valueFormatter(data[3]))}
|
|
26
|
+
下四分位数 ${strong(valueFormatter(data[2]))}
|
|
27
|
+
最小值 ${strong(valueFormatter(data[1]))}
|
|
28
|
+
</div>
|
|
29
|
+
`;
|
|
30
|
+
},
|
|
31
|
+
...option.option?.tooltip,
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
return { series: [series] };
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=boxplotSeries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boxplotSeries.js","sourceRoot":"","sources":["../../../src/echarts/series/boxplotSeries.ts"],"names":[],"mappings":"AAsBA,mBAAmB;AACnB,MAAM,UAAU,aAAa,CAC3B,MAA2B;IAE3B,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,MAAM,GAA4B;QACtC,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,MAAM,CAAC,IAAI;QACf,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,MAAM,CAAC,MAAM;QAChB,OAAO,EAAE;YACP,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,kBAAkB;gBAClB,MAAM,IAAI,GAAG,KAAK,CAAC,IAElB,CAAC;gBACF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAC9B,sCAAsC,IAAI,WAAW,CAAC;gBACxD,YAAY;gBACZ,OAAO;YACH,KAAK,CAAC,IAAI;;;;;;kBAMJ,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;kBACjC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;kBACjC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;;SAExC,CAAC;YACJ,CAAC;YACD,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO;SAC1B;KACF,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./lineSeries";
|
|
2
|
+
export * from "./intervalSeries";
|
|
3
|
+
export * from "./windLineSeries";
|
|
4
|
+
export * from "./barSeries";
|
|
5
|
+
export * from "./maxBarSeries";
|
|
6
|
+
export * from "./pieSeries";
|
|
7
|
+
export * from "./boxplotSeries";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/echarts/series/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Color, LineSeriesOption as OrigLineSeriesOption } from "echarts";
|
|
2
|
+
import type { EChartsSeries } from "..";
|
|
3
|
+
export interface IntervalSeriesOption {
|
|
4
|
+
/** 系列名称,不可与其他系列重名。*/
|
|
5
|
+
name: string;
|
|
6
|
+
/**
|
|
7
|
+
* 区间的下边界,请将最小值数据填入此处。其它设置参见 [ECharts 文档][1]。
|
|
8
|
+
*
|
|
9
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-line
|
|
10
|
+
*/
|
|
11
|
+
min: OrigLineSeriesOption & {
|
|
12
|
+
data: number[];
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* 区间的上边界,请将最小值数据填入此处。其它设置参见 [ECharts 文档][1]。
|
|
16
|
+
*
|
|
17
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-line
|
|
18
|
+
*/
|
|
19
|
+
max: OrigLineSeriesOption & {
|
|
20
|
+
data: number[];
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* 区间条带,此处必须设置一个颜色。其它设置参见 [ECharts 文档][1]。
|
|
24
|
+
*
|
|
25
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-line
|
|
26
|
+
*/
|
|
27
|
+
interval: OrigLineSeriesOption & {
|
|
28
|
+
color: Color;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/** 绘制一个从下边界到上边界的带状区间。*/
|
|
32
|
+
export declare function intervalSeries(option: IntervalSeriesOption): EChartsSeries<OrigLineSeriesOption>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const INTERVAL_SERIES_DEFAULTS = {
|
|
2
|
+
type: "line",
|
|
3
|
+
smooth: true,
|
|
4
|
+
showSymbol: false,
|
|
5
|
+
lineStyle: { opacity: 0 },
|
|
6
|
+
emphasis: { disabled: true },
|
|
7
|
+
};
|
|
8
|
+
/** 绘制一个从下边界到上边界的带状区间。*/
|
|
9
|
+
export function intervalSeries(option) {
|
|
10
|
+
// TODO i18n
|
|
11
|
+
const min = {
|
|
12
|
+
id: option.name + "下边界",
|
|
13
|
+
name: option.name + "下边界",
|
|
14
|
+
stack: option.name,
|
|
15
|
+
...INTERVAL_SERIES_DEFAULTS,
|
|
16
|
+
...option.min,
|
|
17
|
+
};
|
|
18
|
+
const max = {
|
|
19
|
+
id: option.name + "上边界",
|
|
20
|
+
name: option.name + "上边界",
|
|
21
|
+
...INTERVAL_SERIES_DEFAULTS,
|
|
22
|
+
...option.max,
|
|
23
|
+
};
|
|
24
|
+
const interval = {
|
|
25
|
+
id: option.name,
|
|
26
|
+
name: option.name,
|
|
27
|
+
stack: option.name,
|
|
28
|
+
stackStrategy: "all",
|
|
29
|
+
symbol: "none",
|
|
30
|
+
data: Array.from({ length: option.min.data.length }, (_, i) => option.max.data[i] - option.min.data[i]),
|
|
31
|
+
...INTERVAL_SERIES_DEFAULTS,
|
|
32
|
+
...option.interval,
|
|
33
|
+
tooltip: { show: false, ...option.interval.tooltip },
|
|
34
|
+
areaStyle: { color: option.interval.color, ...option.interval.areaStyle },
|
|
35
|
+
};
|
|
36
|
+
return { series: [min, interval, max] };
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=intervalSeries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intervalSeries.js","sourceRoot":"","sources":["../../../src/echarts/series/intervalSeries.ts"],"names":[],"mappings":"AA2BA,MAAM,wBAAwB,GAAyB;IACrD,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;IACzB,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;CAC7B,CAAC;AAEF,wBAAwB;AACxB,MAAM,UAAU,cAAc,CAC5B,MAA4B;IAE5B,YAAY;IACZ,MAAM,GAAG,GAAyB;QAChC,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK;QACzB,KAAK,EAAE,MAAM,CAAC,IAAI;QAClB,GAAG,wBAAwB;QAC3B,GAAG,MAAM,CAAC,GAAG;KACd,CAAC;IACF,MAAM,GAAG,GAAyB;QAChC,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK;QACzB,GAAG,wBAAwB;QAC3B,GAAG,MAAM,CAAC,GAAG;KACd,CAAC;IACF,MAAM,QAAQ,GAAyB;QACrC,EAAE,EAAE,MAAM,CAAC,IAAI;QACf,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,IAAI;QAClB,aAAa,EAAE,KAAK;QACpB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,IAAI,CACd,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAClC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAClD;QACD,GAAG,wBAAwB;QAC3B,GAAG,MAAM,CAAC,QAAQ;QAClB,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;QACpD,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE;KAC1E,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { LineSeriesOption as OrigLineSeriesOption } from "echarts";
|
|
2
|
+
import type { DataItem, EChartsSeries } from "..";
|
|
3
|
+
export type LineSeriesPreset = (option: OrigLineSeriesOption) => void;
|
|
4
|
+
export interface LineSeriesOption {
|
|
5
|
+
/** 系列名称,不可与其他系列重名。*/
|
|
6
|
+
name: string;
|
|
7
|
+
/**
|
|
8
|
+
* 折线的数据。
|
|
9
|
+
*
|
|
10
|
+
* 数据的结构是二维数组,每一行表示一个数据点,第一、第二列分别代表两个轴。
|
|
11
|
+
* 若两个轴中有且只有一个是类目轴,则数据类型可以是一维数组,表示另一个轴的值。
|
|
12
|
+
*/
|
|
13
|
+
data: [DataItem, DataItem, ...DataItem[]][] | DataItem[];
|
|
14
|
+
/**
|
|
15
|
+
* 其它需要添加到系列上的选项,参见 [ECharts 文档][1]。优先级**低于**预设 `presets`。
|
|
16
|
+
*
|
|
17
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-line
|
|
18
|
+
*/
|
|
19
|
+
option?: OrigLineSeriesOption;
|
|
20
|
+
/**
|
|
21
|
+
* 需要应用的配置预设。预设的优先级**高于** `option`。
|
|
22
|
+
*
|
|
23
|
+
* 可用的预设:{@linkcode gradientArea}
|
|
24
|
+
*/
|
|
25
|
+
presets?: LineSeriesPreset[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 在坐标系上添加一条折线。
|
|
29
|
+
*/
|
|
30
|
+
export declare function lineSeries(option: LineSeriesOption): EChartsSeries<OrigLineSeriesOption>;
|
|
31
|
+
/**
|
|
32
|
+
* 折线图预设,使折线下方区域在纵向呈现线性渐变色。
|
|
33
|
+
*
|
|
34
|
+
* 参数 `top` 表示顶部颜色;参数 `bottom` 表示底部颜色,默认为全透明 `"transparent"`。
|
|
35
|
+
*/
|
|
36
|
+
export declare function gradientArea(top: string, bottom?: string): LineSeriesPreset;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 在坐标系上添加一条折线。
|
|
3
|
+
*/
|
|
4
|
+
export function lineSeries(option) {
|
|
5
|
+
const series = {
|
|
6
|
+
type: "line",
|
|
7
|
+
id: option.name,
|
|
8
|
+
name: option.name,
|
|
9
|
+
data: option.data,
|
|
10
|
+
smooth: true,
|
|
11
|
+
showSymbol: false,
|
|
12
|
+
...option.option,
|
|
13
|
+
};
|
|
14
|
+
option.presets?.forEach((preset) => preset(series));
|
|
15
|
+
return { series: [series] };
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 折线图预设,使折线下方区域在纵向呈现线性渐变色。
|
|
19
|
+
*
|
|
20
|
+
* 参数 `top` 表示顶部颜色;参数 `bottom` 表示底部颜色,默认为全透明 `"transparent"`。
|
|
21
|
+
*/
|
|
22
|
+
export function gradientArea(top, bottom = "transparent") {
|
|
23
|
+
return (option) => {
|
|
24
|
+
(option.areaStyle ??= {}).color = {
|
|
25
|
+
type: "linear",
|
|
26
|
+
x: 0,
|
|
27
|
+
y: 0,
|
|
28
|
+
x2: 0,
|
|
29
|
+
y2: 1,
|
|
30
|
+
colorStops: [
|
|
31
|
+
{
|
|
32
|
+
offset: 0,
|
|
33
|
+
color: top,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
offset: 1,
|
|
37
|
+
color: bottom,
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=lineSeries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lineSeries.js","sourceRoot":"","sources":["../../../src/echarts/series/lineSeries.ts"],"names":[],"mappings":"AA8BA;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,MAAwB;IAExB,MAAM,MAAM,GAAyB;QACnC,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,MAAM,CAAC,IAAI;QACf,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,KAAK;QACjB,GAAG,MAAM,CAAC,MAAM;KACjB,CAAC;IACF,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAW,EACX,SAAiB,aAAa;IAE9B,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,CAAC,MAAM,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG;YAChC,IAAI,EAAE,QAAQ;YACd,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,UAAU,EAAE;gBACV;oBACE,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,MAAM;iBACd;aACF;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Color, BarSeriesOption as OrigBarSeriesOption } from "echarts";
|
|
2
|
+
import type { EChartsSeries } from "..";
|
|
3
|
+
export interface MaxBarSeriesOption {
|
|
4
|
+
/** 系列名称,不可与其他系列重名。*/
|
|
5
|
+
name: string;
|
|
6
|
+
/** 需要求最大值的各个系列的数据。*/
|
|
7
|
+
data: (number | undefined)[][];
|
|
8
|
+
/** 各个系列的颜色,各个最大值条形将被设为对应的颜色。若留空,则使用默认颜色。*/
|
|
9
|
+
palette?: Color[];
|
|
10
|
+
/**
|
|
11
|
+
* 其它需要添加到系列上的选项,参见 [ECharts 文档][1]。
|
|
12
|
+
*
|
|
13
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-bar
|
|
14
|
+
*/
|
|
15
|
+
option?: OrigBarSeriesOption;
|
|
16
|
+
}
|
|
17
|
+
/** 求出多个系列的最大值,显示为条形图。*/
|
|
18
|
+
export declare function maxBarSeries(option: MaxBarSeriesOption): EChartsSeries<OrigBarSeriesOption>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/** 求出多个系列的最大值,显示为条形图。*/
|
|
2
|
+
export function maxBarSeries(option) {
|
|
3
|
+
const series = {
|
|
4
|
+
type: "bar",
|
|
5
|
+
id: option.name,
|
|
6
|
+
name: option.name,
|
|
7
|
+
data: Array.from({ length: option.data[0].length }, (_, i) => {
|
|
8
|
+
// prettier-ignore
|
|
9
|
+
const [max, maxJ] = option.data
|
|
10
|
+
.map((series) => series[i])
|
|
11
|
+
.reduce(([max, maxJ], y, j) => max === undefined || (y !== undefined && y > max)
|
|
12
|
+
? [y, j]
|
|
13
|
+
: [max, maxJ], [undefined, -1]);
|
|
14
|
+
if (max !== undefined && option.palette) {
|
|
15
|
+
return {
|
|
16
|
+
value: max,
|
|
17
|
+
itemStyle: {
|
|
18
|
+
color: option.palette[maxJ],
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return max;
|
|
24
|
+
}
|
|
25
|
+
}),
|
|
26
|
+
...option.option,
|
|
27
|
+
itemStyle: { opacity: 0.7, ...option.option?.itemStyle },
|
|
28
|
+
tooltip: { show: false, ...option.option?.tooltip },
|
|
29
|
+
};
|
|
30
|
+
return { series: [series] };
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=maxBarSeries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maxBarSeries.js","sourceRoot":"","sources":["../../../src/echarts/series/maxBarSeries.ts"],"names":[],"mappings":"AAmBA,wBAAwB;AACxB,MAAM,UAAU,YAAY,CAC1B,MAA0B;IAE1B,MAAM,MAAM,GAAwB;QAClC,IAAI,EAAE,KAAK;QACX,EAAE,EAAE,MAAM,CAAC,IAAI;QACf,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3D,kBAAkB;YAClB,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI;iBAC5B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAC1B,MAAM,CACL,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CACpB,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,GAAG,CAAC;gBACjD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACR,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EACf,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAChB,CAAC;YACJ,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxC,OAAO;oBACL,KAAK,EAAE,GAAG;oBACV,SAAS,EAAE;wBACT,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;qBAC5B;iBACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC,CAAC;QACF,GAAG,MAAM,CAAC,MAAM;QAChB,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE;QACxD,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE;KACpD,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9B,CAAC"}
|