echars柱状图怎么每个柱子设置不同颜色

需求引出

在有的时候,我们需要给柱状图的每根柱子设置不同的颜色,或者是每几个柱子设置不同的颜色,如下图所示:

方法一

在 series 下 data 同级别中,增加一个 itemStyle 对象的属性,给color 返回一个数组

如下代码所示:

javascript 复制代码
    series: [
      {
        data: [10, 30, 20, 14, 23, 32, 34],
        //设置每个柱子不同的颜色
        itemStyle: {
          color: function (params) {
            // 根据params的
            const colorsMap = [
              '#4FE773',
              'red',
              'blue',
              '#CAC8CA',
              'yellow',
              'pink',
              'rgb(10,58,6)'
            ]
            //返回对应的颜色
            return colorsMap[params.dataIndex]
          }
        },
        type: 'bar',
        showBackground: true,
        color: '#4FE773',
        backgroundStyle: {
          color: 'rgba(180, 180, 180, 0.2)'
        }
      }
    ]

方法二

给 itemStyle 设置 normal 对象,每个柱子的颜色即为colorList数组里的每一项,如果柱子数目多于colorList的长度,则柱子颜色循环使用该数组

代码如下:

javascript 复制代码
        itemStyle: {
          normal: {
            //每个柱子的颜色即为colorList数组里的每一项,如果柱子数目多于colorList的长度,则柱子颜色循环使用该数组
            color: function (params) {
              var colorList = [
                'rgb(164,205,238)',
                'rgb(42,170,227)',
                'rgb(25,46,94)',
                'rgb(195,229,235)'
              ]
              return colorList[params.dataIndex]
            }
          }
        },

每根柱子随机颜色

我们可以使用 Math.random() 根 rgb 的模式随机生成颜色给每一个柱子

代码如下:

javascript 复制代码
        itemStyle: {
          color: function () {
            return (
              '#' +
              Math.floor(Math.random() * (256 * 256 * 256 - 1)).toString(16)
            )
          }
        },
相关推荐
Pro_er9 小时前
Vue3状态管理终极指南:Pinia保姆级教程
vue·前端开发
计算机学姐14 小时前
基于Asp.net的零食购物商城网站
vue.js·vscode·后端·mysql·sqlserver·vue·asp.net
程序员小白条15 小时前
【大学生体质】智能 AI 旅游推荐平台(Vue+SpringBoot3)-完整部署教程
java·程序员·vue·springboot·毕设·管理系统·课设
狼性书生17 小时前
uniapp实现的个人中心页面(仿小红书)
uni-app·vue
汤姆yu1 天前
基于大数据的商品数据可视化及推荐系统
大数据·python·信息可视化·echarts·商品可视化
sailven1 天前
【uniapp】图片添加canvas水印
uni-app·vue·canvas·拍照·图片水印
小C好好干饭1 天前
vue-cli + echarts 组件封装 (Vue2版)
前端·vue.js·echarts
啥也不会-啥都先学1 天前
echarts中使用geo3d绘制地图添加定位点时给symbol设置图片不显示
前端·echarts
巴巴博一2 天前
Nginx部署spa单页面的小bug
运维·nginx·vue
weixin_443566982 天前
MVVM 模式和 MVC 模式区别
vue