echart条形堆叠图数据渲染

echart条形堆叠图数据渲染

html

<div id="harmResult"></div>

js

 function initAnnualRiskFactors() {
        // 危害因素结果图
        var harmResult = echarts.init(document.getElementById("harmResult"));
        option2 = {
            tooltip: {
                trigger: 'axis',
                axisPointer: {            // 坐标轴指示器,坐标轴触发有效
                    type: 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
                }
            },
            legend: {
                data: [],
                y:20,
            },
            grid: {
                left: '3%',
                right: '4%',
                bottom: '3%',
                containLabel: true
            },
            xAxis: {
                type: 'value',
            },
            yAxis: {
                type: 'category',
                data: []
            },
            series: []
        };
        harmResult.setOption(option2);
        var yearS = [];
        var typeS = [];
        var typeName = [];
        $.ajax({
            type: 'post',
            url: "/sdc/jieKou?companyId=" +companyId,
            success: function (r) {
                if (r.code==0){
                    var colorData = ['#f04bfa','#02e7fb','#50c427','#5649f9','#fb9005','#fa5403'];
                    var seriesdata = [];
                    var resdata = r.data;
                    $.each(resdata,function (index,element) {
                        if(yearS.indexOf(element.time) == -1){
                            yearS.push(element.time);
                        }
                        if(typeS.indexOf(element.classifyId) == -1){
                        //我是因为后台没有传具体名称过来,你们有的可以直接传入数组
                            var name;
                            if(element.classifyId == 1){
                                name = '图例1'
                            }else if(element.classifyId == 2){
                                name = '图例2'
                            }else if(element.classifyId == 3){
                                name = '图例3'
                            }else if(element.classifyId == 4){
                                name = '图例4'
                            }else if(element.classifyId == 5){
                                name = '图例5'
                            }else if(element.classifyId == 6){
                                name = '图例6'
                            }
                            typeS.push(element.classifyId);
                            typeName.push(name);
                        }
                    })
                    $.each(typeS,function (index,element) {
                        var name2;
                        if(element == 1){
                            name2 = '图例1'
                        }else if(element == 2){
                            name2 = '图例2'
                        }else if(element == 3){
                            name2 = '图例3'
                        }else if(element == 4){
                            name2 = '图例4'
                        }else if(element == 5){
                            name2 = '图例5'
                        }else if(element == 6){
                            name2 = '图例6'
                        }
                        var json = {};
                        var tmpo = {
                            name:name2,
                            type:'bar',
                            stack: '总量',
                            label: {
                                show: true,
                                position: 'insideRight'
                            },
                        };
                        $.each(resdata,function (index,ele) {
                            var nameId;
                            if(ele.classifyId == 1){
                                nameId = '图例1'
                            }else if(ele.classifyId == 2){
                                nameId = '图例2'
                            }else if(ele.classifyId == 3){
                                nameId = '图例3'
                            }else if(ele.classifyId == 4){
                                nameId = '图例4'
                            }else if(ele.classifyId == 5){
                                nameId = '图例5'
                            }else if(ele.classifyId == 6){
                                nameId = '图例6'
                            }
                            if(ele.classifyId == element){
                                json[ele.time] = ele.total;
                            }
                        })
                        $.each(yearS,function (index,date) {
                            if(!json[date]){
                                json[date] = '';
                            }
                        })
                        var data = [];
                        $.each(yearS,function (index,date) {
                            for(var k in json){
                                if(k == date){
                                    data.push(json[date]);
                                }
                            }
                        })
                        tmpo.data = data;
                        seriesdata.push(tmpo);
                    })
                    harmResult.setOption({
                        color:colorData,
                        legend:{
                            data:typeName,
                            y:20,
                        },
                        yAxis:{
                            type: 'category',
                            data:yearS
                        },
                        series:seriesdata
                    })
                }

            }
        });
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值