diff --git a/src/components/Echart/LineChart.vue b/src/components/Echart/LineChart.vue
index 18ed3ed..b7ec0cc 100644
--- a/src/components/Echart/LineChart.vue
+++ b/src/components/Echart/LineChart.vue
@@ -20,7 +20,7 @@
// 图例是否显示
legendShow: {
type: Boolean,
- default: false,
+ default: true,
},
// 图例
legend: {
@@ -117,18 +117,21 @@
grid: {
show: false, // 是否显示直角坐标系网格
left: 10,
- right: 30,
+ right: 20,
bottom: 5,
- top: 30,
+ top: 50,
containLabel: true, // grid 区域是否包含坐标轴的刻度标签
}, // 网格
legend: {
show: props.legendShow,
- orient: 'horizontal', // 图例方向
+ icon: 'circle',
+ orient: 'vertile', // 图例方向
align: 'left', // 图例标记和文本的对齐,默认自动
- top: 5,
+ top: 0,
+ itemWidth: 12,
+ itemHeight: 12,
padding: [0, 0, 0, 120],
- right: 130,
+ right: 20,
}, // 图例
tooltip: {
trigger: 'axis',
diff --git a/src/components/Echart/LineChart.vue b/src/components/Echart/LineChart.vue
index 18ed3ed..b7ec0cc 100644
--- a/src/components/Echart/LineChart.vue
+++ b/src/components/Echart/LineChart.vue
@@ -20,7 +20,7 @@
// 图例是否显示
legendShow: {
type: Boolean,
- default: false,
+ default: true,
},
// 图例
legend: {
@@ -117,18 +117,21 @@
grid: {
show: false, // 是否显示直角坐标系网格
left: 10,
- right: 30,
+ right: 20,
bottom: 5,
- top: 30,
+ top: 50,
containLabel: true, // grid 区域是否包含坐标轴的刻度标签
}, // 网格
legend: {
show: props.legendShow,
- orient: 'horizontal', // 图例方向
+ icon: 'circle',
+ orient: 'vertile', // 图例方向
align: 'left', // 图例标记和文本的对齐,默认自动
- top: 5,
+ top: 0,
+ itemWidth: 12,
+ itemHeight: 12,
padding: [0, 0, 0, 120],
- right: 130,
+ right: 20,
}, // 图例
tooltip: {
trigger: 'axis',
diff --git a/src/components/Echart/PieChart.vue b/src/components/Echart/PieChart.vue
new file mode 100644
index 0000000..797fd58
--- /dev/null
+++ b/src/components/Echart/PieChart.vue
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+
diff --git a/src/components/Echart/LineChart.vue b/src/components/Echart/LineChart.vue
index 18ed3ed..b7ec0cc 100644
--- a/src/components/Echart/LineChart.vue
+++ b/src/components/Echart/LineChart.vue
@@ -20,7 +20,7 @@
// 图例是否显示
legendShow: {
type: Boolean,
- default: false,
+ default: true,
},
// 图例
legend: {
@@ -117,18 +117,21 @@
grid: {
show: false, // 是否显示直角坐标系网格
left: 10,
- right: 30,
+ right: 20,
bottom: 5,
- top: 30,
+ top: 50,
containLabel: true, // grid 区域是否包含坐标轴的刻度标签
}, // 网格
legend: {
show: props.legendShow,
- orient: 'horizontal', // 图例方向
+ icon: 'circle',
+ orient: 'vertile', // 图例方向
align: 'left', // 图例标记和文本的对齐,默认自动
- top: 5,
+ top: 0,
+ itemWidth: 12,
+ itemHeight: 12,
padding: [0, 0, 0, 120],
- right: 130,
+ right: 20,
}, // 图例
tooltip: {
trigger: 'axis',
diff --git a/src/components/Echart/PieChart.vue b/src/components/Echart/PieChart.vue
new file mode 100644
index 0000000..797fd58
--- /dev/null
+++ b/src/components/Echart/PieChart.vue
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+
diff --git a/src/components/Echart/echart-interface.ts b/src/components/Echart/echart-interface.ts
index 3b8fa41..146e4fe 100644
--- a/src/components/Echart/echart-interface.ts
+++ b/src/components/Echart/echart-interface.ts
@@ -1,9 +1,16 @@
import type { LinearGradientObject } from 'echarts'
+// 折线数据格式
export interface lineDataI {
name: string // 轴线名称
data: string[] | number[] // 数值
color?: string // 颜色
}
+
+// 饼图数据格式
+export interface pieDataI {
+ name: string // 分类名称
+ value: number | string // 分类值
+}
// 标题配置
export interface titleOption {
title?: {
@@ -31,6 +38,7 @@
export interface legendOption {
legend?: {
show?: boolean
+ icon?: string // 图形样式
orient?: string // 图例方向
align?: string // 图例标记和文本的对齐,默认自动
left?: number | string // 上边距
@@ -38,7 +46,12 @@
bottom?: number | string // 下边距
top?: number | string // 顶部边距
padding?: number | [number, number] | [number, number, number, number] // 内边距
- data?: string[]
+ data?: string[] // 数值
+ itemWidth?: number // 图例标记宽
+ itemHeight?: number // 图例标记高
+ itemStyle?: { // 图例标记样式
+ decal?: string // 贴花图案
+ }
}
}
// 提示框
@@ -50,14 +63,15 @@
color?: string // 文字颜色,默认白色
fontSize?: number // 文字大小, 默认14
}
- axisPointer: { // 坐标轴指示器
+ axisPointer?: { // 坐标轴指示器
type: 'cross' | 'line' | 'shadow' | 'none'
label: {
show?: boolean // axisPointer为cross时默认显示,其他默认不显示
fontSize?: number // 文字大小,默认14
}
}
- valueFormatter: (value: number | string) => string // 数值显示部分格式化回调函数
+ formatter?: string
+ valueFormatter?: (value: number | string) => string // 数值显示部分格式化回调函数
}
}
@@ -135,6 +149,7 @@
}
}
+// 折线series配置项
export interface lineSeriesOption {
name?: string // 系列名称
type: 'line'
@@ -159,11 +174,47 @@
}
data: number[] | string[]
}
-
+// 饼图series配置项
+export interface pieSeriesOption {
+ name?: string // 系列名称
+ type: 'pie'
+ animationType?: string// 沿圆弧展开效果 expansion|scale
+ avoidLabelOverlap?: boolean // 是否启用防止标签重叠策略
+ roseType?: string | boolean // 玫瑰图类型
+ radius?: string[] // 饼图的半径[内半径,外半径]
+ center?: [string, string] // 圆心坐标[横坐标,纵坐标]
+ startAngle?: number // 开始的角度 //起始角度,支持范围[0, 360]。
+ label?: { // 饼图图形上的文本标签
+ show?: boolean // 是否显示
+ position?: string // 标签位置
+ fontSize?: number // 文字大小,默认12
+ fontWeight?: string // 文字粗细
+ lineHeight?: number // 行高
+ formatter?: string | Function // 标签内容格式器
+ rich?: object // 富文本样式
+ emphasis?: { // 高亮状态的扇区和标签样式
+ show?: boolean
+ textStyle: {
+ color?: string
+ fontSize?: number
+ fontWeight?: string
+ }
+ }
+ }
+ labelLine?: { // 视觉引导线
+ show?: boolean
+ }
+ data: pieDataI[]
+}
// 折线图配置项
export interface lineOption extends titleOption, gridOption, legendOption, tooltipOption {
xAxis: xAxisOption | xAxisOption[]
yAxis: yAxisOption | yAxisOption[]
series: lineSeriesOption[]
}
+// 饼图配置项
+export interface pieOption extends titleOption, gridOption, legendOption, tooltipOption {
+ color?: string[]
+ series: pieSeriesOption[]
+}
diff --git a/src/components/Echart/LineChart.vue b/src/components/Echart/LineChart.vue
index 18ed3ed..b7ec0cc 100644
--- a/src/components/Echart/LineChart.vue
+++ b/src/components/Echart/LineChart.vue
@@ -20,7 +20,7 @@
// 图例是否显示
legendShow: {
type: Boolean,
- default: false,
+ default: true,
},
// 图例
legend: {
@@ -117,18 +117,21 @@
grid: {
show: false, // 是否显示直角坐标系网格
left: 10,
- right: 30,
+ right: 20,
bottom: 5,
- top: 30,
+ top: 50,
containLabel: true, // grid 区域是否包含坐标轴的刻度标签
}, // 网格
legend: {
show: props.legendShow,
- orient: 'horizontal', // 图例方向
+ icon: 'circle',
+ orient: 'vertile', // 图例方向
align: 'left', // 图例标记和文本的对齐,默认自动
- top: 5,
+ top: 0,
+ itemWidth: 12,
+ itemHeight: 12,
padding: [0, 0, 0, 120],
- right: 130,
+ right: 20,
}, // 图例
tooltip: {
trigger: 'axis',
diff --git a/src/components/Echart/PieChart.vue b/src/components/Echart/PieChart.vue
new file mode 100644
index 0000000..797fd58
--- /dev/null
+++ b/src/components/Echart/PieChart.vue
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+
diff --git a/src/components/Echart/echart-interface.ts b/src/components/Echart/echart-interface.ts
index 3b8fa41..146e4fe 100644
--- a/src/components/Echart/echart-interface.ts
+++ b/src/components/Echart/echart-interface.ts
@@ -1,9 +1,16 @@
import type { LinearGradientObject } from 'echarts'
+// 折线数据格式
export interface lineDataI {
name: string // 轴线名称
data: string[] | number[] // 数值
color?: string // 颜色
}
+
+// 饼图数据格式
+export interface pieDataI {
+ name: string // 分类名称
+ value: number | string // 分类值
+}
// 标题配置
export interface titleOption {
title?: {
@@ -31,6 +38,7 @@
export interface legendOption {
legend?: {
show?: boolean
+ icon?: string // 图形样式
orient?: string // 图例方向
align?: string // 图例标记和文本的对齐,默认自动
left?: number | string // 上边距
@@ -38,7 +46,12 @@
bottom?: number | string // 下边距
top?: number | string // 顶部边距
padding?: number | [number, number] | [number, number, number, number] // 内边距
- data?: string[]
+ data?: string[] // 数值
+ itemWidth?: number // 图例标记宽
+ itemHeight?: number // 图例标记高
+ itemStyle?: { // 图例标记样式
+ decal?: string // 贴花图案
+ }
}
}
// 提示框
@@ -50,14 +63,15 @@
color?: string // 文字颜色,默认白色
fontSize?: number // 文字大小, 默认14
}
- axisPointer: { // 坐标轴指示器
+ axisPointer?: { // 坐标轴指示器
type: 'cross' | 'line' | 'shadow' | 'none'
label: {
show?: boolean // axisPointer为cross时默认显示,其他默认不显示
fontSize?: number // 文字大小,默认14
}
}
- valueFormatter: (value: number | string) => string // 数值显示部分格式化回调函数
+ formatter?: string
+ valueFormatter?: (value: number | string) => string // 数值显示部分格式化回调函数
}
}
@@ -135,6 +149,7 @@
}
}
+// 折线series配置项
export interface lineSeriesOption {
name?: string // 系列名称
type: 'line'
@@ -159,11 +174,47 @@
}
data: number[] | string[]
}
-
+// 饼图series配置项
+export interface pieSeriesOption {
+ name?: string // 系列名称
+ type: 'pie'
+ animationType?: string// 沿圆弧展开效果 expansion|scale
+ avoidLabelOverlap?: boolean // 是否启用防止标签重叠策略
+ roseType?: string | boolean // 玫瑰图类型
+ radius?: string[] // 饼图的半径[内半径,外半径]
+ center?: [string, string] // 圆心坐标[横坐标,纵坐标]
+ startAngle?: number // 开始的角度 //起始角度,支持范围[0, 360]。
+ label?: { // 饼图图形上的文本标签
+ show?: boolean // 是否显示
+ position?: string // 标签位置
+ fontSize?: number // 文字大小,默认12
+ fontWeight?: string // 文字粗细
+ lineHeight?: number // 行高
+ formatter?: string | Function // 标签内容格式器
+ rich?: object // 富文本样式
+ emphasis?: { // 高亮状态的扇区和标签样式
+ show?: boolean
+ textStyle: {
+ color?: string
+ fontSize?: number
+ fontWeight?: string
+ }
+ }
+ }
+ labelLine?: { // 视觉引导线
+ show?: boolean
+ }
+ data: pieDataI[]
+}
// 折线图配置项
export interface lineOption extends titleOption, gridOption, legendOption, tooltipOption {
xAxis: xAxisOption | xAxisOption[]
yAxis: yAxisOption | yAxisOption[]
series: lineSeriesOption[]
}
+// 饼图配置项
+export interface pieOption extends titleOption, gridOption, legendOption, tooltipOption {
+ color?: string[]
+ series: pieSeriesOption[]
+}
diff --git a/src/components/Echart/theme.json b/src/components/Echart/theme.json
index 9488751..365f766 100644
--- a/src/components/Echart/theme.json
+++ b/src/components/Echart/theme.json
@@ -399,7 +399,7 @@
},
"legend": {
"textStyle": {
- "color": "#fff"
+ "color": "#333"
}
},
"tooltip": {