Echarts 颜色重复问题

默认 Echarts 仅有 9 种颜色,如果超过则会出现重复,导致用户体验不是很好。

现在提供一种解决思路。超过则使用随机颜色填充:

ts 复制代码
function generateColors(count: number) {
  const defaultColors = [
    '#5D82DB',
    '#73D13D',
    '#F7B500',
    '#FA541C',
    '#FD8D3C',
    '#999999',
    '#73c0de', // 浅蓝
    '#3ba272', // 深绿
    '#9a60b4', // 紫色
    '#ea7ccc', // 粉色
  ]

  if (count <= defaultColors.length) {
    return defaultColors
  }

  // 否则随机生成 count - defaultColors.length 个颜色
  const colors = [...defaultColors]
  
  for (let i = defaultColors.length; i < count; i++) {
    colors.push(`#${Math.floor(Math.random() * 16777215).toString(16)}`)
  }

  return colors
}

使用

ts 复制代码
{
  const getOption = (total: number) => {
    const colors = generateColors(data.length)

    const op: echarts.EChartsOption = {
      animation,
      // @ts-expect-error
      color: colors,
    }
}
相关推荐
B站_计算机毕业设计之家5 天前
电影知识图谱推荐问答系统 | Python Django系统 Neo4j MySQL Echarts 协同过滤 大数据 人工智能 毕业设计源码(建议收藏)✅
人工智能·python·机器学习·django·毕业设计·echarts·知识图谱
吴声子夜歌12 天前
RxJava——Subscriber
android·echarts·rxjava
小白探索世界欧耶!~13 天前
Vue2项目引入sortablejs实现表格行拖曳排序
前端·javascript·vue.js·经验分享·elementui·html·echarts
吴声子夜歌16 天前
RxJava——调度器Scheduler
android·echarts·rxjava
吴声子夜歌17 天前
RxJava——并行编程
android·echarts·rxjava
吴声子夜歌19 天前
RxJava——FlowableProcessor详解
android·echarts·rxjava
B站_计算机毕业设计之家20 天前
电影市场预测分析系统 | Python Django Echarts 票房可视化分析 大数据 人工智能 毕业设计源码(建议收藏)✅
大数据·数据库·python·机器学习·django·毕业设计·echarts
吴声子夜歌20 天前
RxJava——Subject详解
android·echarts·rxjava
吴声子夜歌20 天前
RxJava——被观察者
android·echarts·rxjava
vx_biyesheji000120 天前
电影个性化推荐与分析系统 | Python Django 协同过滤 Echarts 词云分析 大数据 人工智能 deepseek 毕业设计源码(建议收藏)✅
大数据·人工智能·python·机器学习·django·毕业设计·echarts