Echarts 柱状图设置颜色

本文介绍了如何在ECharts柱状图中为不同图例设置不同颜色,包括手动指定颜色列表、使用循环判断和取余操作实现颜色的自动轮换。方法适用于颜色较多或希望颜色循环的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在echarts柱状图中,如果我们想给不同的图例设置不同的颜色的话,可以这样设置:

option2: {
            xAxis: {
                type: 'category',
                data: [],
            },
            yAxis: {
                type: 'value'
            },
            series: [
                {
                    data: [],
                    type: 'bar',
                    showBackground: true,
                    backgroundStyle: {
                        color: 'rgba(111, 162, 135, 0.2)'
                    },
                    itemStyle: {
                        normal: {
                            //这里是颜色
                            color: function(params) {
                                //注意,如果颜色太少的话,后面颜色不会自动循环,最好多定义几个颜色
                                var colorList = ['#00A3E0','#FFA100', '#ffc0cb', '#CCCCCC', '#BBFFAA','#749f83', '#ca8622'];
                                return colorList[params.dataIndex]
                            }
                        }
                    }
                }

            ]
        },

这样的效果图就出来了。如下图:
在这里插入图片描述
如果你的颜色比较多,或者说希望自动循环已经有的颜色,想让它循环显示,可以添加一个判断:

if (params.dataIndex >= colorList.length) {
	    index = params.dataIndex - colorList.length;
	}

当然:也有更简便的方法,用取余可以实现快捷的循环

color:function(params){ 
    var colorList = ['#c23531','#2f4554', '#61a0a8', '#d48265', '#91c7ae','#749f83', '#ca8622']; 
    return colorList[params.dataIndex % colorList.length];
 }

这是把第一个循环改进的方法,大家可以借鉴:

itemStyle: {
 normal: {
      //这里是重点
      color: function(params) {
          //注意,如果颜色太少的话,后面颜色不会自动循环,最好多定义几个颜色
          var colorList = ['#c23531','#2f4554', '#61a0a8', '#d48265', '#91c7ae','#749f83', '#ca8622'];
          var index;
          //给大于颜色数量的柱体添加循环颜色的判断
          if (params.dataIndex >= colorList.length) {
             index = params.dataIndex - colorList.length;
             return colorList[index];
          }
          return colorList[params.dataIndex];
      }
    }
 }

这也是一种改进:

itemStyle: {
 normal: {
      //这里是循环开始的地方
      color: function(params) {
		  var colorList = ['#C6D0D3', '#92CDBB', '#EDD977', '#E89F6A']
		  if (params.dataIndex >= colorList.length) {
				params.dataIndex = params.dataIndex - colorList.length
			}
		  return colorList[params.dataIndex]
		},
    }
 }

好了,今天的分享就到这里,后续我知道了别的方法还会继续分享的,希望大家继续关注我!!!

echarts中,可以通过设置series中的itemStyle属性来为柱状图指定颜色。具体的设置方法如下: 在series中的data数组中,可以为每一个柱子单独设置颜色。例如,如果想要给第一个柱子设置颜色,可以在data数组中设置一个对象,对象中包含value属性和itemStyle属性,其中itemStyle属性中的color属性可以指定柱子的颜色。具体代码如下: series: [{ name: '销量', type: 'bar', data: [ { value: 25, itemStyle: { color: '#b6dcb6' } }, 24, 20, 36, 1, 10, 20 ] }] 这样,第一个柱子的颜色就会被设置为#b6dcb6。 如果想要设置其他柱子的颜色,可以按照同样的方式在data数组中添加相应的对象并设置color属性。这样,每个柱子的颜色都可以被单独设置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [echarts 柱状图渐变色背景](https://download.youkuaiyun.com/download/qq_36437172/12418565)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [echarts 柱状图颜色和显示设置](https://blog.youkuaiyun.com/qiudechao1/article/details/97623995)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [echarts柱状图某个柱子设置颜色](https://blog.youkuaiyun.com/weixin_51609337/article/details/117258323)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值