|
@@ -37,12 +37,45 @@ class EChartsComponent {
|
|
|
CanvasRenderer
|
|
|
]
|
|
|
)
|
|
|
- this.el = ECharts.init(el)
|
|
|
+ // 默认颜色数组
|
|
|
+ // 20个默认颜色色组 - 精心挑选的视觉区分度高的颜色
|
|
|
+ const defaultColors = [
|
|
|
+ '#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd',
|
|
|
+ '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf',
|
|
|
+ '#aec7e8', '#ffbb78', '#98df8a', '#ff9896', '#c5b0d5',
|
|
|
+ '#c49c94', '#f7b6d2', '#c7c7c7', '#dbdb8d', '#9edae5',
|
|
|
+ '#393b79', '#637939', '#8c6d31', '#843c39', '#7b4173',
|
|
|
+ '#5254a3', '#6baed6', '#9e9ac8', '#807dba', '#6a51a3'
|
|
|
+ ].slice(0, 20) // 确保只有20个颜色
|
|
|
+
|
|
|
+ const echartsInstance = ECharts.init(el)
|
|
|
+ const handler = {
|
|
|
+ get: function (target, prop) {
|
|
|
+ if (prop === 'setOption') {
|
|
|
+ return function (option, ...args) {
|
|
|
+ // 合并颜色配置
|
|
|
+ const mergedOption = {
|
|
|
+ color: defaultColors,
|
|
|
+ ...option
|
|
|
+ }
|
|
|
+ // 调用原始的 setOption 方法
|
|
|
+ return target[prop](mergedOption, ...args)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return target[prop]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.el = new Proxy(echartsInstance, handler)
|
|
|
}
|
|
|
|
|
|
getEl () {
|
|
|
return this.el
|
|
|
}
|
|
|
+
|
|
|
+ // 可选:添加方法来更新默认颜色
|
|
|
+ setDefaultColors (colors) {
|
|
|
+ this.defaultColors = colors.slice(0, 20) // 确保不超过20个颜色
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
export default EChartsComponent
|