分工人员数量分布及平均工资

描述:当前是关于Echarts图表中的 柱状图 示例。
 
            //调整双Y轴刻度对齐  (max,min,interval)
function _getMaxValue(arr) {
    const max = Math.max(...arr);
    // 这样处理是为了不让最大值刚好到坐标轴最顶部
    return Math.ceil(max / 9.5) * 10;
}

const data1 = [409, 887, 948, 611, 327, 355, 560, 498, 569];
const data2 = [8447.08, 7800.11, 2843.70, 6547.90, 5170, 6569, 506, 1873, 542];
const max1 = _getMaxValue(data1),
    max2 = _getMaxValue(data2);
option = {
    title: {
        text: '分工人员数量分布及平均工资',
        left: 38,
        top: 18,
        textStyle: {
            color: '#111',
            fontWeight: 'lighter',
            fontSize: 18
        }
    },
    legend: {
        data: ['分工人员数量', '平均工资'],
        type: 'scroll',
        top: '50',
        icon: "circle",
    },
    //提示框
    tooltip: {
        trigger: 'axis',
        showDelay: 0,
        extraCssText: 'padding:15px;font-size:10px',
        formatter: function(params) {
            return params[0].name + '总数' + ' : ' + params[0].value + ' 人' + '<br/>' + params[1].name + '平均工资' + ' : ' + '¥ ' + params[1].value
        },
        axisPointer: {
            show: true,
            type: 'shadow',
        }
    },
    // 直角坐标系内绘图网格
    grid: {
        left: '40',
        right: '40',
        top: '120',
        bottom: '20',
        containLabel: true
    },
    dataZoom: [ //给x轴设置滚动条  
        {
            start: 0, //默认为0  
            end: (8 / 9) * 100, //9代表x轴data.length,8代表可展示的最大数
            type: 'slider',
            show: true,
            xAxisIndex: [0],
            handleSize: 0, //滑动条的 左右2个滑动条的大小  
            height: 12, //组件高度 
            bottom: 0, //右边的距离  
            handleColor: '#ddd', //h滑动图标的颜色  
            handleStyle: {
                borderColor: "#cacaca",
                borderWidth: "1",
                shadowBlur: 2,
                background: "#ddd",
                shadowColor: "#ddd",
            },
            fillerColor: new echarts.graphic.LinearGradient(1, 0, 0, 0, [{
                //给颜色设置渐变色 前面4个参数,给第一个设置1,第四个设置0 ,就是水平渐变  
                //给第一个设置0,第四个设置1,就是垂直渐变  
                offset: 0,
                color: '#7d90a2'
            }, {
                offset: 1,
                color: '#4a5e70'
            }]),
            backgroundColor: '#efefef', //两边未选中的滑动条区域的颜色  
            showDataShadow: false, //是否显示数据阴影 默认auto  
            showDetail: false, //即拖拽时候是否显示详细数值信息 默认true  
            handleIcon: 'M-292,322.2c-3.2,0-6.4-0.6-9.3-1.9c-2.9-1.2-5.4-2.9-7.6-5.1s-3.9-4.8-5.1-7.6c-1.3-3-1.9-6.1-1.9-9.3c0-3.2,0.6-6.4,1.9-9.3c1.2-2.9,2.9-5.4,5.1-7.6s4.8-3.9,7.6-5.1c3-1.3,6.1-1.9,9.3-1.9c3.2,0,6.4,0.6,9.3,1.9c2.9,1.2,5.4,2.9,7.6,5.1s3.9,4.8,5.1,7.6c1.3,3,1.9,6.1,1.9,9.3c0,3.2-0.6,6.4-1.9,9.3c-1.2,2.9-2.9,5.4-5.1,7.6s-4.8,3.9-7.6,5.1C-285.6,321.5-288.8,322.2-292,322.2z',
            filterMode: 'filter'
        },
        //下面这个属性是里面拖到  
        {
            type: 'inside',
            show: true,
            xAxisIndex: [0],
            start: 0, //默认为1  
            end: 50
        },
    ],
    calculable: true,
    xAxis: [{
        type: 'category',
        data: ['工1', '工2', '工3', '工4', '工5', '工6', '工7', '工8', '工9'],
        axisLine: {
            show: false
        },
        axisTick: {
            show: false
        },
    }],
    //工具盒:转换折线,柱状,还原,保存
    toolbox: {
        show: true,
        top: 10,
        right: 20,
        feature: {
            mark: {
                show: true
            },
            magicType: {
                show: true,
                type: ['line', 'bar'],
                smooth: true
            },
            restore: {
                show: true
            },
            saveAsImage: {
                show: true
            }
        }
    },
    yAxis: [{
        type: 'value',
        name: '人数(人)',
        axisLine: {
            show: false
        },
        axisTick: {
            show: false
        },
        min: 0,
        max: max1,
        splitNumber: 5,
        interval: max1 / 5,
    }, {
        type: 'value',
        name: '金额(元)',
        axisLine: {
            show: false
        },
        axisTick: {
            show: false
        },
        //默认以千分位显示,不想用的可以在这加一段
        axisLabel: { //调整左侧Y轴刻度, 直接按对应数据显示
            show: true,
            showMinLabel: true,
            showMaxLabel: true,
            formatter: function(value) {
                return value;
            }
        },
        splitNumber: 5,
        interval: max2 / 5,
        min: 0,
        max: max2
    }],
    series: [{
        name: '工种人员数量',
        type: 'bar',
        color: '#3e86ff',
        yAxisIndex: 0,
        barWidth: 20,
        itemStyle: {
            emphasis: {
                barBorderRadius: 4
            },
            normal: {
                barBorderRadius: 4,
            }
        },
        data: [409, 887, 948, 611, 327, 355, 560, 498, 569]
    }, {
        name: '工种平均工资',
        type: 'bar',
        color: '#47ace7',
        yAxisIndex: 1,
        barWidth: 20,
        itemStyle: {
            emphasis: {
                barBorderRadius: 4
            },
            normal: {
                barBorderRadius: 4,
            }
        },
        data: [8447.08, 7800.11, 2843.70, 6547.90, 5170, 6569, 506, 1873, 542],
    }]
}