echrats 柱状图同时 显示数量和百分比

本文展示了如何使用Echarts库在柱状图中同时显示数据的数量和对应的百分比。通过JavaScript代码实现了一个从接口获取数据,然后处理并绘制柱状图的示例。柱状图的Y轴显示类别,X轴则展示数量和百分比信息。


<script type="text/javascript">
    var numArrbf=[];
    $(function () {
        var commerJson = '${aaaaa!}';//接口
        var xArr = [];
        var numArrNum = 0;
        var allArr = JSON.parse(commerJson);
        var vehArr = getFivel('专用车',allArr);
        var myChart46 = echarts.init(document.getElementById('morth4-6'));
        var option46 = {
            grid: {
                left: '1%',
                right:'14%',
                top:0,
                bottom:0,
                containLabel: true,
            },
            xAxis: {
                type: 'value',
                show:false ,
                splitLine:{
                    show:false
                }
            },
            yAxis: {
                type: 'category',
                axisLabel:{
                    textStyle:{
                        fontSize:12
                    }
                },
                data: vehArr.deptArr
            },
            series: [
                {
                    type: 'bar',
                    barMaxWidth:30,//最大宽度
                    itemStyle:{
                        normal:{
                            color:'#3398DB'
                        }
                    },
                    stack:'nanen',
                    label: {
                        normal: {
                            show: true,
                            color:'#333',
                            position:'right',
                            formatter:function() {
                                for(var i = numArrNum in numArrbf){
                                    var relVal = "";
                                    relVal = numArrbf[numArrNum][0]+",";
                                    relVal += numArrbf[numArrNum][1]+"%";
                                    numArrNum ++;
                                    return relVal;
                                }
                            },


                        }
                    },
                    data: vehArr.vnArr

                }
            ]
        };
        myChart46.setOption(option46);
    });
    function getFivel( vehName ,  allArr) {
        // 车辆数组
        var data = [];
        for (var i in allArr) {
            var vehAll = allArr[i];
            var veh_Name = vehAll.dictName;
            if (vehName == veh_Name) {
//                            省份
                var dept = vehAll.unName;
//                            数量
                var veh_num = vehAll.enteringVeh;
                var veh_per = vehAll.vehRiseRate;

                var veh_data = [dept,veh_num,veh_per];
                data.push(veh_data);

            }
        }
        if (data.length === 0)
        {
            return false;
        }else if (data.length >= 10|| allArr.length - 1 == i) {
            var deptArr = [];
            var vnArr = [];
            var perArr=[];
            for (var i = data.length -1 ; i >= 0 ; i--){
                deptArr.push(data[i][0]);
                vnArr.push(data[i][1]);
                perArr.push(data[i][2]);
                numArrbf.push([data[i][1],data[i][2]]);
            }

            return {'deptArr':deptArr,'vnArr':vnArr,'perArr':perArr,'numArrbf':numArrbf,};
        }
    }

</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值