echarts 柱状图颜色设置

  • 2019-05-05
    在使用echarts时,遇到一个问题,就是本来应该直接在color中设置的多个颜色不起左右,只显示第一个颜色

用demo中的代码举例:

option = {
    color: ['#c23531','#2f4554', '#61a0a8'],
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [120, 200, 150, 80, 70, 110, 130],
        type: 'bar'
    }]
};

对应显示的样式为:

在这里插入图片描述

这种情况下更改柱形图颜色的话,可以这样写:

option = {
	//这里就不重要了,可以删掉
    color: ['#c23531','#2f4554', '#61a0a8'],
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [120, 200, 150, 80, 70, 110, 130],
        type: 'bar',
        itemStyle: {
            normal: {
        //这里是重点
                color: function(params) {
                	//注意,如果颜色太少的话,后面颜色不会自动循环,最好多定义几个颜色
                    var colorList = ['#c23531','#2f4554', '#61a0a8', '#d48265', '#91c7ae','#749f83', '#ca8622'];
                    return colorList[params.dataIndex]
                }
            }
        }
    }]
};

如果希望自动循环已经有的颜色循环显示,可以添加一个判断:

	//给大于颜色数量的柱体添加循环颜色的判断
	if (params.dataIndex >= colorList.length) {
	    index = params.dataIndex - colorList.length;
	}

最终效果图:

在这里插入图片描述

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值