在做后台管理系统时,很多时候都需要用图表来展示数据,echarts是其中一种使用广泛的图表库,调色盘颜色种数有限只有9种颜色。当需要展示的种类超过9种时,就会重复使用默认的颜色列表。
但是往往不希望使用重复的颜色,可使用如下方法生成随机颜色(此块只暂时关键代码)。
1.在method定义此方法随机生成颜色,this.alarmTypeLine是绑定series的对象
randerColor(){
let arr = [];
this.alarmTypeLine.forEach(item=>{
this.random(arr)
})
return arr;
},
random(arr){
let color = 'rgb(' + [
Math.round(Math.random() * 255),
Math.round(Math.random() * 255),
Math.round(Math.random() * 255)
].join(',') + ')';
if(!arr.some(i=>i==color)){
arr.push(color)
}else{
this.random(arr)
}
},
2.使用
...
series: this.alarmTypeLine,
color:this.randerColor(),
....