分享一个echarts直条状效果图

简单需求: 一个固定长度的直条,里面分为五部分,每部分按百分比显示不同颜色~
效果图~
这里写图片描述

配置~

    var myChart = echarts.init(document.getElementById(id));

    var option = {
        color: ['#727272', '#5682CB', '#C790B8', '#FACD8A', '#8CCCCB'],
        legend: {
            bottom: "15%",
            right: "2%",
            itemWidth: 8,
            itemHeight:8,
            data: [
                {
                    name:'0-10dBm',
                    icon : 'circle' // 可爱的小点点~
                },
                {
                    name:'11-15dBm',
                    icon : 'circle'
                },
                {
                    name:'16-20dBm',
                    icon : 'circle'
                },
                {
                    name:'21-25dBm',
                    icon : 'circle'
                }
                ,
                {
                    name:'26-30dBm',
                    icon : 'circle'
                }
            ],
            formatter:function(name){ // 格式处理
                var datas = option.series;
                for(var i = 0; i< datas.length ; i++){
                    if(name == datas[i].name){
                        return name +' '+(datas[i].data[0])+ '%';
                    }
                }
            }
        },
        tooltip : {
            trigger: 'item',
            formatter: " {a} : <br/>  {c}%"

        },
        grid: {
            left: '0%',
            right: '2%',
            top: '40%',
            bottom: '30%',
            width: "98%",
            containLabel: true
        },
        xAxis:  {
            type: 'value',
            max: 100, // 总长为100% 
            show:false
        },
        yAxis: {
            type: 'category',
            data: [' '],
            show:false
        },
        series: [ // 
            {
                name: '0-10dBm',
                type: 'bar',
                stack: '总量',
                data: [30] // 计算得到此部分相应百分比 
            },
            {
                name: '11-15dBm',
                type: 'bar',
                stack: '总量',
                data: [12]  // 计算得到此部分相应百分比 
            },
            {
                name: '16-20dBm',
                type: 'bar',
                stack: '总量',
                data: [22] // 计算得到此部分相应百分比 
            },
            {
                name: '21-25dBm',
                type: 'bar',
                stack: '总量',
                data: [15] // 计算得到此部分相应百分比 
            },
            {
                name: '26-30dBm',
                type: 'bar',
                stack: '总量',
                data: [21] // 计算得到此部分相应百分比 
            }
        ]
    };


    myChart.setOption(option);
    window.addEventListener("resize", function () {//每个图 自适应
        myChart.resize();
    });
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值