Echarts多系多y轴的配置

有时候在一个图形中需要显示的对象多样化,一个y轴并不能满足我们的需求。这时我们就需要配置多个y轴


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>多系柱状图</title>
    <!-- 引入 echarts.js -->
    <script src="js/echarts.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 1200px;height:600px;"></div>
<script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));
    var colors = ['#FD2446','#248EFD','#C916F2','#6669B1'];//自定义一个颜色数组,多系时会按照顺序使用自己定义的颜色数组,若不定义则使用默认的颜色数组
    var months = ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'];
    // 指定图表的配置项和数据
    var option = {
        color:colors,
        title: {//标题,可以自定义标题的位置和样式
            text: '某地区的、单位数、职工人数、和平均工资'
        },
        legend: {//图例,每一个系列独有一个图例,注意:图例的名字必须跟下面series数组里面的name一致。
            data: ['单位数','职工数', '平均工资' ],
        },
        tooltip: {//鼠标悬浮时的样式,可自定义
            trigger: 'axis',
            axisPointer : {            // 坐标轴指示器,坐标轴触发有效
                type : 'cross'        // 默认为直线,可选为:'line' | 'shadow'
            }
        },
        xAxis: {//x轴的配置
            data: months
        },

        yAxis: [
            {//第一个y轴位置在左侧
                position:'left',
                type : 'value',
                name: '单位数',
                axisLine: {
                    lineStyle: {
                        color: colors[0]
                    }
                },
                axisLabel: {
                    formatter: '{value} 个'
                }
            },
            {//第二个y轴在右侧
                position:'right',
                type : 'value',
                name: '职工数',
                axisLine: {
                    lineStyle: {
                        color: colors[1]
                    }
                },
                axisLabel: {
                    formatter: '{value} 人'
                }
            },
            {//第三个y轴也在右侧,距第二个70个像素
                position:'right',
                offset:70,
                type : 'value',
                name: '平均工资',
                axisLine: {
                    lineStyle: {
                        color: colors[2]
                    }
                },
                axisLabel: {
                    formatter: '{value} 万元'
                }
            }
        ],
        toolbox: {//工具栏组件
            show : true,
            feature : {
                magicType : {show: true, type: ['line', 'bar']},//柱状图和折线图相互转换
                dataView:{
                    show: true,
                    title: '某地区的、单位数、职工人数、和平均工资'
                    }
                },
                saveAsImage : {show:true},//保存图片
                restore : {show: true}//还原

        },
        series:[
        {
            name:'单位数',
            type:'bar',
            barMaxWidth:'20%',
            label:{
                normal:{
                    show:true,
                    position:'top'
                }
            },
            yAxisIndex:'0',//使用第一个y轴,序号从0开始
            data: [23,27,28,30,34,36,39,41,45,46,56,60]
        },
        {
            name:'职工数',
            type:'bar',
            barMaxWidth:'20%',
            label:{
                normal:{
                    show:true,
                    position:'top'
                }
            },
            yAxisIndex:'1',//使用第二个y轴
            data:[1500,1700,1750,1800,1850,1900,1910,1941,1980,2000,2100,2200]
        },
        {
            name:'平均工资',
            type:'bar',
            barMaxWidth:'20%',
            label:{
                normal:{
                    show:true,
                    position:'top'
                }
            },
            yAxisIndex:'2',//使用第三个y轴
            data:[3500,3600,4200,4800,5500,6500,4900,3500,5400,5500,6500,7000]
        }
    ]
    };

    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
</script>
</body>
</html>

下面是效果图:




  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值