echarts实现双y轴

我们在一个折线图中展示多个数据的时候,如果两个数据的数量级相差很大,会造成数量级低的数据折线图被压缩成一条很直的线,如下图:

解决办法是使用双y轴:

 $scope.echart21 = {
        legend: {
            show: 'true',
            data: ['ns_csiqcs', 'ns_lbi', 'ns_cap', 'ns_spider'],
            right: 0
        },
        title: {
            // subtext: 'GB/日',
            left: 'center',
            top: '10px',
            text: 'nameSpace Top5',
        },
        tooltip: {
            trigger: 'axis'
        },
        xAxis: {
            axisLabel: {
                rotate: 45
            },
            type: 'category',
            name: '时间',
            boundaryGap: false,
            data: ["2017082812", "2017082813", "2017082814"],
        },
        yAxis: [{
            name: 'GB/日',
            type: 'value'
        }, {
            name: 'GB/日',
            type: 'value'
        }],
        series: [{
            name: 'ns_csiqcs',
            type: 'line',
            yAxisIndex: 1,
            data: [10, 23, 58],
        }, {
            name: 'ns_lbi',
            type: 'line',
            data: [644183, 945711, 965962],
        }, {
            name: 'ns_cap',
            type: 'line',
            data: [55096, 27366, 289103],
        }, {
            name: 'ns_spider',
            type: 'line',
            data: [153222, 121460, 363895],
        }],
    }

注意两个关键点:

yAxis: [{
            name: 'GB/日',
            type: 'value'
        }, {
            name: 'GB/日',
            type: 'value'
        }],

yAxis的值设置为数组,指定两个数轴

 series: [{
            name: 'ns_csiqcs',
            type: 'line',
            yAxisIndex: 1,
            data: [10, 23, 58],
        }, {
            name: 'ns_lbi',
            type: 'line',
            data: [644183, 945711, 965962],
        }, {
            name: 'ns_cap',
            type: 'line',
            data: [55096, 27366, 289103],
        }, {
            name: 'ns_spider',
            type: 'line',
            data: [153222, 121460, 363895],
        }],

series中通过字段yAxisIndex来指定应用哪个y轴,计数从0开始。代码中ns_csiqcs的yAxisIndex指定了1,所以它应用第二个数轴。

结果如下:

明显可见,图2比图1更能直观地展示数据趋势。

欢迎留言交流,我的github:https://github.com/njueyupeng

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
对于echarts左右y轴刻度,可以采用以下几种方法来解决: 1. 让两个坐标轴共用一个最大值,可以保持刻度一致。即,在两个y轴数组中找到最大值,然后将它作为共同的最大值。 2. 使用JavaScript中的Math.max方法来获取左右y轴数组的最大值,然后将两个最大值中的较大值作为共同的最大值。这样可以确保两个y轴的刻度一致。 以上方法可以确保echarts左右y轴的刻度保持一致,使图表更加清晰和易于比较。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [echartsy轴实现(解决刻度线不对齐)](https://blog.csdn.net/m0_55546349/article/details/121786189)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [MATLAB代码示例,用于建立模型表示物理或工程系统,并使用矩阵代数来描述系统的动态性质(附详细操作步骤)...](https://download.csdn.net/download/weixin_44609920/88237902)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值