diff --git a/src/components/Echart/LineChart.vue b/src/components/Echart/LineChart.vue
new file mode 100644
index 0000000..18ed3ed
--- /dev/null
+++ b/src/components/Echart/LineChart.vue
@@ -0,0 +1,292 @@
+
+
+
+
+
+
+
diff --git a/src/components/Echart/LineChart.vue b/src/components/Echart/LineChart.vue
new file mode 100644
index 0000000..18ed3ed
--- /dev/null
+++ b/src/components/Echart/LineChart.vue
@@ -0,0 +1,292 @@
+
+
+
+
+
+
+
diff --git a/src/components/Echart/echart-interface.ts b/src/components/Echart/echart-interface.ts
new file mode 100644
index 0000000..3b8fa41
--- /dev/null
+++ b/src/components/Echart/echart-interface.ts
@@ -0,0 +1,169 @@
+import type { LinearGradientObject } from 'echarts'
+export interface lineDataI {
+ name: string // 轴线名称
+ data: string[] | number[] // 数值
+ color?: string // 颜色
+}
+// 标题配置
+export interface titleOption {
+ title?: {
+ show?: boolean // 是否显示标题
+ left?: number | string // 上边距
+ right?: number | string // 右边距
+ bottom?: number | string // 下边距
+ top?: number | string // 顶部边距
+ text: string // 标题
+ }
+}
+
+// 网格配置
+export interface gridOption {
+ grid?: {
+ show?: boolean // 是否显示直角坐标系网格
+ left?: number | string // 上边距
+ right?: number | string // 右边距
+ bottom?: number | string // 下边距
+ top?: number | string // 顶部边距
+ containLabel?: boolean // grid区域是否包含坐标轴的刻度标签
+ }
+}
+// 图例
+export interface legendOption {
+ legend?: {
+ show?: boolean
+ orient?: string // 图例方向
+ align?: string // 图例标记和文本的对齐,默认自动
+ left?: number | string // 上边距
+ right?: number | string // 右边距
+ bottom?: number | string // 下边距
+ top?: number | string // 顶部边距
+ padding?: number | [number, number] | [number, number, number, number] // 内边距
+ data?: string[]
+ }
+}
+// 提示框
+export interface tooltipOption {
+ tooltip: {
+ show?: boolean
+ trigger: 'axis' | 'item' | 'none' // 触发类型
+ textStyle: { // 浮层的文本样式
+ color?: string // 文字颜色,默认白色
+ fontSize?: number // 文字大小, 默认14
+ }
+ axisPointer: { // 坐标轴指示器
+ type: 'cross' | 'line' | 'shadow' | 'none'
+ label: {
+ show?: boolean // axisPointer为cross时默认显示,其他默认不显示
+ fontSize?: number // 文字大小,默认14
+ }
+ }
+ valueFormatter: (value: number | string) => string // 数值显示部分格式化回调函数
+ }
+}
+
+// x轴
+export interface xAxisOption {
+ type: string // 'category' | 'value' | 'time' | 'log'
+ name?: string
+ boundaryGap?: boolean | string[]
+ data?: Array // 类目数据,在类目轴(type=category)中有效
+ axisLine?: { // 坐标轴线
+ show?: boolean
+ lineStyle?: {
+ color?: string // 轴线的颜色
+ width?: number // 轴线宽度,默认1
+ }
+ }
+ nameTextStyle?: { // 坐标轴名称的文字样式。
+ color?: string
+ fontSize?: number // 默认12
+ verticalAlign: 'auto' | 'top' | 'middle' | 'bottom' // 文字垂直对齐方式
+ }
+ axisLabel?: { // 坐标轴刻度标签
+ color?: string // X轴名称颜色
+ fontSize?: number //
+ }
+ splitLine: { // 坐标轴在 grid 区域中的分隔线
+ show: boolean
+ interval?: string | number | ((index: number, value: string) => boolean) // 坐标轴分隔线的显示间隔
+ lineStyle?: {
+ color?: string | Array
+ type?: string // 'dashed' | 'solid' | 'dotted'
+ shadowBlur?: number // 图形阴影的模糊大小
+ shadowColor?: string // 阴影颜色
+ shadowOffsetX?: number // 阴影水平方向的偏移距离
+ shadowOffsetY?: number // 阴影垂直方向的偏移距离
+ }
+ opacity?: number // 透明度,默认1
+ }
+}
+
+// Y轴
+export interface yAxisOption {
+ type: string // 'category' | 'value' | 'time' | 'log'
+ name?: string
+ boundaryGap?: boolean | string[]
+ data?: Array // 类目数据,在类目轴(type=category)中有效
+ axisLine?: { // 坐标轴线
+ show?: boolean
+ lineStyle?: {
+ color?: string // 轴线的颜色
+ width?: number // 轴线宽度,默认1
+ }
+ }
+ nameTextStyle?: { // 坐标轴名称的文字样式。
+ color?: string
+ fontSize?: number // 默认12
+ verticalAlign: 'auto' | 'top' | 'middle' | 'bottom' // 文字垂直对齐方式
+ }
+ axisLabel?: { // 坐标轴刻度标签
+ color?: string // X轴名称颜色
+ fontSize?: number //
+ }
+ splitLine: { // 坐标轴在 grid 区域中的分隔线
+ show?: boolean
+ interval?: string | number | ((index: number, value: string) => boolean) // 坐标轴分隔线的显示间隔
+ lineStyle: {
+ color?: string | Array
+ type?: string // 'dashed' | 'solid' | 'dotted'
+ shadowBlur?: number // 图形阴影的模糊大小
+ shadowColor?: string // 阴影颜色
+ shadowOffsetX?: number // 阴影水平方向的偏移距离
+ shadowOffsetY?: number // 阴影垂直方向的偏移距离
+ }
+ opacity?: number // 透明度,默认1
+ }
+}
+
+export interface lineSeriesOption {
+ name?: string // 系列名称
+ type: 'line'
+ symbol?: string | Function // 标记的图形 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
+ smooth?: boolean // 曲线平滑设置, 默认false
+ itemStyle?: { // 折线拐点样式
+ color?: string // 图形的颜色
+ borderColor?: string // 图形的描边颜色
+ borderWidth?: number // 描边线宽。默认0,无描边。
+ shadowBlur?: number // 图形阴影的模糊大小
+ shadowColor?: string // 阴影颜色
+ shadowOffsetX?: number // 阴影水平方向的偏移距离
+ shadowOffsetY?: number // 阴影垂直方向的偏移距离
+ }
+ lineStyle?: { // 线条样式
+ width: number // 线条宽度,默认2
+ color?: string // 线条颜色, 默认#000
+ type?: 'solid' | 'dashed' | 'dotted' // 默认solid
+ }
+ areaStyle?: { // 区域填充样式
+ color?: string | LinearGradientObject // 填充颜色
+ }
+ data: number[] | string[]
+}
+
+// 折线图配置项
+export interface lineOption extends titleOption, gridOption, legendOption, tooltipOption {
+ xAxis: xAxisOption | xAxisOption[]
+ yAxis: yAxisOption | yAxisOption[]
+ series: lineSeriesOption[]
+}
+
diff --git a/src/components/Echart/LineChart.vue b/src/components/Echart/LineChart.vue
new file mode 100644
index 0000000..18ed3ed
--- /dev/null
+++ b/src/components/Echart/LineChart.vue
@@ -0,0 +1,292 @@
+
+
+
+
+
+
+
diff --git a/src/components/Echart/echart-interface.ts b/src/components/Echart/echart-interface.ts
new file mode 100644
index 0000000..3b8fa41
--- /dev/null
+++ b/src/components/Echart/echart-interface.ts
@@ -0,0 +1,169 @@
+import type { LinearGradientObject } from 'echarts'
+export interface lineDataI {
+ name: string // 轴线名称
+ data: string[] | number[] // 数值
+ color?: string // 颜色
+}
+// 标题配置
+export interface titleOption {
+ title?: {
+ show?: boolean // 是否显示标题
+ left?: number | string // 上边距
+ right?: number | string // 右边距
+ bottom?: number | string // 下边距
+ top?: number | string // 顶部边距
+ text: string // 标题
+ }
+}
+
+// 网格配置
+export interface gridOption {
+ grid?: {
+ show?: boolean // 是否显示直角坐标系网格
+ left?: number | string // 上边距
+ right?: number | string // 右边距
+ bottom?: number | string // 下边距
+ top?: number | string // 顶部边距
+ containLabel?: boolean // grid区域是否包含坐标轴的刻度标签
+ }
+}
+// 图例
+export interface legendOption {
+ legend?: {
+ show?: boolean
+ orient?: string // 图例方向
+ align?: string // 图例标记和文本的对齐,默认自动
+ left?: number | string // 上边距
+ right?: number | string // 右边距
+ bottom?: number | string // 下边距
+ top?: number | string // 顶部边距
+ padding?: number | [number, number] | [number, number, number, number] // 内边距
+ data?: string[]
+ }
+}
+// 提示框
+export interface tooltipOption {
+ tooltip: {
+ show?: boolean
+ trigger: 'axis' | 'item' | 'none' // 触发类型
+ textStyle: { // 浮层的文本样式
+ color?: string // 文字颜色,默认白色
+ fontSize?: number // 文字大小, 默认14
+ }
+ axisPointer: { // 坐标轴指示器
+ type: 'cross' | 'line' | 'shadow' | 'none'
+ label: {
+ show?: boolean // axisPointer为cross时默认显示,其他默认不显示
+ fontSize?: number // 文字大小,默认14
+ }
+ }
+ valueFormatter: (value: number | string) => string // 数值显示部分格式化回调函数
+ }
+}
+
+// x轴
+export interface xAxisOption {
+ type: string // 'category' | 'value' | 'time' | 'log'
+ name?: string
+ boundaryGap?: boolean | string[]
+ data?: Array // 类目数据,在类目轴(type=category)中有效
+ axisLine?: { // 坐标轴线
+ show?: boolean
+ lineStyle?: {
+ color?: string // 轴线的颜色
+ width?: number // 轴线宽度,默认1
+ }
+ }
+ nameTextStyle?: { // 坐标轴名称的文字样式。
+ color?: string
+ fontSize?: number // 默认12
+ verticalAlign: 'auto' | 'top' | 'middle' | 'bottom' // 文字垂直对齐方式
+ }
+ axisLabel?: { // 坐标轴刻度标签
+ color?: string // X轴名称颜色
+ fontSize?: number //
+ }
+ splitLine: { // 坐标轴在 grid 区域中的分隔线
+ show: boolean
+ interval?: string | number | ((index: number, value: string) => boolean) // 坐标轴分隔线的显示间隔
+ lineStyle?: {
+ color?: string | Array
+ type?: string // 'dashed' | 'solid' | 'dotted'
+ shadowBlur?: number // 图形阴影的模糊大小
+ shadowColor?: string // 阴影颜色
+ shadowOffsetX?: number // 阴影水平方向的偏移距离
+ shadowOffsetY?: number // 阴影垂直方向的偏移距离
+ }
+ opacity?: number // 透明度,默认1
+ }
+}
+
+// Y轴
+export interface yAxisOption {
+ type: string // 'category' | 'value' | 'time' | 'log'
+ name?: string
+ boundaryGap?: boolean | string[]
+ data?: Array // 类目数据,在类目轴(type=category)中有效
+ axisLine?: { // 坐标轴线
+ show?: boolean
+ lineStyle?: {
+ color?: string // 轴线的颜色
+ width?: number // 轴线宽度,默认1
+ }
+ }
+ nameTextStyle?: { // 坐标轴名称的文字样式。
+ color?: string
+ fontSize?: number // 默认12
+ verticalAlign: 'auto' | 'top' | 'middle' | 'bottom' // 文字垂直对齐方式
+ }
+ axisLabel?: { // 坐标轴刻度标签
+ color?: string // X轴名称颜色
+ fontSize?: number //
+ }
+ splitLine: { // 坐标轴在 grid 区域中的分隔线
+ show?: boolean
+ interval?: string | number | ((index: number, value: string) => boolean) // 坐标轴分隔线的显示间隔
+ lineStyle: {
+ color?: string | Array
+ type?: string // 'dashed' | 'solid' | 'dotted'
+ shadowBlur?: number // 图形阴影的模糊大小
+ shadowColor?: string // 阴影颜色
+ shadowOffsetX?: number // 阴影水平方向的偏移距离
+ shadowOffsetY?: number // 阴影垂直方向的偏移距离
+ }
+ opacity?: number // 透明度,默认1
+ }
+}
+
+export interface lineSeriesOption {
+ name?: string // 系列名称
+ type: 'line'
+ symbol?: string | Function // 标记的图形 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
+ smooth?: boolean // 曲线平滑设置, 默认false
+ itemStyle?: { // 折线拐点样式
+ color?: string // 图形的颜色
+ borderColor?: string // 图形的描边颜色
+ borderWidth?: number // 描边线宽。默认0,无描边。
+ shadowBlur?: number // 图形阴影的模糊大小
+ shadowColor?: string // 阴影颜色
+ shadowOffsetX?: number // 阴影水平方向的偏移距离
+ shadowOffsetY?: number // 阴影垂直方向的偏移距离
+ }
+ lineStyle?: { // 线条样式
+ width: number // 线条宽度,默认2
+ color?: string // 线条颜色, 默认#000
+ type?: 'solid' | 'dashed' | 'dotted' // 默认solid
+ }
+ areaStyle?: { // 区域填充样式
+ color?: string | LinearGradientObject // 填充颜色
+ }
+ data: number[] | string[]
+}
+
+// 折线图配置项
+export interface lineOption extends titleOption, gridOption, legendOption, tooltipOption {
+ xAxis: xAxisOption | xAxisOption[]
+ yAxis: yAxisOption | yAxisOption[]
+ series: lineSeriesOption[]
+}
+
diff --git a/src/components/Echart/index.vue b/src/components/Echart/index.vue
deleted file mode 100644
index 9efe188..0000000
--- a/src/components/Echart/index.vue
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/components/Echart/LineChart.vue b/src/components/Echart/LineChart.vue
new file mode 100644
index 0000000..18ed3ed
--- /dev/null
+++ b/src/components/Echart/LineChart.vue
@@ -0,0 +1,292 @@
+
+
+
+
+
+
+
diff --git a/src/components/Echart/echart-interface.ts b/src/components/Echart/echart-interface.ts
new file mode 100644
index 0000000..3b8fa41
--- /dev/null
+++ b/src/components/Echart/echart-interface.ts
@@ -0,0 +1,169 @@
+import type { LinearGradientObject } from 'echarts'
+export interface lineDataI {
+ name: string // 轴线名称
+ data: string[] | number[] // 数值
+ color?: string // 颜色
+}
+// 标题配置
+export interface titleOption {
+ title?: {
+ show?: boolean // 是否显示标题
+ left?: number | string // 上边距
+ right?: number | string // 右边距
+ bottom?: number | string // 下边距
+ top?: number | string // 顶部边距
+ text: string // 标题
+ }
+}
+
+// 网格配置
+export interface gridOption {
+ grid?: {
+ show?: boolean // 是否显示直角坐标系网格
+ left?: number | string // 上边距
+ right?: number | string // 右边距
+ bottom?: number | string // 下边距
+ top?: number | string // 顶部边距
+ containLabel?: boolean // grid区域是否包含坐标轴的刻度标签
+ }
+}
+// 图例
+export interface legendOption {
+ legend?: {
+ show?: boolean
+ orient?: string // 图例方向
+ align?: string // 图例标记和文本的对齐,默认自动
+ left?: number | string // 上边距
+ right?: number | string // 右边距
+ bottom?: number | string // 下边距
+ top?: number | string // 顶部边距
+ padding?: number | [number, number] | [number, number, number, number] // 内边距
+ data?: string[]
+ }
+}
+// 提示框
+export interface tooltipOption {
+ tooltip: {
+ show?: boolean
+ trigger: 'axis' | 'item' | 'none' // 触发类型
+ textStyle: { // 浮层的文本样式
+ color?: string // 文字颜色,默认白色
+ fontSize?: number // 文字大小, 默认14
+ }
+ axisPointer: { // 坐标轴指示器
+ type: 'cross' | 'line' | 'shadow' | 'none'
+ label: {
+ show?: boolean // axisPointer为cross时默认显示,其他默认不显示
+ fontSize?: number // 文字大小,默认14
+ }
+ }
+ valueFormatter: (value: number | string) => string // 数值显示部分格式化回调函数
+ }
+}
+
+// x轴
+export interface xAxisOption {
+ type: string // 'category' | 'value' | 'time' | 'log'
+ name?: string
+ boundaryGap?: boolean | string[]
+ data?: Array // 类目数据,在类目轴(type=category)中有效
+ axisLine?: { // 坐标轴线
+ show?: boolean
+ lineStyle?: {
+ color?: string // 轴线的颜色
+ width?: number // 轴线宽度,默认1
+ }
+ }
+ nameTextStyle?: { // 坐标轴名称的文字样式。
+ color?: string
+ fontSize?: number // 默认12
+ verticalAlign: 'auto' | 'top' | 'middle' | 'bottom' // 文字垂直对齐方式
+ }
+ axisLabel?: { // 坐标轴刻度标签
+ color?: string // X轴名称颜色
+ fontSize?: number //
+ }
+ splitLine: { // 坐标轴在 grid 区域中的分隔线
+ show: boolean
+ interval?: string | number | ((index: number, value: string) => boolean) // 坐标轴分隔线的显示间隔
+ lineStyle?: {
+ color?: string | Array
+ type?: string // 'dashed' | 'solid' | 'dotted'
+ shadowBlur?: number // 图形阴影的模糊大小
+ shadowColor?: string // 阴影颜色
+ shadowOffsetX?: number // 阴影水平方向的偏移距离
+ shadowOffsetY?: number // 阴影垂直方向的偏移距离
+ }
+ opacity?: number // 透明度,默认1
+ }
+}
+
+// Y轴
+export interface yAxisOption {
+ type: string // 'category' | 'value' | 'time' | 'log'
+ name?: string
+ boundaryGap?: boolean | string[]
+ data?: Array // 类目数据,在类目轴(type=category)中有效
+ axisLine?: { // 坐标轴线
+ show?: boolean
+ lineStyle?: {
+ color?: string // 轴线的颜色
+ width?: number // 轴线宽度,默认1
+ }
+ }
+ nameTextStyle?: { // 坐标轴名称的文字样式。
+ color?: string
+ fontSize?: number // 默认12
+ verticalAlign: 'auto' | 'top' | 'middle' | 'bottom' // 文字垂直对齐方式
+ }
+ axisLabel?: { // 坐标轴刻度标签
+ color?: string // X轴名称颜色
+ fontSize?: number //
+ }
+ splitLine: { // 坐标轴在 grid 区域中的分隔线
+ show?: boolean
+ interval?: string | number | ((index: number, value: string) => boolean) // 坐标轴分隔线的显示间隔
+ lineStyle: {
+ color?: string | Array
+ type?: string // 'dashed' | 'solid' | 'dotted'
+ shadowBlur?: number // 图形阴影的模糊大小
+ shadowColor?: string // 阴影颜色
+ shadowOffsetX?: number // 阴影水平方向的偏移距离
+ shadowOffsetY?: number // 阴影垂直方向的偏移距离
+ }
+ opacity?: number // 透明度,默认1
+ }
+}
+
+export interface lineSeriesOption {
+ name?: string // 系列名称
+ type: 'line'
+ symbol?: string | Function // 标记的图形 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
+ smooth?: boolean // 曲线平滑设置, 默认false
+ itemStyle?: { // 折线拐点样式
+ color?: string // 图形的颜色
+ borderColor?: string // 图形的描边颜色
+ borderWidth?: number // 描边线宽。默认0,无描边。
+ shadowBlur?: number // 图形阴影的模糊大小
+ shadowColor?: string // 阴影颜色
+ shadowOffsetX?: number // 阴影水平方向的偏移距离
+ shadowOffsetY?: number // 阴影垂直方向的偏移距离
+ }
+ lineStyle?: { // 线条样式
+ width: number // 线条宽度,默认2
+ color?: string // 线条颜色, 默认#000
+ type?: 'solid' | 'dashed' | 'dotted' // 默认solid
+ }
+ areaStyle?: { // 区域填充样式
+ color?: string | LinearGradientObject // 填充颜色
+ }
+ data: number[] | string[]
+}
+
+// 折线图配置项
+export interface lineOption extends titleOption, gridOption, legendOption, tooltipOption {
+ xAxis: xAxisOption | xAxisOption[]
+ yAxis: yAxisOption | yAxisOption[]
+ series: lineSeriesOption[]
+}
+
diff --git a/src/components/Echart/index.vue b/src/components/Echart/index.vue
deleted file mode 100644
index 9efe188..0000000
--- a/src/components/Echart/index.vue
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/components/Echart/theme.json b/src/components/Echart/theme.json
index 58a1f46..9488751 100644
--- a/src/components/Echart/theme.json
+++ b/src/components/Echart/theme.json
@@ -255,7 +255,7 @@
"axisLabel": {
"show": true,
"textStyle": {
- "color": "#fff"
+ "color": "#222"
}
},
"splitLine": {
@@ -292,7 +292,7 @@
"axisLabel": {
"show": true,
"textStyle": {
- "color": "#fff"
+ "color": "#333"
}
},
"splitLine": {
diff --git a/src/components/Echart/LineChart.vue b/src/components/Echart/LineChart.vue
new file mode 100644
index 0000000..18ed3ed
--- /dev/null
+++ b/src/components/Echart/LineChart.vue
@@ -0,0 +1,292 @@
+
+
+
+
+
+
+
diff --git a/src/components/Echart/echart-interface.ts b/src/components/Echart/echart-interface.ts
new file mode 100644
index 0000000..3b8fa41
--- /dev/null
+++ b/src/components/Echart/echart-interface.ts
@@ -0,0 +1,169 @@
+import type { LinearGradientObject } from 'echarts'
+export interface lineDataI {
+ name: string // 轴线名称
+ data: string[] | number[] // 数值
+ color?: string // 颜色
+}
+// 标题配置
+export interface titleOption {
+ title?: {
+ show?: boolean // 是否显示标题
+ left?: number | string // 上边距
+ right?: number | string // 右边距
+ bottom?: number | string // 下边距
+ top?: number | string // 顶部边距
+ text: string // 标题
+ }
+}
+
+// 网格配置
+export interface gridOption {
+ grid?: {
+ show?: boolean // 是否显示直角坐标系网格
+ left?: number | string // 上边距
+ right?: number | string // 右边距
+ bottom?: number | string // 下边距
+ top?: number | string // 顶部边距
+ containLabel?: boolean // grid区域是否包含坐标轴的刻度标签
+ }
+}
+// 图例
+export interface legendOption {
+ legend?: {
+ show?: boolean
+ orient?: string // 图例方向
+ align?: string // 图例标记和文本的对齐,默认自动
+ left?: number | string // 上边距
+ right?: number | string // 右边距
+ bottom?: number | string // 下边距
+ top?: number | string // 顶部边距
+ padding?: number | [number, number] | [number, number, number, number] // 内边距
+ data?: string[]
+ }
+}
+// 提示框
+export interface tooltipOption {
+ tooltip: {
+ show?: boolean
+ trigger: 'axis' | 'item' | 'none' // 触发类型
+ textStyle: { // 浮层的文本样式
+ color?: string // 文字颜色,默认白色
+ fontSize?: number // 文字大小, 默认14
+ }
+ axisPointer: { // 坐标轴指示器
+ type: 'cross' | 'line' | 'shadow' | 'none'
+ label: {
+ show?: boolean // axisPointer为cross时默认显示,其他默认不显示
+ fontSize?: number // 文字大小,默认14
+ }
+ }
+ valueFormatter: (value: number | string) => string // 数值显示部分格式化回调函数
+ }
+}
+
+// x轴
+export interface xAxisOption {
+ type: string // 'category' | 'value' | 'time' | 'log'
+ name?: string
+ boundaryGap?: boolean | string[]
+ data?: Array // 类目数据,在类目轴(type=category)中有效
+ axisLine?: { // 坐标轴线
+ show?: boolean
+ lineStyle?: {
+ color?: string // 轴线的颜色
+ width?: number // 轴线宽度,默认1
+ }
+ }
+ nameTextStyle?: { // 坐标轴名称的文字样式。
+ color?: string
+ fontSize?: number // 默认12
+ verticalAlign: 'auto' | 'top' | 'middle' | 'bottom' // 文字垂直对齐方式
+ }
+ axisLabel?: { // 坐标轴刻度标签
+ color?: string // X轴名称颜色
+ fontSize?: number //
+ }
+ splitLine: { // 坐标轴在 grid 区域中的分隔线
+ show: boolean
+ interval?: string | number | ((index: number, value: string) => boolean) // 坐标轴分隔线的显示间隔
+ lineStyle?: {
+ color?: string | Array
+ type?: string // 'dashed' | 'solid' | 'dotted'
+ shadowBlur?: number // 图形阴影的模糊大小
+ shadowColor?: string // 阴影颜色
+ shadowOffsetX?: number // 阴影水平方向的偏移距离
+ shadowOffsetY?: number // 阴影垂直方向的偏移距离
+ }
+ opacity?: number // 透明度,默认1
+ }
+}
+
+// Y轴
+export interface yAxisOption {
+ type: string // 'category' | 'value' | 'time' | 'log'
+ name?: string
+ boundaryGap?: boolean | string[]
+ data?: Array // 类目数据,在类目轴(type=category)中有效
+ axisLine?: { // 坐标轴线
+ show?: boolean
+ lineStyle?: {
+ color?: string // 轴线的颜色
+ width?: number // 轴线宽度,默认1
+ }
+ }
+ nameTextStyle?: { // 坐标轴名称的文字样式。
+ color?: string
+ fontSize?: number // 默认12
+ verticalAlign: 'auto' | 'top' | 'middle' | 'bottom' // 文字垂直对齐方式
+ }
+ axisLabel?: { // 坐标轴刻度标签
+ color?: string // X轴名称颜色
+ fontSize?: number //
+ }
+ splitLine: { // 坐标轴在 grid 区域中的分隔线
+ show?: boolean
+ interval?: string | number | ((index: number, value: string) => boolean) // 坐标轴分隔线的显示间隔
+ lineStyle: {
+ color?: string | Array
+ type?: string // 'dashed' | 'solid' | 'dotted'
+ shadowBlur?: number // 图形阴影的模糊大小
+ shadowColor?: string // 阴影颜色
+ shadowOffsetX?: number // 阴影水平方向的偏移距离
+ shadowOffsetY?: number // 阴影垂直方向的偏移距离
+ }
+ opacity?: number // 透明度,默认1
+ }
+}
+
+export interface lineSeriesOption {
+ name?: string // 系列名称
+ type: 'line'
+ symbol?: string | Function // 标记的图形 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
+ smooth?: boolean // 曲线平滑设置, 默认false
+ itemStyle?: { // 折线拐点样式
+ color?: string // 图形的颜色
+ borderColor?: string // 图形的描边颜色
+ borderWidth?: number // 描边线宽。默认0,无描边。
+ shadowBlur?: number // 图形阴影的模糊大小
+ shadowColor?: string // 阴影颜色
+ shadowOffsetX?: number // 阴影水平方向的偏移距离
+ shadowOffsetY?: number // 阴影垂直方向的偏移距离
+ }
+ lineStyle?: { // 线条样式
+ width: number // 线条宽度,默认2
+ color?: string // 线条颜色, 默认#000
+ type?: 'solid' | 'dashed' | 'dotted' // 默认solid
+ }
+ areaStyle?: { // 区域填充样式
+ color?: string | LinearGradientObject // 填充颜色
+ }
+ data: number[] | string[]
+}
+
+// 折线图配置项
+export interface lineOption extends titleOption, gridOption, legendOption, tooltipOption {
+ xAxis: xAxisOption | xAxisOption[]
+ yAxis: yAxisOption | yAxisOption[]
+ series: lineSeriesOption[]
+}
+
diff --git a/src/components/Echart/index.vue b/src/components/Echart/index.vue
deleted file mode 100644
index 9efe188..0000000
--- a/src/components/Echart/index.vue
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/components/Echart/theme.json b/src/components/Echart/theme.json
index 58a1f46..9488751 100644
--- a/src/components/Echart/theme.json
+++ b/src/components/Echart/theme.json
@@ -255,7 +255,7 @@
"axisLabel": {
"show": true,
"textStyle": {
- "color": "#fff"
+ "color": "#222"
}
},
"splitLine": {
@@ -292,7 +292,7 @@
"axisLabel": {
"show": true,
"textStyle": {
- "color": "#fff"
+ "color": "#333"
}
},
"splitLine": {
diff --git a/src/components/Echart/utils.ts b/src/components/Echart/utils.ts
new file mode 100644
index 0000000..0acd088
--- /dev/null
+++ b/src/components/Echart/utils.ts
@@ -0,0 +1,38 @@
+/**
+ * 格式化颜色
+ * @param value 颜色值 #aaa格式或rgb格式
+ * @returns 颜色值
+ */
+export function formatColor(value: string): string {
+ const rgbReg = /((2[0-4]\\d|25[0-5]|[01]?[0-9]?[0-9]?)[\\s]*,){2}[\\s]*(2[0-4]\\d|25[0-5]|[0-1]?[0-9]?[0-9])$/
+ if (value.startsWith('#')) { // #号开头的颜色值
+ return value
+ }
+ else if (rgbReg.test(value)) { // 数字开头的颜色值
+ return `rgb(${value})`
+ }
+ else {
+ return ''
+ }
+}
+
+/**
+ * 获取某颜色的透明度颜色
+ * @param color 颜色
+ * @param alpha 透明度
+ * @returns 透明度颜色
+ */
+export function getAlphaColor(color: string, alpha: number): string {
+ const rgbReg = /((2[0-4]\\d|25[0-5]|[01]?[0-9]?[0-9]?)[\\s]*,){2}[\\s]*(2[0-4]\\d|25[0-5]|[0-1]?[0-9]?[0-9])$/
+ if (color.startsWith('#')) { // #号开头的颜色值
+ let alpha2 = Math.floor(alpha * 255)
+ alpha2 = alpha > 255 ? 255 : alpha2
+ return color + alpha2.toString(16) // 转换为16进制
+ }
+ else if (rgbReg.test(color)) { // 数字开头的颜色值
+ return `rgba(${color}, ${alpha})`
+ }
+ else {
+ return ''
+ }
+}