厦门优芽网络科技有限公司

描述:当前是关于Echarts图表中的 柱状图 示例。
 
            // note: 设置灰色背景色的长度的逻辑不够好,请自行调整
var honorData = [
    {name: "校级", data: [100, 92, 150, 200, 50]},
    {name: "区县级",data: [500, 920, 500, 50, 0]},
    {name: "市级",data: [90, 50, 102, 50, 100]},
    {name: "国家级",data: [100, 121, 92, 50, 0]}
];
var legendData = [],
    sumArray = [],
    honorXAxisData = ["科技创新", "艺术活动", "体育比赛", "优势科目", "先进个人"];
var maxArray = [];
var sumData1 = null;
var sumData2 = null;
var sumData3 = null;
var sumData4 = null;
var sumData5 = null;
honorData.map(function(a, b) {
    legendData.push(a.name);
    a.data.map(function(x, y) {
        switch (y) {
            case 0:
                sumData1 += x;
                break;
            case 1:
                sumData2 += x;
                break;
            case 2:
                sumData3 += x;
                break;
            case 3:
                sumData4 += x;
                break;
            case 4:
                sumData5 += x;
                break;
        }
    });
});
maxArray.push(sumData1, sumData2, sumData3, sumData4, sumData5);
// 设置灰色背景色的长度
var isMax = maxArray.sort(function(a, b) {
    return b - a
})[0] * 1.1;
var bjData1 = [isMax, isMax, isMax, isMax, isMax];
var bjData2 = [isMax + 20, isMax + 20, isMax + 20, isMax + 20, isMax + 20];
var option = {
    tooltip: {
        trigger: "axis",
        axisPointer: {
            type: "none"
        },
        // show: true,
        // backgroundColor: '#fff',
        borderColor: "#ddd",
        textStyle: {
            // color: '#3c3c3c',
            fontSize: 16
        },
        formatter: function(p) {
            var relVal = p[0].name;
            var sum = 0;
            for (var z = 0; z < p.length; z++) {
                if (!(p[z].seriesName == 1001 || p[z].seriesName == 1000)) {
                    sum += p[z].value;
                }
            }
            for (var i = 0; i < p.length; i++) {
                if (!(p[i].seriesName == 1001 || p[i].seriesName == 1000)) {
                    relVal += "<br>" + p[i].marker + p[i].seriesName + " " + p[i].value + " " + "(" + ((100 * parseFloat(p[i].value)) / parseFloat(sum)).toFixed(2) + "%)";
                }
            }
            return relVal;
        }
    },
    backgroundColor: "#ffffff",
    color: ["#ec407a", "#26aaff", "#7156ff", "#05ce91", "#efefef", "#eef2f7"],
    legend: {
        data: legendData,
        x: "center",
        y: "bottom",
        itemWidth: 20,
        itemHeight: 20,
        itemGap: 30, // 例间距
        padding: 30,
        textStyle: {
            color: "#666666",
            fontSize: 16
        }
    },
    grid: {
        left: "10%",
        right: "10%",
        bottom: "5%",
        top: "5%",
        containLabel: true
    },
    xAxis: [{
            type: "value",
            show: false
        },
        {
            type: "value",
            show: false
        }
    ],
    yAxis: [{
            type: "category",
            axisLine: {
                show: false
            },
            axisTick: {
                show: false
            },
            axisLabel: {
                color: "#333333",
                fontSize: 16, // 文字大小
                fontWeight: 400,
                interval: 0
            },
            offset: 20,
            data: honorXAxisData
        },
        {
            type: "category",
            axisLine: {
                show: false
            },
            axisTick: {
                show: false
            },
            axisLabel: {
                color: "#fff",
                fontSize: 36,
                fontWeight: 300,
                interval: 0
            }
        }
    ],
    series: [{
            name: "校级",
            type: "bar",
            barWidth: 20,
            stack: "总量",
            itemStyle: {
                normal: {
                    show: true,
                    barBorderRadius: [30, 0, 0, 30]
                }
            },
            zlevel: 10,
            data: honorData[0].data
        },
        {
            name: "区县级",
            type: "bar",
            barWidth: 20,
            stack: "总量",
            zlevel: 10,
            data: honorData[1].data
        },
        {
            name: "市级",
            type: "bar",
            stack: "总量",
            barWidth: 20,
            zlevel: 10,
            data: honorData[2].data
        },
        {
            name: "国家级",
            type: "bar",
            barWidth: 20,
            stack: "总量",
            zlevel: 10,
            data: honorData[3].data
        },
        {
            name: "1000",
            type: "bar",
            barGap: "-100%",
            barWidth: 20,
            itemStyle: {
                normal: {
                    barBorderRadius: [30, 30, 30, 30]
                }
            },
            xAxisIndex: 0,
            // yAxisIndex: 1,
            data: bjData1,
            emphasis: {
                itemStyle: {
                    color: '#efefef'
                }
            },
            zlevel: 5
        },
        // {
        //     name: "1001",
        //     type: "bar",
        //     barGap: "-120%",
        //     barWidth: 30,
        //     itemStyle: {
        //         normal: {
        //             barBorderRadius: [30, 30, 30, 30]
        //         }
        //     },
        //     // xAxisIndex: 0,
        //     yAxisIndex: 1,
        //     data: bjData2,
        //     emphasis: {
        //         itemStyle: {
        //             color: '#eef2f7'
        //         }
        //     },
        //     zlevel: 0
        // }
    ]
}