怎么在echarts上多个y轴

本文为非前端背景的Java开发者提供ECharts使用指南,详细介绍图表配置项,并分享实战经验。

最近被叫去写数据后台的页面,嗯,我是一个java开发,还是偏数据方向,但是,不能让cto和师傅失望,ok,但是会写的慢一点。(说这句话的时候我已经给后台写了7个页面,包括接口和sql)。

其实echarts对前端来说挺简单的,我主要写给那些和我一样非前端的,如有错误,可以提,不接受批评,谢谢。

这里写图片描述

这里写代码片
var lineChartDataOne = {
        title: {
            text: ''
        },
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'cross',
                label: {
                    backgroundColor: '#6a7985'
                }
            }
        },
        toolbox: {
            feature: {
                dataZoom: {
                    yAxisIndex: 'none'
                },
                restore: {},
                saveAsImage: {}
            }
        },
        legend: {
            data:['整体销售率','供应商销售率','整体收入','供应商收入'],
            x: 'right'
        },
        toolbox: {
            feature: {
                saveAsImage: {}
            }
        },
        grid: {
            left: '3%',
            right: '4%',
            bottom: '3%',
            containLabel: true
        },
        dataZoom: [
                // {    //是否显示下方拖拉条
            //     show: true,
            //     realtime: true,
            //     start: 65,
            //     end: 85
            // }
            // ,
            {
                type: 'inside',
                realtime: true,
                start: 0,
                end: 100
            }
        ],
        xAxis: [
            {
                type: 'category',
                boundaryGap: false,
                data: []
            }
        ],
        yAxis: [
            {       //两个y轴,同理两个x轴也一样
                name: '销售率(%)',
                type: 'value',
                max: null
            },
            {
                name: '收入(元)',
                //nameLocation: 'start',
                max: null,
                type: 'value',
                inverse: false //起始点
            }
        ],
        series: [
            {
                name: '整体销售率',
                type: 'line',
                //stack: '总量', //折线是否带下方阴影

                //areaStyle: {normal: {}},
                data: []
            },
            {
                name: '供应商销售率',
                type: 'line',
                //stack: '总量',

                //areaStyle: {normal: {}},
                data: []
            },
            {
                name: '整体收入',
                type: 'line',
                yAxisIndex:1,
                //stack: '总量',

                smooth:true,
                //areaStyle: {normal: {}},
                data: []
            },

            {
                name: '供应商收入',
                type: 'line',
                yAxisIndex:1,
               // stack: '总量',

                smooth:true,
                //areaStyle: {normal: {}},
                data: []
            }

        ]
    },

聪明的小伙伴看代码就能看懂了把,如果不懂就问我或者去echarts官网的配置项里全局搜索。

之后的效果是这样的:
(改天去公司截图—-汗)

欢迎关注我的微博@住街对面的查理,我的生活很有趣,你要不要来看一看。

### 如何在 ECharts 中设置和使用多个 Y #### 多个 Y 的配置方法 为了在 ECharts 图表中添加多个 Y ,`yAxis` 属性应被定义为一个数组。每个对象代表不同的 Y ,并可以通过 `name`, `type`, 和其他属性来定制这些的行为与外观[^2]。 对于多 Y 的支持,ECharts 提供了灵活的方式去调整它们的位置以及样式。通过修改 `offset` 参数能够有效防止不同之间的重叠现象发生;而利用 `position` (可选值:"left", "right") 则能指定各所在边框侧边[^4]。 #### 示例代码展示 下面是一个简单的例子,在此案例里创建了一个折线图并设置了两条独立的 Y : ```javascript var chartDom = document.getElementById('main'); var myChart = echarts.init(chartDom); var option; option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: [ { // 第一条Y type: 'value', name: '温度(°C)', position: 'left' }, { // 第二条Y type: 'value', name: '降水量(mm)', position: 'right' } ], series: [ { name:'最高气温', type:'line', yAxisIndex: 0, data:[11, 11, 15, 13, 12, 13, 10] }, { name:'最低气温', type:'line', yAxisIndex: 0, data:[1, -2, 2, 5, 3, 2, 0] }, { name:'降雨量', type:'bar', yAxisIndex: 1, data:[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6] } ] }; myChart.setOption(option); ``` 在这个实例中,三条数据序列分别对应于两个不同的 Y :前两者关联左侧的第一条 Y (表示温度),后者则连接右侧第二条 Y (用于描述降水)。注意这里使用的 `yAxisIndex` 来指明具体要绑定哪一个 Y [^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值