@tsingroc/tsingroc-components 1.0.6 → 2.1.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/README.md +20 -5
- package/dist/components/Calendar.d.ts +50 -0
- package/dist/components/Calendar.js +91 -0
- package/dist/components/Calendar.js.map +1 -0
- package/dist/components/CircularProgress.d.ts +21 -0
- package/dist/components/CircularProgress.js +15 -0
- package/dist/components/CircularProgress.js.map +1 -0
- package/dist/components/ImageBackground.d.ts +32 -0
- package/dist/components/ImageBackground.js +18 -0
- package/dist/components/ImageBackground.js.map +1 -0
- package/dist/components/QuickDateRangePicker.d.ts +30 -0
- package/dist/components/QuickDateRangePicker.js +36 -0
- package/dist/components/QuickDateRangePicker.js.map +1 -0
- package/dist/components/SegmentedButtons.d.ts +22 -0
- package/dist/components/SegmentedButtons.js +31 -0
- package/dist/components/SegmentedButtons.js.map +1 -0
- package/dist/components/TmsSidebar.d.ts +46 -0
- package/dist/components/TmsSidebar.js +63 -0
- package/dist/components/TmsSidebar.js.map +1 -0
- package/dist/components/TsingrocDatePicker.d.ts +38 -0
- package/dist/components/TsingrocDatePicker.js +36 -0
- package/dist/components/TsingrocDatePicker.js.map +1 -0
- package/dist/echarts/coordinateSystem.d.ts +39 -0
- package/dist/echarts/coordinateSystem.js +77 -0
- package/dist/echarts/coordinateSystem.js.map +1 -0
- package/dist/echarts/gl.d.ts +116 -0
- package/dist/echarts/gl.js +42 -0
- package/dist/echarts/gl.js.map +1 -0
- package/dist/echarts/index.d.ts +45 -0
- package/dist/echarts/index.js +61 -0
- package/dist/echarts/index.js.map +1 -0
- package/dist/echarts/legend.d.ts +17 -0
- package/dist/echarts/legend.js +15 -0
- package/dist/echarts/legend.js.map +1 -0
- package/dist/echarts/radar.d.ts +24 -0
- package/dist/echarts/radar.js +22 -0
- package/dist/echarts/radar.js.map +1 -0
- package/dist/echarts/series.d.ts +131 -0
- package/dist/echarts/series.js +184 -0
- package/dist/echarts/series.js.map +1 -0
- package/dist/echarts/tooltip.d.ts +13 -0
- package/dist/echarts/tooltip.js +14 -0
- package/dist/echarts/tooltip.js.map +1 -0
- package/dist/index.d.ts +9 -15
- package/dist/index.js +9 -15
- package/dist/index.js.map +1 -1
- package/package.json +28 -22
- package/dist/components/Button/index.d.ts +0 -5
- package/dist/components/Button/index.js +0 -8
- package/dist/components/Button/index.js.map +0 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.js +0 -3
- package/dist/components/index.js.map +0 -1
- package/dist/components/tsingrocCom.d.ts +0 -15
- package/dist/components/tsingrocCom.js +0 -967
- package/dist/components/tsingrocCom.js.map +0 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { BarSeriesOption, BoxplotSeriesOption, FlowGLSeriesOption, GridComponentOption, LineSeriesOption, XAXisComponentOption, YAXisComponentOption } from "echarts";
|
|
2
|
+
import type { EChartsComponent, EChartsSeries } from ".";
|
|
3
|
+
export type GridPreset = (grid: GridComponentOption, xAxis: XAXisComponentOption, yAxis: YAXisComponentOption) => void;
|
|
4
|
+
export interface GridOption {
|
|
5
|
+
/**
|
|
6
|
+
* 坐标网格的其它设置,参见 [ECharts 文档][1]。
|
|
7
|
+
*
|
|
8
|
+
* [1]: https://echarts.apache.org/zh/option.html#grid
|
|
9
|
+
*/
|
|
10
|
+
option?: GridComponentOption;
|
|
11
|
+
/**
|
|
12
|
+
* X 轴的设置,参见 [ECharts 文档][1]。
|
|
13
|
+
*
|
|
14
|
+
* [1]: https://echarts.apache.org/zh/option.html#xAxis
|
|
15
|
+
*/
|
|
16
|
+
xAxis?: XAXisComponentOption;
|
|
17
|
+
/**
|
|
18
|
+
* Y 轴的设置,参见 [ECharts 文档][1]。
|
|
19
|
+
*
|
|
20
|
+
* [1]: https://echarts.apache.org/zh/option.html#yAxis
|
|
21
|
+
*/
|
|
22
|
+
yAxis?: YAXisComponentOption;
|
|
23
|
+
/**
|
|
24
|
+
* 预设列表。预设的优先级**高于**上述设置。
|
|
25
|
+
*
|
|
26
|
+
* 可用的预设:{@link minimalGrid}
|
|
27
|
+
*/
|
|
28
|
+
presets?: GridPreset[];
|
|
29
|
+
/** 要绘制在该坐标系上的系列。*/
|
|
30
|
+
series?: EChartsSeries<LineSeriesOption | BarSeriesOption | BoxplotSeriesOption | FlowGLSeriesOption>[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 添加一个直角坐标系。X 轴和 Y 轴的数据类型默认值与 ECharts 原版一致。
|
|
34
|
+
*
|
|
35
|
+
* **注意**:该组件是一个 React hook,需要遵守正常使用 hook 的准则。
|
|
36
|
+
*/
|
|
37
|
+
export declare function useGrid(option: GridOption): EChartsComponent;
|
|
38
|
+
/** 使用该预设可以隐藏直角坐标系的坐标轴和网格线,只留下图像本身,并且使其填满整个容器。*/
|
|
39
|
+
export declare function minimalGrid(): GridPreset;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { useId } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* 添加一个直角坐标系。X 轴和 Y 轴的数据类型默认值与 ECharts 原版一致。
|
|
4
|
+
*
|
|
5
|
+
* **注意**:该组件是一个 React hook,需要遵守正常使用 hook 的准则。
|
|
6
|
+
*/
|
|
7
|
+
export function useGrid(option) {
|
|
8
|
+
const grid = {
|
|
9
|
+
id: useId(),
|
|
10
|
+
left: 0,
|
|
11
|
+
right: 0,
|
|
12
|
+
top: 24,
|
|
13
|
+
bottom: 0,
|
|
14
|
+
containLabel: true,
|
|
15
|
+
...option.option,
|
|
16
|
+
};
|
|
17
|
+
const gridId = grid.id;
|
|
18
|
+
const xAxis = {
|
|
19
|
+
id: gridId + "x",
|
|
20
|
+
gridId,
|
|
21
|
+
...option.xAxis,
|
|
22
|
+
nameTextStyle: { fontWeight: "bold", ...option.xAxis?.nameTextStyle },
|
|
23
|
+
axisTick: {
|
|
24
|
+
alignWithLabel: true,
|
|
25
|
+
...option.xAxis?.axisTick,
|
|
26
|
+
// 此处需要强转,因为 alignWithLabel 仅当 boundaryGap = true 时有效,但无效也没有影响
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
const xAxisId = xAxis.id;
|
|
30
|
+
const yAxis = {
|
|
31
|
+
id: gridId + "y",
|
|
32
|
+
type: option.yAxis?.type ?? "value",
|
|
33
|
+
gridId,
|
|
34
|
+
nameGap: 12,
|
|
35
|
+
...option.yAxis,
|
|
36
|
+
nameTextStyle: {
|
|
37
|
+
align: "left",
|
|
38
|
+
fontWeight: "bold",
|
|
39
|
+
...option.yAxis?.nameTextStyle,
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
const yAxisId = yAxis.id;
|
|
43
|
+
option.presets?.forEach((preset) => preset(grid, xAxis, yAxis));
|
|
44
|
+
return {
|
|
45
|
+
grid: [grid],
|
|
46
|
+
xAxis: [xAxis],
|
|
47
|
+
yAxis: [yAxis],
|
|
48
|
+
series: option.series
|
|
49
|
+
?.flatMap((item) => item.series)
|
|
50
|
+
?.map((series) => ({
|
|
51
|
+
...series,
|
|
52
|
+
coordinateSystem: "cartesian2d",
|
|
53
|
+
xAxisId,
|
|
54
|
+
yAxisId,
|
|
55
|
+
})),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
const MINIMAL_GRID = (grid, xAxis, yAxis) => {
|
|
59
|
+
grid.top = 0;
|
|
60
|
+
xAxis.show = false;
|
|
61
|
+
if ((xAxis.type === undefined && xAxis.data !== undefined) ||
|
|
62
|
+
xAxis.type === "category") {
|
|
63
|
+
xAxis.boundaryGap = false;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
xAxis.min = "dataMin";
|
|
67
|
+
xAxis.max = "dataMax";
|
|
68
|
+
}
|
|
69
|
+
xAxis.axisLabel = { inside: true };
|
|
70
|
+
yAxis.show = false;
|
|
71
|
+
yAxis.axisLabel = { inside: true };
|
|
72
|
+
};
|
|
73
|
+
/** 使用该预设可以隐藏直角坐标系的坐标轴和网格线,只留下图像本身,并且使其填满整个容器。*/
|
|
74
|
+
export function minimalGrid() {
|
|
75
|
+
return MINIMAL_GRID;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=coordinateSystem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinateSystem.js","sourceRoot":"","sources":["../../src/echarts/coordinateSystem.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AA4C9B;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,MAAkB;IACxC,MAAM,IAAI,GAAwB;QAChC,EAAE,EAAE,KAAK,EAAE;QACX,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,CAAC;QACT,YAAY,EAAE,IAAI;QAClB,GAAG,MAAM,CAAC,MAAM;KACjB,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,EAAY,CAAC;IACjC,MAAM,KAAK,GAAyB;QAClC,EAAE,EAAE,MAAM,GAAG,GAAG;QAChB,MAAM;QACN,GAAG,MAAM,CAAC,KAAK;QACf,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE;QACrE,QAAQ,EAAE;YACR,cAAc,EAAE,IAAI;YACpB,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ;YACzB,8DAA8D;SAC3B;KACtC,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,EAAY,CAAC;IACnC,MAAM,KAAK,GAAyB;QAClC,EAAE,EAAE,MAAM,GAAG,GAAG;QAChB,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,OAAO;QACnC,MAAM;QACN,OAAO,EAAE,EAAE;QACX,GAAG,MAAM,CAAC,KAAK;QACf,aAAa,EAAE;YACb,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,MAAM;YAClB,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa;SAC/B;KACF,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,EAAY,CAAC;IACnC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAChE,OAAO;QACL,IAAI,EAAE,CAAC,IAAI,CAAC;QACZ,KAAK,EAAE,CAAC,KAAK,CAAC;QACd,KAAK,EAAE,CAAC,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC,MAAM;YACnB,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACjB,GAAG,MAAM;YACT,gBAAgB,EAAE,aAAa;YAC/B,OAAO;YACP,OAAO;SACR,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAe,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IACtD,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACb,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;IACnB,IACE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAK,KAAsB,CAAC,IAAI,KAAK,SAAS,CAAC;QACxE,KAAK,CAAC,IAAI,KAAK,UAAU,EACzB,CAAC;QACA,KAAkC,CAAC,WAAW,GAAG,KAAK,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC;QACtB,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC;IACxB,CAAC;IACD,KAAK,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACnC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;IACnB,KAAK,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACrC,CAAC,CAAC;AAEF,gDAAgD;AAChD,MAAM,UAAU,WAAW;IACzB,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { ComponentOption, SeriesOnCartesianOptionMixin, SeriesOnGeoOptionMixin } from "echarts/types/src/util/types.js";
|
|
2
|
+
import type { FlowGLSeriesOption as OrigFlowGLSeriesOption } from "echarts";
|
|
3
|
+
import "echarts-gl";
|
|
4
|
+
import type { EChartsSeries } from ".";
|
|
5
|
+
declare module "echarts/types/dist/echarts" {
|
|
6
|
+
interface RegisteredSeriesOption {
|
|
7
|
+
flowGL: FlowGLSeriesOption;
|
|
8
|
+
}
|
|
9
|
+
interface FlowGLSeriesOption extends ComponentOption, SeriesOnCartesianOptionMixin, SeriesOnGeoOptionMixin {
|
|
10
|
+
type: "flowGL";
|
|
11
|
+
/**
|
|
12
|
+
* 粒子的密度,实际的粒子数量是设置数目的平方。粒子密度越大迹线效果越好,但是性能开销也会越大。
|
|
13
|
+
* 除了该属性,使用 `particleType` 也可以得到更加清晰连贯的迹线。
|
|
14
|
+
* @default 128
|
|
15
|
+
*/
|
|
16
|
+
particleDensity?: number;
|
|
17
|
+
/**
|
|
18
|
+
* 粒子的类型,可以设置为点 `"point"` 或线 `"line"`。
|
|
19
|
+
* 线类型的粒子会用一条线连接上个运动的位置和当前运动的位置,这会让这个轨迹更加连贯。
|
|
20
|
+
* @default "point"
|
|
21
|
+
*/
|
|
22
|
+
particleType?: "point" | "line";
|
|
23
|
+
/**
|
|
24
|
+
* 粒子的大小,如果 `particleType == "line"` 则代表线宽。
|
|
25
|
+
* @default 1
|
|
26
|
+
*/
|
|
27
|
+
particleSize?: number;
|
|
28
|
+
/**
|
|
29
|
+
* 粒子的速度,默认为 1。注意在 `particleType` 为 `"point"` 的时候过大的速度会让整个轨迹变得断断续续。
|
|
30
|
+
* @default 1
|
|
31
|
+
*/
|
|
32
|
+
particleSpeed?: number;
|
|
33
|
+
/**
|
|
34
|
+
* 粒子的轨迹长度,数值越大轨迹越长。
|
|
35
|
+
* @default 2
|
|
36
|
+
*/
|
|
37
|
+
particleTrail?: number;
|
|
38
|
+
/**
|
|
39
|
+
* 画面的超采样比率,采用 4 的超采样可以有效的提高画面的清晰度,减少画面锯齿。
|
|
40
|
+
* 但是因为需要处理更多的像素数量,所以也对性能有更高的要求。
|
|
41
|
+
* @default 1
|
|
42
|
+
*/
|
|
43
|
+
supersampling?: number;
|
|
44
|
+
/**
|
|
45
|
+
* 传入的网格数据的网格宽度数量。
|
|
46
|
+
* @default "auto"
|
|
47
|
+
*/
|
|
48
|
+
gridWidth?: number | "auto";
|
|
49
|
+
/**
|
|
50
|
+
* 传入的网格数据的网格高度数量。
|
|
51
|
+
* @default "auto"
|
|
52
|
+
*/
|
|
53
|
+
gridHeight?: number | "auto";
|
|
54
|
+
/**
|
|
55
|
+
* 每行数据包含四个值,分别表示位置 x、y,速度 sx、sy。
|
|
56
|
+
* 如果使用地理坐标系,则分别表示位置 lng、lat,速度 sLng、sLat。
|
|
57
|
+
*/
|
|
58
|
+
data: [number, number, number, number][];
|
|
59
|
+
/**
|
|
60
|
+
* 向量场迹线的样式。
|
|
61
|
+
*/
|
|
62
|
+
itemStyle?: FlowGLSeriesItemStyle;
|
|
63
|
+
}
|
|
64
|
+
interface FlowGLSeriesItemStyle {
|
|
65
|
+
/**
|
|
66
|
+
* 向量场迹线的颜色。
|
|
67
|
+
* @default "#fff"
|
|
68
|
+
*/
|
|
69
|
+
color?: string;
|
|
70
|
+
/**
|
|
71
|
+
* 向量场迹线的透明度。
|
|
72
|
+
* @default 0.8
|
|
73
|
+
*/
|
|
74
|
+
opacity?: number;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export interface FlowGLSeriesOption {
|
|
78
|
+
/** 系列名称,不可与其他系列重名。*/
|
|
79
|
+
name: string;
|
|
80
|
+
/**
|
|
81
|
+
* 每行数据包含四个值,分别表示位置 x、y,速度 sx、sy。
|
|
82
|
+
*
|
|
83
|
+
* 如果需要使用风场数据,可以直接调用 {@link preprocessWindData} 来将数据处理成此处需要的格式。
|
|
84
|
+
*/
|
|
85
|
+
data: [number, number, number, number][];
|
|
86
|
+
/**
|
|
87
|
+
* 其它需要添加到系列上的选项,参见 [ECharts 文档][1]。
|
|
88
|
+
*
|
|
89
|
+
* [1]: https://echarts.apache.org/zh/option-gl.html#series-flowGL
|
|
90
|
+
*/
|
|
91
|
+
option?: Partial<OrigFlowGLSeriesOption>;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* 在坐标系上绘制一个流场。
|
|
95
|
+
*
|
|
96
|
+
* 推荐使用以下坐标系配置:
|
|
97
|
+
*
|
|
98
|
+
* ```ts
|
|
99
|
+
* echarts.useGrid({
|
|
100
|
+
* xAxis: { type: "value" },
|
|
101
|
+
* yAxis: { min: "dataMin", max: "dataMax" },
|
|
102
|
+
* presets: [echarts.minimalGrid()],
|
|
103
|
+
* })
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export declare function flowGLSeries(option: FlowGLSeriesOption): EChartsSeries<OrigFlowGLSeriesOption>;
|
|
107
|
+
export interface WindData {
|
|
108
|
+
/** 位置,由空格分隔的经纬度数字组成。*/
|
|
109
|
+
location: string;
|
|
110
|
+
/** 风向,单位是角度(deg),`0` 表示**东风**,随着角度增大,风向**顺时针**旋转。*/
|
|
111
|
+
wind_direction_80m: number;
|
|
112
|
+
/** 风速。*/
|
|
113
|
+
wind_speed_80m: number;
|
|
114
|
+
}
|
|
115
|
+
/** 将 JSON 格式的天气数据预处理成 FlowGL 接受的格式。*/
|
|
116
|
+
export declare function preprocessWindData(data: WindData[]): [number, number, number, number][];
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import "echarts-gl";
|
|
2
|
+
/**
|
|
3
|
+
* 在坐标系上绘制一个流场。
|
|
4
|
+
*
|
|
5
|
+
* 推荐使用以下坐标系配置:
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* echarts.useGrid({
|
|
9
|
+
* xAxis: { type: "value" },
|
|
10
|
+
* yAxis: { min: "dataMin", max: "dataMax" },
|
|
11
|
+
* presets: [echarts.minimalGrid()],
|
|
12
|
+
* })
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export function flowGLSeries(option) {
|
|
16
|
+
return {
|
|
17
|
+
series: [
|
|
18
|
+
{
|
|
19
|
+
type: "flowGL",
|
|
20
|
+
id: option.name,
|
|
21
|
+
name: option.name,
|
|
22
|
+
data: option.data,
|
|
23
|
+
particleDensity: 20,
|
|
24
|
+
particleSize: 3,
|
|
25
|
+
supersampling: window.devicePixelRatio,
|
|
26
|
+
...option.option,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/** 将 JSON 格式的天气数据预处理成 FlowGL 接受的格式。*/
|
|
32
|
+
export function preprocessWindData(data) {
|
|
33
|
+
return data.map((item) => {
|
|
34
|
+
const [x, y] = item.location.split(" ").map(Number.parseFloat);
|
|
35
|
+
// prettier-ignore
|
|
36
|
+
const sx = -Math.cos(item.wind_direction_80m * (Math.PI / 180)) * item.wind_speed_80m;
|
|
37
|
+
// prettier-ignore
|
|
38
|
+
const sy = +Math.sin(item.wind_direction_80m * (Math.PI / 180)) * item.wind_speed_80m;
|
|
39
|
+
return [x, y, sx, sy];
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=gl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gl.js","sourceRoot":"","sources":["../../src/echarts/gl.ts"],"names":[],"mappings":"AAMA,OAAO,YAAY,CAAC;AAkGpB;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAC1B,MAA0B;IAE1B,OAAO;QACL,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,MAAM,CAAC,IAAI;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,eAAe,EAAE,EAAE;gBACnB,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,MAAM,CAAC,gBAAgB;gBACtC,GAAG,MAAM,CAAC,MAAM;aACjB;SACF;KACF,CAAC;AACJ,CAAC;AAWD,sCAAsC;AACtC,MAAM,UAAU,kBAAkB,CAChC,IAAgB;IAEhB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACvB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/D,kBAAkB;QAClB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QACtF,kBAAkB;QAClB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QACtF,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Color, EChartsOption, GridComponentOption, LegendComponentOption, RadarComponentOption, SeriesOption, TooltipComponentOption, XAXisComponentOption, YAXisComponentOption } from "echarts";
|
|
2
|
+
export * from "./coordinateSystem";
|
|
3
|
+
export * from "./radar";
|
|
4
|
+
export * from "./legend";
|
|
5
|
+
export * from "./tooltip";
|
|
6
|
+
export * from "./series";
|
|
7
|
+
/** 一个可组合的 ECharts 组件。*/
|
|
8
|
+
export interface EChartsComponent {
|
|
9
|
+
grid?: GridComponentOption[];
|
|
10
|
+
xAxis?: XAXisComponentOption[];
|
|
11
|
+
yAxis?: YAXisComponentOption[];
|
|
12
|
+
radar?: RadarComponentOption[];
|
|
13
|
+
legend?: LegendComponentOption[];
|
|
14
|
+
tooltip?: TooltipComponentOption[];
|
|
15
|
+
series?: SeriesOption[];
|
|
16
|
+
}
|
|
17
|
+
/** 一个 ECharts 系列。*/
|
|
18
|
+
export interface EChartsSeries<T = SeriesOption> {
|
|
19
|
+
series: T[];
|
|
20
|
+
}
|
|
21
|
+
/** ECharts 中不可组合的设置项。*/
|
|
22
|
+
export interface EChartsNonComposableOption {
|
|
23
|
+
color?: Color[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 第一个参数 `base` 中可以填入不可组合的 ECharts 配置项,例如 `color`。
|
|
27
|
+
* 剩余的参数就是需要组合的各个 ECharts 组件。
|
|
28
|
+
*/
|
|
29
|
+
export declare function buildEChartsOption(base: EChartsNonComposableOption, ...components: EChartsComponent[]): EChartsOption;
|
|
30
|
+
/**
|
|
31
|
+
* 用组件组合出 ECharts 的配置对象,并将其缓存以减少重渲染。
|
|
32
|
+
*
|
|
33
|
+
* **注意**:该优化只有在传入的每个组件都已经分别被缓存的情况下才有效!
|
|
34
|
+
* 如果不需要细粒度的记忆化,可以直接将所有组件和 `buildEChartsOption`
|
|
35
|
+
* 整个用 `useMemo` 包裹起来。
|
|
36
|
+
*/
|
|
37
|
+
export declare function useMemoizedEChartsOption(base: EChartsNonComposableOption, ...components: EChartsComponent[]): EChartsOption;
|
|
38
|
+
/** 一个从 01:00 到 24:00 的数组,可以在等待数据加载时填充 X 轴。*/
|
|
39
|
+
export declare const HOURS_OF_DAY: string[];
|
|
40
|
+
/** 虚线图标,可用于图例。*/
|
|
41
|
+
export declare const DASHES_ICON: string;
|
|
42
|
+
/** 公用调色板 1。*/
|
|
43
|
+
export declare const PALETTE_1: string[];
|
|
44
|
+
/** 公用调色板 2。*/
|
|
45
|
+
export declare const PALETTE_2: string[];
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
export * from "./coordinateSystem";
|
|
3
|
+
export * from "./radar";
|
|
4
|
+
export * from "./legend";
|
|
5
|
+
export * from "./tooltip";
|
|
6
|
+
export * from "./series";
|
|
7
|
+
/**
|
|
8
|
+
* 第一个参数 `base` 中可以填入不可组合的 ECharts 配置项,例如 `color`。
|
|
9
|
+
* 剩余的参数就是需要组合的各个 ECharts 组件。
|
|
10
|
+
*/
|
|
11
|
+
export function buildEChartsOption(base, ...components) {
|
|
12
|
+
const option = { ...base };
|
|
13
|
+
for (const component of components) {
|
|
14
|
+
Object.entries(component).forEach(([k, value]) => {
|
|
15
|
+
const key = k;
|
|
16
|
+
(option[key] ?? (option[key] = [])).push(...(value ?? []));
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return option;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 用组件组合出 ECharts 的配置对象,并将其缓存以减少重渲染。
|
|
23
|
+
*
|
|
24
|
+
* **注意**:该优化只有在传入的每个组件都已经分别被缓存的情况下才有效!
|
|
25
|
+
* 如果不需要细粒度的记忆化,可以直接将所有组件和 `buildEChartsOption`
|
|
26
|
+
* 整个用 `useMemo` 包裹起来。
|
|
27
|
+
*/
|
|
28
|
+
export function useMemoizedEChartsOption(base, ...components) {
|
|
29
|
+
return useMemo(() => buildEChartsOption(base, ...components), components);
|
|
30
|
+
}
|
|
31
|
+
// 一些零散工具
|
|
32
|
+
/** 一个从 01:00 到 24:00 的数组,可以在等待数据加载时填充 X 轴。*/
|
|
33
|
+
export const HOURS_OF_DAY = Array.from({ length: 24 }, (_, index) => (index + 1).toString().padStart(2, "0") + ":00");
|
|
34
|
+
/** 虚线图标,可用于图例。*/
|
|
35
|
+
export const DASHES_ICON = "path://M304.43 532.76H221.4c-11.47 0-20.76-9.3-20.76-20.76s9.29-20.76 20.76-20.76h83.03c11.47 0 20.76 9.3 20.76 20.76s-9.29 20.76-20.76 20.76zM581.19 532.76H442.81c-11.47 0-20.76-9.3-20.76-20.76s9.29-20.76 20.76-20.76h138.38c11.47 0 20.76 9.3 20.76 20.76s-9.3 20.76-20.76 20.76zM802.59 532.76h-83.03c-11.47 0-20.76-9.3-20.76-20.76s9.29-20.76 20.76-20.76h83.03c11.47 0 20.76 9.3 20.76 20.76s-9.29 20.76-20.76 20.76z";
|
|
36
|
+
/** 公用调色板 1。*/
|
|
37
|
+
export const PALETTE_1 = [
|
|
38
|
+
"#2FDAFF",
|
|
39
|
+
"#77DA9B",
|
|
40
|
+
"#FFB82E",
|
|
41
|
+
"#5470C6",
|
|
42
|
+
"#91CC75",
|
|
43
|
+
"#FAC858",
|
|
44
|
+
"#EE6666",
|
|
45
|
+
"#73C0DE",
|
|
46
|
+
"#3BA272",
|
|
47
|
+
"#FC8452",
|
|
48
|
+
"#9A60B4",
|
|
49
|
+
"#EA7CCC",
|
|
50
|
+
];
|
|
51
|
+
/** 公用调色板 2。*/
|
|
52
|
+
export const PALETTE_2 = [
|
|
53
|
+
"#ECA926",
|
|
54
|
+
"#32ADF4",
|
|
55
|
+
"#DC7756",
|
|
56
|
+
"#62CE89",
|
|
57
|
+
"#4256B9",
|
|
58
|
+
"#00D0FF",
|
|
59
|
+
"#96D0DD",
|
|
60
|
+
];
|
|
61
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/echarts/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AAuBzB;;;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,CAAC,MAAM,CAAC,GAAG,MAAV,MAAM,CAAC,GAAG,IAAM,EAAE,EAAC,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,17 @@
|
|
|
1
|
+
import type { LegendComponentOption } from "echarts";
|
|
2
|
+
import type { EChartsComponent } from ".";
|
|
3
|
+
export type LegendDataItem = Exclude<(LegendComponentOption["data"] & {})[0], string>;
|
|
4
|
+
export interface LegendOption {
|
|
5
|
+
/**
|
|
6
|
+
* 图例中要显示的系列或数据项。
|
|
7
|
+
*/
|
|
8
|
+
data: (string | LegendDataItem)[];
|
|
9
|
+
/**
|
|
10
|
+
* 其它图例设置项,参见 [ECharts 文档][1]。
|
|
11
|
+
*
|
|
12
|
+
* [1]: https://echarts.apache.org/zh/option.html#legend
|
|
13
|
+
*/
|
|
14
|
+
option?: LegendComponentOption;
|
|
15
|
+
}
|
|
16
|
+
/** 添加一个图例。 */
|
|
17
|
+
export declare function legend(option: LegendOption): EChartsComponent;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legend.js","sourceRoot":"","sources":["../../src/echarts/legend.ts"],"names":[],"mappings":"AAsBA,cAAc;AACd,MAAM,UAAU,MAAM,CAAC,MAAoB;IACzC,OAAO;QACL,MAAM,EAAE;YACN;gBACE,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,CAAC;gBACV,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,MAAM,CAAC,MAAM;aACjB;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { RadarComponentOption, RadarSeriesOption } from "echarts";
|
|
2
|
+
import type { EChartsComponent } from ".";
|
|
3
|
+
export interface RadarOption {
|
|
4
|
+
/** 名称,不可与其它组件和系列重名。*/
|
|
5
|
+
name: string;
|
|
6
|
+
/** 雷达图的各维度。*/
|
|
7
|
+
dimensions: RadarComponentOption["indicator"] & {};
|
|
8
|
+
/** 雷达图的数据。*/
|
|
9
|
+
data: RadarSeriesOption["data"] & {};
|
|
10
|
+
/**
|
|
11
|
+
* 其它传递给雷达图组件的设置项,参见 [ECharts 文档][1]。
|
|
12
|
+
*
|
|
13
|
+
* [1]: https://echarts.apache.org/zh/option.html#radar
|
|
14
|
+
*/
|
|
15
|
+
option?: RadarComponentOption;
|
|
16
|
+
/**
|
|
17
|
+
* 其它传递给雷达系列的设置项,参见 [ECharts 文档][1]。
|
|
18
|
+
*
|
|
19
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-radar
|
|
20
|
+
*/
|
|
21
|
+
series?: RadarSeriesOption;
|
|
22
|
+
}
|
|
23
|
+
/** 添加一张雷达图。*/
|
|
24
|
+
export declare function radar(option: RadarOption): EChartsComponent;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** 添加一张雷达图。*/
|
|
2
|
+
export function radar(option) {
|
|
3
|
+
return {
|
|
4
|
+
radar: [
|
|
5
|
+
{
|
|
6
|
+
id: option.name + "-radar",
|
|
7
|
+
indicator: option.dimensions,
|
|
8
|
+
...option.option,
|
|
9
|
+
},
|
|
10
|
+
],
|
|
11
|
+
series: [
|
|
12
|
+
{
|
|
13
|
+
type: "radar",
|
|
14
|
+
name: option.name,
|
|
15
|
+
radarId: option.name + "-radar",
|
|
16
|
+
data: option.data,
|
|
17
|
+
...option.series,
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=radar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radar.js","sourceRoot":"","sources":["../../src/echarts/radar.ts"],"names":[],"mappings":"AAyBA,cAAc;AACd,MAAM,UAAU,KAAK,CAAC,MAAmB;IACvC,OAAO;QACL,KAAK,EAAE;YACL;gBACE,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,QAAQ;gBAC1B,SAAS,EAAE,MAAM,CAAC,UAAU;gBAC5B,GAAG,MAAM,CAAC,MAAM;aACjB;SACF;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,IAAI,GAAG,QAAQ;gBAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,MAAM,CAAC,MAAM;aACjB;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import type { Color, BarSeriesOption as OrigBarSeriesOption, BoxplotSeriesOption as OrigBoxplotSeriesOption, LineSeriesOption as OrigLineSeriesOption, PieSeriesOption as OrigPieSeriesOption } from "echarts";
|
|
2
|
+
import type { EChartsSeries } from ".";
|
|
3
|
+
export type DataItem = number | string | undefined;
|
|
4
|
+
export type LineSeriesPreset = (option: OrigLineSeriesOption) => void;
|
|
5
|
+
export interface LineSeriesOption {
|
|
6
|
+
/** 系列名称,不可与其他系列重名。*/
|
|
7
|
+
name: string;
|
|
8
|
+
/**
|
|
9
|
+
* 折线的数据。
|
|
10
|
+
*
|
|
11
|
+
* 数据的结构是二维数组,每一行表示一个数据点,第一、第二列分别代表两个轴。
|
|
12
|
+
* 若两个轴中有且只有一个是类目轴,则数据类型可以是一维数组,表示另一个轴的值。
|
|
13
|
+
*/
|
|
14
|
+
data: [DataItem, DataItem, ...DataItem[]][] | DataItem[];
|
|
15
|
+
/**
|
|
16
|
+
* 其它需要添加到系列上的选项,参见 [ECharts 文档][1]。优先级**低于**预设 `presets`。
|
|
17
|
+
*
|
|
18
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-line
|
|
19
|
+
*/
|
|
20
|
+
option?: OrigLineSeriesOption;
|
|
21
|
+
/**
|
|
22
|
+
* 需要应用的配置预设。预设的优先级**高于** `option`。
|
|
23
|
+
*
|
|
24
|
+
* 可用的预设:{@link gradientArea}
|
|
25
|
+
*/
|
|
26
|
+
presets?: LineSeriesPreset[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 在坐标系上添加一条折线。
|
|
30
|
+
*/
|
|
31
|
+
export declare function lineSeries(option: LineSeriesOption): EChartsSeries<OrigLineSeriesOption>;
|
|
32
|
+
/**
|
|
33
|
+
* 折线图预设,使折线下方区域在纵向呈现线性渐变色。
|
|
34
|
+
*
|
|
35
|
+
* 参数 `top` 表示顶部颜色;参数 `bottom` 表示底部颜色,默认为全透明 `"transparent"`。
|
|
36
|
+
*/
|
|
37
|
+
export declare function gradientArea(top: string, bottom?: string): LineSeriesPreset;
|
|
38
|
+
export interface IntervalSeriesOption {
|
|
39
|
+
/** 系列名称,不可与其他系列重名。*/
|
|
40
|
+
name: string;
|
|
41
|
+
/**
|
|
42
|
+
* 区间的下边界,请将最小值数据填入此处。其它设置参见 [ECharts 文档][1]。
|
|
43
|
+
*
|
|
44
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-line
|
|
45
|
+
*/
|
|
46
|
+
min: OrigLineSeriesOption & {
|
|
47
|
+
data: number[];
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* 区间的上边界,请将最小值数据填入此处。其它设置参见 [ECharts 文档][1]。
|
|
51
|
+
*
|
|
52
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-line
|
|
53
|
+
*/
|
|
54
|
+
max: OrigLineSeriesOption & {
|
|
55
|
+
data: number[];
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* 区间条带,此处必须设置一个颜色。其它设置参见 [ECharts 文档][1]。
|
|
59
|
+
*
|
|
60
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-line
|
|
61
|
+
*/
|
|
62
|
+
interval: OrigLineSeriesOption & {
|
|
63
|
+
color: Color;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/** 绘制一个从下边界到上边界的带状区间。*/
|
|
67
|
+
export declare function intervalSeries(option: IntervalSeriesOption): EChartsSeries<OrigLineSeriesOption>;
|
|
68
|
+
export interface MaxBarSeriesOption {
|
|
69
|
+
/** 系列名称,不可与其他系列重名。*/
|
|
70
|
+
name: string;
|
|
71
|
+
/** 需要求最大值的各个系列的数据。*/
|
|
72
|
+
data: (number | undefined)[][];
|
|
73
|
+
/** 各个系列的颜色,各个最大值条形将被设为对应的颜色。若留空,则使用默认颜色。*/
|
|
74
|
+
palette?: Color[];
|
|
75
|
+
/**
|
|
76
|
+
* 其它需要添加到系列上的选项,参见 [ECharts 文档][1]。
|
|
77
|
+
*
|
|
78
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-bar
|
|
79
|
+
*/
|
|
80
|
+
option?: OrigBarSeriesOption;
|
|
81
|
+
}
|
|
82
|
+
/** 求出多个系列的最大值,显示为条形图。*/
|
|
83
|
+
export declare function maxBarSeries(option: MaxBarSeriesOption): EChartsSeries<OrigBarSeriesOption>;
|
|
84
|
+
/** 饼图的数据项。*/
|
|
85
|
+
export type PieDataItem = (OrigPieSeriesOption["data"] & {})[0] extends number | string | unknown[] | infer T ? T : never;
|
|
86
|
+
export type PieSeriesPreset = (option: OrigPieSeriesOption) => void;
|
|
87
|
+
export interface PieSeriesOption {
|
|
88
|
+
/** 系列名称,不可与其他系列重名。*/
|
|
89
|
+
name: string;
|
|
90
|
+
/** 饼图的数据,数组元素可以是单个数值或者一个对象。*/
|
|
91
|
+
data: (number | PieDataItem)[];
|
|
92
|
+
/**
|
|
93
|
+
* 其它需要添加到系列上的选项,参见 [ECharts 文档][1]。优先级**低于**预设 `presets`。
|
|
94
|
+
*
|
|
95
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-pie
|
|
96
|
+
*/
|
|
97
|
+
option?: OrigPieSeriesOption;
|
|
98
|
+
/**
|
|
99
|
+
* 需要应用的配置预设。预设的优先级**高于** `option`。
|
|
100
|
+
*
|
|
101
|
+
* 可用的预设:{@link ringPie}
|
|
102
|
+
*/
|
|
103
|
+
presets?: PieSeriesPreset[];
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* 添加一个饼图。
|
|
107
|
+
*
|
|
108
|
+
* 请使用 ECharts 的 legend 组件来添加图例,不要手动编写 React 代码制作图例。
|
|
109
|
+
*/
|
|
110
|
+
export declare function pieSeries(option: PieSeriesOption): EChartsSeries<OrigPieSeriesOption>;
|
|
111
|
+
/** 饼图预设,使饼图变为环状,标签出现在环的中央。*/
|
|
112
|
+
export declare function ringPie(): PieSeriesPreset;
|
|
113
|
+
export interface BoxplotSeriesOption {
|
|
114
|
+
/** 系列名称,不可与其他系列重名。*/
|
|
115
|
+
name: string;
|
|
116
|
+
/** 箱线图的数据,每一行按顺序分别是最小值、下四分位数、中位数、上四分位数、最大值。*/
|
|
117
|
+
data: [number, number, number, number, number][];
|
|
118
|
+
/**
|
|
119
|
+
* 每个数据值的格式化函数。
|
|
120
|
+
* @default (value) => value.toFixed(2)
|
|
121
|
+
*/
|
|
122
|
+
valueFormatter?: (value: number) => string;
|
|
123
|
+
/**
|
|
124
|
+
* 其它需要添加到系列上的选项,参见 [ECharts 文档][1]。
|
|
125
|
+
*
|
|
126
|
+
* [1]: https://echarts.apache.org/zh/option.html#series-boxplot
|
|
127
|
+
*/
|
|
128
|
+
option?: OrigBoxplotSeriesOption;
|
|
129
|
+
}
|
|
130
|
+
/** 在坐标系上添加一组箱线图。*/
|
|
131
|
+
export declare function boxplotSeries(option: BoxplotSeriesOption): EChartsSeries<OrigBoxplotSeriesOption>;
|